Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

设置了net.ipv4.ip_forward=1之后手机仍然无法上网(可以连接到vpn server) #36

Closed
cwhstcnn opened this issue Jul 8, 2016 · 23 comments
Labels

Comments

@cwhstcnn
Copy link

cwhstcnn commented Jul 8, 2016

No description provided.

@quericy
Copy link
Owner

quericy commented Jul 8, 2016

请提供更加详细的数据,谢谢(如客户端和服务端类型,版本等)

@cwhstcnn
Copy link
Author

cwhstcnn commented Jul 8, 2016

客户端:ios 9.3,mac os 10.11都有同样的问题
服务端:bandwagon openvz centos 6

@cwhstcnn
Copy link
Author

cwhstcnn commented Jul 8, 2016

请问楼主用的是哪家的vps

@cwhstcnn
Copy link
Author

cwhstcnn commented Jul 9, 2016

使用手机网络能够正常使用,家里wifi是电信的,估计运营商封了ipsec

@jiayx
Copy link

jiayx commented Jul 14, 2016

我遇到了同样的问题
两种连接方式都不行(IKEv2 IPSec) ios 9.3.2 WiFi 和 手机网络都不能上网
我用的是阿里云的美国主机 kvm

@TongxiJi
Copy link

TongxiJi commented Aug 3, 2016

同样遇到,我这边很奇怪,一台直连可以,中转nat后就出现这种情况.

@kehao95
Copy link

kehao95 commented Aug 10, 2016

同样的问题,在DigitalOcean上可以使用,在Amazon上EC2不可以,端口全部打开了,设置了IP转发。
应该不是运营商问题,我在美国测试的。

@bigbigking
Copy link

我也遇到这个问题
服务端:aws ec2主机 Debian 8.3
客户端:iOS9.3.2,Mac OS X 10.11.5 ,android 5.1.1
都不行,都是能连上vpn,但是无法访问网络,无论是google还是baidu。
我怀疑应该是nat或者iptables的问题。

另外,如何查看ipsec的连接日志?

@bigbigking
Copy link

bigbigking commented Aug 18, 2016

这个问题我解决了,确实是iptables的错误。
[以下ip地址作为参考]
AWS的vps,一般是2个网卡,一个lo一个eth0,lo是环回接口127.0.0.1,eth0是172.16.8.3的私有地址。
然后aws有弹性ip,假设我申请到的弹性ip是52.195.41.80,将弹性ip绑定到vps上,其实是在出口设备上做了nat,这个接口地址并不在vps本身配置上,所以,在这步:

是否使用SNAT规则(可选).使用前请确保服务器具有不变的静态公网ip,可提升防火墙对数据包的处理速度.默认为不使用.

的时候,因为我有固定ip,就选择yes,然后默认配置为公网ip,并不是172的私有地址,然后写到iptables里就成了下面这样:
-A POSTROUTING -s 10.31.1.0/24 -o eth0 -j SNAT --to-source 52.195.41.80
这里--to-source 52.195.41.80 是错的(当然并不会报错),因为没法转到这个地址。
解决办法就是修改后面的地址为vps的eth0地址,如下:
-A POSTROUTING -s 10.31.1.0/24 -o eth0 -j SNAT --to-source 172.16.8.3

@quericy
Copy link
Owner

quericy commented Aug 18, 2016

@KinonC 感谢回复~~
添加SNAT的时候确实是我考虑不周,没预料到aws的这种情况.
我会在脚本中将使用默认ip修改为可修改的ip的选项以及相应的提示.

另: 安全考虑建议不要将自己服务器的完整ip暴露在这里.

@bigbigking
Copy link

@quericy 我的IP已经隐藏,上面的是修改过的,不是我的啦。这么写更容易看懂,嘿嘿。

@chongjizuan
Copy link

楼主你好,我用你提供的一件脚本在搬瓦工上安装以后出现了可以正常连接,但是无法上网的情况。
客户端:ios 9.3
服务端:bandwagon openvz centos 6devel
现在的情况是WIFI情况下无法上网,但是我切换成手机流量的话,就可以正常上网。
所以不知是wifi的问题,还是运营商的问题,或者是哪里的配置有问题

@hxchen
Copy link

hxchen commented Sep 21, 2016

@KinonC 我也是用的EC2,不过我是Ubutu 14,搭建后。手机蜂窝网络可以链接VPN,但是通过wifi链接VPN就不可以。你那没遇到这个问题吗?

@hxchen
Copy link

hxchen commented Sep 21, 2016

@chongjizuan 你问题解决了吗?我这问题+1

@qwm
Copy link

qwm commented Oct 17, 2016

