阿里云上买了个云服务器,可以正常连上VPN,可是不能访问公网

2012-10-21 16:54:15 +08:00
 insub
客户端肯定没有问题,自己linode上相同配置的vpn和killwall买的vpn连上之后都可以正常访问公网
阿里云跟linode区别主要是双网卡,内网是eth0,IP 20.100.x.x,公网是 eth1,IP 42.121.x.x
还有一个区别就是linode是ubuntu 9.04,阿里云是ubuntu 12.04
搭上之后分配IP地址等等看着都还正常,现在主要怀疑是iptable转发规则的问题,或者DNS的问题

系统是Ubuntu 12.04,双网卡,内网是eth0,IP 20.100.x.x,公网是 eth1,IP 42.121.x.x
大致配置如下:

apt-get install pptpd

修改vim /etc/pptpd.conf文件
localip 192.168.7.1
remoteip 192.168.7.7-17

添加VPN用户
修改文件/etc/ppp/chap-secrets
username pptpd password *

添加DNS
修改文件/etc/ppp/options
ms-dns 8.8.8.8
ms-dns 8.8.4.4

编辑/etc/sysctl.conf文件
net.ipv4.ip_forward=1
运行下面的命令让配置生效
sysctl -p

iptable防火墙设置iptables -A INPUT -p gre -j ACCEPT
iptables -A OUTPUT -p gre -j ACCEPTopen port 1723/tcp
/sbin/iptables -t nat -A POSTROUTING -s 192.168.7.0/24 -o eth1 -j MASQUERADE


iptables -t nat -A POSTROUTING -s 192.168.7.0/24 -j SNAT --to-source 42.121.x.x
iptables -A FORWARD -s 192.168.7.0/24 -o 42.121.x.x -p udp --dport 67 -j ACCEPT
iptables -A FORWARD -s 192.168.7.0/24 -o 42.121.x.x -p udp --dport 68 -j ACCEPT
iptables -A FORWARD -i 42.121.x.x -p udp --sport 67 -j ACCEPT
iptables -A FORWARD -i 42.121.x.x -p udp --sport 68 -j ACCEPT

访问能正常连上,server也有ppp0出现....

本人前端Coder,只能各种规则都胡乱试了下,惆怅...
尤其诡异的是,https://google.com.hk可以正常使用,或者直接用google.com.hk的IP访问也可以,其它网站无论是域名还是IP都不可访问.....
31348 次点击
所在节点    云计算
19 条回复
lengxx
2012-10-21 18:22:17 +08:00
阿里云的服务器在墙内,你用他来穿墙?
hedaors
2012-10-21 18:34:37 +08:00
@lengxx 或许是用来再墙外下载盗版电影之类的用。
ninjai
2012-10-21 18:35:51 +08:00
没看见MTU的设置
insub
2012-10-21 23:14:42 +08:00
@lengxx hedaors : 用来穿公司的监控。linode上的才用来穿墙

@ninjai 谢谢,MTU确实没设置,查了下资料,看着真像,于是下了个MicrosoftFixit50613.msi把本机上的MTU改了
悲剧出现了,连当初没问题的Linode现在也访问不了公网了!!!
不过倒是更加肯定跟服务器端的MTU设置有关系,目前还在查资料想办法
哪位同学弄过的,望指教~
ninjai
2012-10-22 00:04:20 +08:00
@insub 并不是修改本机的MTU,而是修改服务器VPN连接的MTU
这是我自己的VPN服务器使用的
/sbin/iptables -A INPUT -p gre -j ACCEPT
/sbin/iptables -A FORWARD -s 10.1.1.0/255.255.255.0 -p tcp -m tcp --tcp-flags FI
N,SYN,RST,ACK SYN -j TCPMSS --set-mss 1356
/sbin/iptables -t nat -A POSTROUTING -s 10.1.1.0/255.255.255.0 -j SNAT --to-sour
ce x.x.x.x
insub
2012-10-22 13:44:38 +08:00
更诡异的事情出现了,调整之后,google.com可以访问,aliyun.com,也就是我的服务器所在的服务商阿里云的首页和内容甚至论坛都可以访问,WTF

所以MTU问题基本可以排除掉,目前怀疑网关,掩码,之前还怀疑过DNS...


下面是连上aliyun VPN之后的情况客户端和服务器端的情况:

win pc ipconfig/all :

PPP adapter aliyun:
Connection-specific DNS Suffix . :
Description . . . . . . . . . . . : WAN (PPP/SLIP) Interface
Physical Address. . . . . . . . . : 00-53-45-00-00-00
Dhcp Enabled. . . . . . . . . . . : No
IP Address. . . . . . . . . . . . : 192.168.1.234
Subnet Mask . . . . . . . . . . . : 255.255.255.255
Default Gateway . . . . . . . . . : 192.168.1.234
DNS Servers . . . . . . . . . . . : 8.8.8.8
8.8.4.4

