局域网内利用路由表定向某些 IP 到某台单网卡内网 Linux 主机,求评价。

2014-12-21 22:44:06 +08:00
 nkcfc
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干扰)。
2297 次点击
所在节点    问与答
0 条回复

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/155576

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX