之前写过一篇
类似的文章,是利用PPTP + iptables + redsocks,但由于新版IOS上已经不支持PPTP了,所以这里面就换用IPSec来实现。
新版的gost也已经支持透明代理,redsocks也可以省去了,所以理论上这种方法要比之前的简单许多。
再把透明代理跑起来:
gost -L redirect://:12345 -F http2://SERVER_IP:443?ping=30
若要避免DNS污染,可以再利用DNS转发:
gost -L udp://:1053/
8.8.8.8:53?ttl=5 -L redirect://:12345 -F http2://SERVER_IP:443?ping=30
剩下的就是iptables了,修改/etc/iptables.rules文件,在nat中增加:
-A PREROUTING -i eth+ -p udp --dport 53 -j DNAT --to LOCAL_IP:1053
-A PREROUTING -p tcp -j REDSOCKS
-A OUTPUT -p tcp -j REDSOCKS
-A REDSOCKS -d SERVER_IP -j RETURN
-A REDSOCKS -p tcp -j REDIRECT --to-ports 12345
上面看上去是不是还是挺麻烦的,其实还有一种更简单的办法,就是利用端口转发,将VPN直接映射到本地:
gost -L udp://:500/SERVER_IP:500 -L udp://:4500/SERVER_IP:4500 -L udp://:1701/SERVER_IP:1701 -F http2://SERVER_IP:443
这样本地就不用安装配置任何东西就可以作为VPN服务了。