最近发现 strongswan 更新到了 5.5.1 版本据说解决 iOS9 和 iOS10 的兼容性问题(连接 8 分钟就断线?)
因此我把正常用的 5.3.5 升级到了 5.5.1 .当然是手工编译,用
https://github.com/quericy/one-key-ikev2-vpn 一键安装版本。可是实际上发现我的华为 mate8 (安卓 6 )自带的 vpn 拨号软件,拨号我的 VPS ,出现能拨号成功,但是不能上网。
详细回滚重新检测一下,在 strongswan 5.3.5 下
先开手机的中国移动 4G ,然后开始拨号成功,(用 PSK 预设密钥+ 用户名 /密码方式),并成功上网(手机开 Juice SSH 连 local 手机后能在终端窗口 ping 通 8.8.8.8, 这时运行 ifconfig 能看到手机其实能获得 10.31.2.1 这地址)
在 strongswan 5.4.0 / 5.5.0/5.5.1 下
同样先开手机的中国移动 4G ,然后开始拨号成功,(用 PSK 预设密钥+ 用户名 /密码方式),手机开 Juice SSH 连 local 手机后能在终端窗口 ping 通不通 8.8.8.8, 这时运行 ifconfig 能看到手机其实能获得 10.31.2.1 这地址的,可是网络就是不通。
咱们是老司机了, iptables 应该没设置错,否则 5.3.5 下就不能上网啦
cat /etc/sysconfig/iptables
---------------------------
Generated by iptables-save v1.4.7 on Wed Nov 23 02:51:30 2016
*nat
:PREROUTING ACCEPT [0:0]
:POSTROUTING ACCEPT [1:140]
:OUTPUT ACCEPT [1:140]
-A POSTROUTING -s 10.31.0.0/24 -o eth0 -j MASQUERADE
-A POSTROUTING -s 10.31.1.0/24 -o eth0 -j MASQUERADE
-A POSTROUTING -s 10.31.2.0/24 -o eth0 -j MASQUERADE
COMMIT
Completed on Wed Nov 23 02:51:30 2016
Generated by iptables-save v1.4.7 on Wed Nov 23 02:51:30 2016
*filter
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [1:140]
-A INPUT -i eth0 -p esp -j ACCEPT
-A INPUT -i eth0 -p udp -m udp --dport 500 -j ACCEPT
-A INPUT -i eth0 -p tcp -m tcp --dport 500 -j ACCEPT
-A INPUT -i eth0 -p udp -m udp --dport 4500 -j ACCEPT
-A INPUT -i eth0 -p udp -m udp --dport 1701 -j ACCEPT
-A INPUT -i eth0 -p tcp -m tcp --dport 1723 -j ACCEPT
-A FORWARD -m state --state RELATED,ESTABLISHED -j ACCEPT
-A FORWARD -s 10.31.0.0/24 -j ACCEPT
-A FORWARD -s 10.31.1.0/24 -j ACCEPT
-A FORWARD -s 10.31.2.0/24 -j ACCEPT
COMMIT
--------------------
同时, sysctl 也设置了 net.ipv4.ip_forward = 1
太奇怪了,欢迎各位大神来探讨一下!
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
https://www.v2ex.com/t/322933
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.