我试图在我们新安装的Ubuntu 11.10 64位服务器上设置一个pptpd vpn,但是没有成功让客户端通过iPhone连接到VPN。 请注意,没有客户端能够从networking外部连接到此VPN。 系统是最新的补丁。
这是/ var / log / syslog的输出。 请注意,222.153.xy是我的远程IP地址。
Mar 30 22:07:47 server pptpd[9546]: CTRL: Client 222.153.xy control connection started Mar 30 22:07:47 server pptpd[9546]: CTRL: Starting call (launching pppd, opening GRE) Mar 30 22:07:47 server pppd[9555]: Plugin /usr/lib/pptpd/pptpd-logwtmp.so loaded. Mar 30 22:07:47 server pppd[9555]: pppd 2.4.5 started by root, uid 0 Mar 30 22:07:47 server pppd[9555]: Using interface ppp0 Mar 30 22:07:47 server pppd[9555]: Connect: ppp0 <--> /dev/pts/3 Mar 30 22:07:47 server pptpd[9546]: GRE: Bad checksum from pppd. Mar 30 22:08:17 server pppd[9555]: LCP: timeout sending Config-Requests Mar 30 22:08:17 server pppd[9555]: Connection terminated. Mar 30 22:08:17 server pppd[9555]: Modem hangup Mar 30 22:08:17 server pppd[9555]: Exit. Mar 30 22:08:17 server pptpd[9546]: GRE: read(fd=6,buffer=6075a0,len=8196) from PTY failed: status = -1 error = Input/output error, usually caused by unexpected termination of pppd, check option syntax and pppd logs Mar 30 22:08:17 server pptpd[9546]: CTRL: PTY read or GRE write failed (pty,gre)=(6,7) Mar 30 22:08:17 server pptpd[9546]: CTRL: Reaping child PPP[9555] Mar 30 22:08:17 server pptpd[9546]: CTRL: Client 222.153.xy control connection finished
正如你所看到的,问题似乎是30秒后连接超时(“Mar 30 22:08:17 server pppd [9555]: LCP:timeout sending Config-Requests”)。
然而,无线networking(在本地networking内)没有问题:
Mar 30 22:12:33 unreal-server pptpd[12406]: CTRL: Client 192.168.0.100 control connection started Mar 30 22:12:33 unreal-server pptpd[12406]: CTRL: Starting call (launching pppd, opening GRE) Mar 30 22:12:33 unreal-server pppd[12407]: Plugin /usr/lib/pptpd/pptpd-logwtmp.so loaded. Mar 30 22:12:33 unreal-server pppd[12407]: pppd 2.4.5 started by root, uid 0 Mar 30 22:12:33 unreal-server pppd[12407]: Using interface ppp0 Mar 30 22:12:33 unreal-server pppd[12407]: Connect: ppp0 <--> /dev/pts/3 Mar 30 22:12:33 unreal-server pptpd[12406]: GRE: Bad checksum from pppd. Mar 30 22:12:36 unreal-server pppd[12407]: peer from calling number 192.168.0.100 authorized Mar 30 22:12:36 unreal-server pppd[12407]: MPPE 128-bit stateless compression enabled Mar 30 22:12:36 unreal-server pppd[12407]: Cannot determine ethernet address for proxy ARP Mar 30 22:12:36 unreal-server pppd[12407]: local IP address 192.168.0.10 Mar 30 22:12:36 unreal-server pppd[12407]: remote IP address 192.168.1.1
我已经为服务器设置了一个iptablesconfiguration。 检查这不是问题,我暂时允许所有的stream量,但这不会改变第一个例子中的症状。 这是来自/etc/iptables.rules.save的输出
*filter :FORWARD ACCEPT [0:0] :INPUT ACCEPT [0:0] :OUTPUT ACCEPT [0:0] COMMIT
即使应用了这些规则,来自/ var / log / syslog的输出也是我在第一个代码块中看到的LINE FOR LINE。
请注意,在运行这个Ubuntu服务器之前, 一个旧的SME服务器盒子正在运行,它有一个pptpd服务器就像我们正在使用,我们没有遇到任何问题。
我怀疑你遇到的问题是,在你的路由器上,你已经把1723端口(PPTP)转发到了你的服务器,而不是GRE协议。 (这不是一个端口,而是一个完整的协议。)
PPTP控制通道是通过端口1723 TCPbuild立的,但是实际的数据包stream使用了GRE协议 – 而PPP的LCP Config-Requests超时则意味着有什么东西阻止了这个通讯的通过。
最后,确保你的手机提供商(这是新西兰的电信公司吗?)允许你进行PPTP连接。 如果你确实在新西兰的电信(XT),你可能想调整你的移动APN(接入点名称)为'direct.telecom.co.nz' – 默认是'internet.telecom.co.nz'。
你打开了1723和47端口吗? GRE要求端口47打开。 如果涉及到一些NAT,您的路由器是否启用了VPN直通function?
另外,如果你的服务器和公共互联网之间有2个路由器,NAT就会受到这个影响。 Google“双重NAT”。
我也发现这个错误。 首先得到“GRE:来自pppd的错误校验和”。 然后从PTY中读取'GRE:read(fd = 6,buffer = 6075a0,len = 8196)失败:status = -1 error =input/输出错误,通常是由于意外终止pppd,检查选项语法和pppd日志引起的。 就我而言,这是因为我input了错误的密码。 我不是因为GRE端口47被阻塞了。 而在我的情况下,即使我让端口47被封锁,VPN仍然工作。