我在debian-squeeze服务器上设置了一个pptp VPN服务器,我可以从Windows 7连接到它,但ping外部主机(如google.com)失败。 Pinging 10.0.0.1或10.0.0.10按预期工作。
到目前为止,我尝试了很多,但没有任何帮助。 难道我做错了什么?
我设置了pptpd ;
ms-dns 8.8.8.8 ms-dns 8.8.4.4 localip 10.0.0.1 remoteip 10.0.0.10-100
增加了iptable规则;
iptables -A INPUT -p gre -j ACCEPT iptables -A INPUT -p tcp --dport 1723 -j ACCEPT iptables -A INPUT -i ppp+ -j ACCEPT iptables -A FORWARD -i ppp+ -j ACCEPT iptables -A FORWARD -o ppp+ -j ACCEPT
在/etc/sysctl.conf启用net.ipv4.ip_forward=1
并添加了伪装;
iptables -t nat -A POSTROUTING -s 10.0.0.0/16 -o ppp0 -j MASQUERADE
任何人都可以发现一个错误?
消息日志:
Jun 20 15:25:01 server1 pppd[6089]: pppd 2.4.5 started by root, uid 0 Jun 20 15:25:01 server1 pppd[6089]: Using interface ppp0 Jun 20 15:25:01 server1 pppd[6089]: Connect: ppp0 <--> /dev/pts/2 Jun 20 15:25:05 server1 pppd[6089]: local IP address 10.0.0.1 Jun 20 15:25:05 server1 pppd[6089]: remote IP address 10.0.0.10
debugging日志:
Jun 20 15:24:47 server1 pptpd[6053]: CTRL: Reaping child PPP[6054]
pptpd日志:
Jun 20 15:25:01 server1 pptpd[6088]: CTRL: Client 8X.XX.2XX.X4 control connection started Jun 20 15:25:01 server1 pptpd[6088]: CTRL: Starting call (launching pppd, opening GRE) Jun 20 15:25:04 server1 pptpd[6088]: CTRL: Ignored a SET LINK INFO packet with real ACCMs!
Linux服务器上的ifconfig:
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: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:10.0.0.1 PtP:10.0.0.10 Mask:255.255.255.255 UP POINTOPOINT RUNNING NOARP MULTICAST MTU:1400 Metric:1 RX packets:156 errors:0 dropped:0 overruns:0 frame:0 TX packets:11 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:3 RX bytes:16390 (16.0 KiB) TX bytes:137 (137.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.2 PtP:127.0.0.2 Bcast:0.0.0.0 Mask:255.255.255.255 UP BROADCAST POINTOPOINT RUNNING NOARP MTU:1500 Metric:1 RX packets:29264 errors:0 dropped:0 overruns:0 frame:0 TX packets:30152 errors:0 dropped:88 overruns:0 carrier:0 collisions:0 txqueuelen:0 RX bytes:4129198 (3.9 MiB) TX bytes:25084183 (23.9 MiB) venet0:0 Link encap:UNSPEC HWaddr 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00 inet addr:1X9.XX.1XX.XX9 PtP:1X9.XX.1XX.XX9 Bcast:0.0.0.0 Mask:255.255.255.255 UP BROADCAST POINTOPOINT RUNNING NOARP MTU:1500 Metric:1
在Windows客户端上的ipconfig:
PPP adapter Chicago: Connection-specific DNS Suffix . : IPv4 Address. . . . . . . . . . . : 10.0.0.10 Subnet Mask . . . . . . . . . . . : 255.255.255.255 Default Gateway . . . . . . . . . : 0.0.0.0 Ethernet adapter Local Area Connection: Connection-specific DNS Suffix . : Link-local IPv6 Address . . . . . : fe80::dc99:4aef:5221:b5e3%11 IPv4 Address. . . . . . . . . . . : 192.168.1.102 Subnet Mask . . . . . . . . . . . : 255.255.255.0 Default Gateway . . . . . . . . . : 192.168.1.1 Tunnel adapter isatap.{290FC5BA-1A1F-48E5-9FAA-621E96CF4AED}: Media State . . . . . . . . . . . : Media disconnected Connection-specific DNS Suffix . : Tunnel adapter Teredo Tunneling Pseudo-Interface: Connection-specific DNS Suffix . : IPv6 Address. . . . . . . . . . . : 2001:0:5ef5:79fd:2c53:3789:f5ff:fff5 Link-local IPv6 Address . . . . . : fe80::2c53:3789:f5ff:fff5%13 Default Gateway . . . . . . . . . : :: Tunnel adapter isatap.{A22A1F34-B6D4-4BD7-BCA4-FAECB71D2D14}: Media State . . . . . . . . . . . : Media disconnected Connection-specific DNS Suffix . :
tracert -d www.google.com客户端上的tracert -d www.google.com :
Tracing route to www.l.google.com [74.125.132.105] over a maximum of 30 hops: 1 117 ms 121 ms 117 ms 10.0.0.1 2 * * * Request timed out. 3 * * * Request timed out.
你不推动默认网关
PPP适配器芝加哥:
连接特定的DNS后缀。 :IPv4地址。 。 。 。 。 。 。 。 。 。 。 :10.0.0.10子网掩码。 。 。 。 。 。 。 。 。 。 。 :255.255.255.255默认网关。 。 。 。 。 。 。 。 。 :0.0.0.0
您需要使其指向10.0.0.1而不是0.0.0.0
如果这仍然无法正常工作
iptables -t filter -F
要validation是否防火墙阻止了stream量,请记住规则的顺序非常重要
编辑:
我看到你的NAT线路如下:
iptables -t nat -A POSTROUTING -s 10.0.0.0/16 -o ppp0 -j MASQUERADE
这是错的,ppp0是VPN接口,你需要在你的WAN接口上进行NAT。 我从来没有使用这个假面舞会的东西…我总是这样的NAT:
iptables -t nat -A POSTROUTING -j SNAT -s 10.0.0.0/16 –to-source 1X9.XX.1XX.XX9
我猜1X9.XX.1XX.XX9是你的公网IP地址,否则换成这个。