这是一个创建于 3643 天前的主题,其中的信息可能已经有所发展或是发生改变。
Linux主机上使用openconnect连接国外服务器,虚拟网卡为tun0,物理网卡为eth0,虚拟地址为192.168.8.1/24,局域网为10.10.10.0/24,Linux主机为10.10.10.3。
在路由器上设置路由表,使得173.0.0.0/24被改变路由。
173.0.0.0/24->10.10.10.3
192.168.8.1/24->10.10.10.3
Linux主机执行了如下命令
echo "1" > /proc/sys/net/ipv4/ip_forward
iptables -t nat -A POSTROUTING -o tun0 -j MASQUERADE
iptables -A FORWARD -i eth0 -o tun0 -j ACCEPT
iptables -A FORWARD -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT
这样确实可以用,但是ping跟普通的不一样,会有ICMP Redirect Host,不影响上网。
时间长了或者流量大了会导致Linux主机也无法通过tun0上网了,重开openconnect一切恢复正常。
求对这种方案给出评价与建议,以及如何避免ICMP Redirect Host,可以保证不掉线的vpn软件有哪些(可以不被G*F^W干扰)。
第 1 条附言 · 2014-12-21 23:21:56 +08:00
其实我的需求很简单,一台主机全部流量走国外,不考虑什么墙,路由器上通过路由表直接控制,不考虑网址,直接定向全网段谷歌IP或者其他网站的,不是别人研究的智能翻墙。但是需要稳定,永不掉线,掉线会自己重连,就是不用维护,除非国外服务器出问题了。