win pc route print
===========================================================================
Interface List
0x1 ........................... MS TCP Loopback interface
0x2 ...5c d9 98 76 90 e0 ...... D-Link DWL-G122 Wireless G USB Adapter (rev.F1)
0x5d0004 ...00 53 45 00 00 00 ...... WAN (PPP/SLIP) Interface
===========================================================================
===========================================================================
Active Routes:
Network Destination Netmask Gateway Interface Metric
0.0.0.0 0.0.0.0 192.168.1.1 192.168.1.8 2
0.0.0.0 0.0.0.0 192.168.1.234 192.168.1.234 1
42.121.x.x 255.255.255.255 192.168.1.1 192.168.1.8 1
127.0.0.0 255.0.0.0 127.0.0.1 127.0.0.1 1
169.254.0.0 255.255.0.0 192.168.1.8 192.168.1.8 20
192.168.1.0 255.255.255.0 192.168.1.8 192.168.1.8 20
192.168.1.8 255.255.255.255 127.0.0.1 127.0.0.1 20
192.168.1.234 255.255.255.255 127.0.0.1 127.0.0.1 50
192.168.1.255 255.255.255.255 192.168.1.8 192.168.1.8 20
192.168.1.255 255.255.255.255 192.168.1.234 192.168.1.234 50
224.0.0.0 240.0.0.0 192.168.1.8 192.168.1.8 20
224.0.0.0 240.0.0.0 192.168.1.234 192.168.1.234 1
255.255.255.255 255.255.255.255 192.168.1.8 192.168.1.8 1
255.255.255.255 255.255.255.255 192.168.1.234 192.168.1.234 1
Default Gateway: 192.168.1.234
===========================================================================
Persistent Routes:
None


aliyun ifconfig
eth0 Link encap:Ethernet HWaddr 00:16:3e:0e:21:65
inet addr:10.200.x.x Bcast:10.200.247.255 Mask:255.255.248.0
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:4594 errors:0 dropped:0 overruns:0 frame:0
TX packets:10 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:198106 (198.1 KB) TX bytes:480 (480.0 B)
Interrupt:73

eth1 Link encap:Ethernet HWaddr 00:16:3e:0e:21:66
inet addr:42.121.x.x Bcast:42.121.107.255 Mask:255.255.252.0
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:144874 errors:0 dropped:0 overruns:0 frame:0
TX packets:4188 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:9851321 (9.8 MB) TX bytes:781945 (781.9 KB)
Interrupt:74

lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
UP LOOPBACK RUNNING MTU:16436 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)

ppp0 Link encap:Point-to-Point Protocol
inet addr:192.168.1.1 P-t-P:192.168.1.234 Mask:255.255.255.255
UP POINTOPOINT RUNNING NOARP MULTICAST MTU:1396 Metric:1
RX packets:1073 errors:0 dropped:0 overruns:0 frame:0
TX packets:655 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:3
RX bytes:120977 (120.9 KB) TX bytes:283721 (283.7 KB)


aliyun route
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
default 42.121.107.254 0.0.0.0 UG 0 0 0 eth1
10.0.0.0 10.200.247.254 255.0.0.0 UG 0 0 0 eth0
10.200.240.0 * 255.255.248.0 U 0 0 0 eth0
42.121.104.0 * 255.255.252.0 U 0 0 0 eth1
172.16.0.0 10.200.247.254 255.240.0.0 UG 0 0 0 eth0
192.168.0.0 10.200.247.254 255.255.0.0 UG 0 0 0 eth0
192.168.1.234 * 255.255.255.255 UH 0 0 0 ppp0
ninjai
2012-10-22 14:13:42 +08:00
@insub 坚持MTU的观点
insub
2012-10-22 16:21:36 +08:00
我按照你的配置给加上了iptablle,set mtu 调整了几个不同数值。都不行...
请问ninjai,有什么办法可以查错么,靠猜太痛苦了。
insub
2012-10-22 16:42:37 +08:00
另外,MTU的调整,是否直接生效,无需调整?
insub
2012-10-22 16:42:58 +08:00
说错了,是否直接生效,无需重连接?
ninjai
2012-10-22 22:30:32 +08:00
@insub 可以ping来debug,用不同的datagram
ninjai
2012-10-22 22:32:08 +08:00
@insub 可以把你现有的iptables发出来看看,建议先越简单越好
ninjai
2012-10-22 22:54:05 +08:00
insub
2012-10-23 00:09:54 +08:00
调整了还是不行,3天了,崩溃,甚至我之前在其它三台VPS上搭过VPN,都没出现这样问题。

@ninjai 有个不情之请,可否请你在我的阿里云上搭一下VPN?可以提供干净的初始环境,ubuntu 12.04,未做过任何操作的。如果可以的话,请加下我QQ?e2vx貌似没有私信功能。我的号是 4119+33330 ,或邮箱 insub#126的邮箱

后续我也会将完整阿里云VPN配置过程做个详细的note,供后面有需要的同学使用。
kanezeng
2012-10-23 16:52:24 +08:00
前几天同样在阿里云搭过,同样ubuntu同样访问外网不能,后来怀疑是ufw的问题(在12.04里ufw应该已经代替iptables了吧?),时间没时间纠结这个问题,干脆换成10.*的ubuntu,同样步骤顺利完成。
insub
2012-10-23 18:04:25 +08:00
结贴来了。

后来查到,转发的数据包通过公网网卡出去后再没回来,然后google.com.hk和aliyun.com的数据包则可以正常返回。

于是提交工单,阿里云的官方回复如下:
“您好,这个问题已经确认,目前还不能很好的支持,我们工程师正在试图修复这个问题。产品经理还没有给出具体的修复时间。我们会尽快确认时间然后通知您。”

WTF......
insub
2012-10-23 18:04:42 +08:00
Ubuntu 10.10可以正常使用,没有问题
insub
2012-10-23 18:13:08 +08:00
@kanezeng 要是能早说一步,我就不用浪费三天时间去折腾了,偏执狂活该啊.....
BOYPT
2012-10-25 11:29:36 +08:00
调整iptables策略的时候,配合-j LOG目标和tcpdump排查才是解决途径。

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

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

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

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

© 2021 V2EX