@quericy 我也是这个问题,请帮忙看看
Chain INPUT (policy ACCEPT)
target prot opt source destination
ACCEPT esp -- anywhere anywhere
ACCEPT udp -- anywhere anywhere udp dpt:isakmp
ACCEPT tcp -- anywhere anywhere tcp dpt:isakmp
ACCEPT udp -- anywhere anywhere udp dpt:ipsec-nat-t
ACCEPT udp -- anywhere anywhere udp dpt:l2tp
ACCEPT tcp -- anywhere anywhere tcp dpt:pptp
ACCEPT esp -- anywhere anywhere
ACCEPT udp -- anywhere anywhere udp dpt:isakmp
ACCEPT tcp -- anywhere anywhere tcp dpt:isakmp
ACCEPT udp -- anywhere anywhere udp dpt:ipsec-nat-t
ACCEPT udp -- anywhere anywhere udp dpt:l2tp
ACCEPT tcp -- anywhere anywhere tcp dpt:pptp

Chain FORWARD (policy ACCEPT)
target prot opt source destination
ACCEPT all -- anywhere anywhere state RELATED,ESTABLISHED
ACCEPT all -- 10.31.0.0/24 anywhere
ACCEPT all -- 10.31.1.0/24 anywhere
ACCEPT all -- 10.31.2.0/24 anywhere
ACCEPT all -- anywhere anywhere state RELATED,ESTABLISHED
ACCEPT all -- 10.31.0.0/24 anywhere
ACCEPT all -- 10.31.1.0/24 anywhere
ACCEPT all -- 10.31.2.0/24 anywhere
REJECT all -- anywhere anywhere reject-with icmp-port-unreachable

Chain OUTPUT (policy ACCEPT)
target prot opt source destination


ipsec0 Link encap:UNSPEC HWaddr 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00
UP POINTOPOINT RUNNING NOARP MULTICAST MTU:1400 Metric:1
RX packets:56 errors:0 dropped:0 overruns:0 frame:0
TX packets:48 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:500
RX bytes:5293 (5.1 KiB) TX bytes:5783 (5.6 KiB)

lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
inet6 addr: ::1/128 Scope:Host
UP LOOPBACK RUNNING MTU:65536 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:0 (0.0 b) TX bytes:0 (0.0 b)

venet0 Link encap:UNSPEC HWaddr 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00
inet addr:127.0.0.1 P-t-P:127.0.0.1 Bcast:0.0.0.0 Mask:255.255.255.255
inet6 addr: 2602:ff62:104:5aa::/128 Scope:Global
UP BROADCAST POINTOPOINT RUNNING NOARP MTU:1500 Metric:1
RX packets:1425 errors:0 dropped:0 overruns:0 frame:0
TX packets:607 errors:0 dropped:2 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:172845 (168.7 KiB) TX bytes:90478 (88.3 KiB)

venet0:0 Link encap:UNSPEC HWaddr 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00
inet addr:161.215.102.66 P-t-P:161.215.102.66 Bcast:161.215.102.66 Mask:255.255.255.255
UP BROADCAST POINTOPOINT RUNNING NOARP MTU:1500 Metric:1

@hellowords
Copy link

网卡选择的问题
不知道网卡 ifconfig 命令查看,看前面那个是eh0还是其他,在安装的时候输入对应的就可以了

@quericy
Copy link
Owner

quericy commented Oct 26, 2016

脚本已更新,Amazon EC2测试通过。安装时开启SNAT参考@KinonC 的方案即可。

@quericy quericy closed this as completed Oct 26, 2016
@bberhao
Copy link

bberhao commented Apr 7, 2017

用google cloud搭建成功

@fa11ing1eaf
Copy link

我想在公司内网用ikev2搭建一个vpn,然后通过公司的nat路由出来,请问可以办到么。我试了一下,发现根证书导入错误。生成的证书都不对。

@coyzhu
Copy link

coyzhu commented Jun 27, 2017

@fa11ing1eaf 没问题的,Amazon的EC2机器都是内网地址,绑定了外网地址就是nat出去的。所以你按照amazon EC2的方式安装时开启SNAT,然后指向你的内网地址就可以了。

@HelloWorldWinning
Copy link

我是中国电信,中国电信直接封了 ipsec 。我用中国电信的4G手机网络 就可以了。

@ChrisChirs
Copy link

我也遇到这个问题
服务端:aws ec2主机 Debian 8.3
客户端:iOS9.3.2,Mac OS X 10.11.5 ,android 5.1.1
都不行,都是能连上vpn,但是无法访问网络,无论是google还是baidu。
我怀疑应该是nat或者iptables的问题。

另外,如何查看ipsec的连接日志?

你这个问题很诡异,我的IPsec可以上网但IKEv2连接后却无法上网。

@lijc210
Copy link

lijc210 commented Apr 29, 2022

总结下我的情况,centos6,第五步选择不使用snat规则,在第六歩的时候选择no,这样会配置iptables,就可以正常访问了,

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests