无法连接到Ubuntu上的PPTP VPN服务器

我正在尝试连接到PPTP VPN服务器。 相同的配置在Windows中正常工作但在Ubuntu 12.10中失败。 它必须是一些配置问题。

sudo pptpsetup --create MYVPN --server xxx.xxx.xxx.xxx --username username --password password 

一切都正确设置。 但是当我尝试实际运行VPN时,我得到了这个:

 $ sudo pppd call MYVPN updetach Using interface ppp1 Connect: ppp1  /dev/pts/2 LCP: timeout sending Config-Requests Connection terminated. Modem hangup 

当我这样做更多细节:

 tail -n 30 /var/log/syslog | grep -i ppp Mar 18 06:33:08 tp pppd[5082]: pppd 2.4.5 started by root, uid 0 Mar 18 06:33:08 tp pppd[5082]: Using interface ppp1 Mar 18 06:33:08 tp pppd[5082]: Connect: ppp1  /dev/pts/2 Mar 18 06:33:08 tp NetworkManager[988]: SCPlugin-Ifupdown: devices added (path: /sys/devices/virtual/net/ppp1, iface: ppp1) Mar 18 06:33:08 tp NetworkManager[988]: SCPlugin-Ifupdown: device added (path: /sys/devices/virtual/net/ppp1, iface: ppp1): no ifupdown configuration found. Mar 18 06:33:08 tp NetworkManager[988]:  /sys/devices/virtual/net/ppp1: couldn't determine device driver; ignoring... Mar 18 06:34:18 tp pppd[5082]: LCP: timeout sending Config-Requests Mar 18 06:34:18 tp pppd[5082]: Connection terminated. Mar 18 06:34:18 tp NetworkManager[988]: SCPlugin-Ifupdown: devices removed (path: /sys/devices/virtual/net/ppp1, iface: ppp1) Mar 18 06:34:18 tp pppd[5082]: Modem hangup Mar 18 06:34:18 tp pptp[5084]: anon warn[decaps_hdlc:pptp_gre.c:216]: pppd may have shutdown, see pppd log Mar 18 06:34:18 tp pppd[5082]: Exit. 

为什么不连接? 它在Windows上工作正常,所以它必须是Ubuntu 12.10设置的东西……

编辑:

 sudo pppd call MYVPN debug dump logfd 2 updetach 

有没有关于如何利用这些信息来查看可能出错的信息?

  pppd options in effect: debug # (from command line) updetach # (from command line) logfd 2 # (from command line) dump # (from command line) noauth # (from /etc/ppp/peers/MYVPN) name username # (from /etc/ppp/peers/MYVPN) remotename MYVPN # (from /etc/ppp/peers/MYVPN) # (from /etc/ppp/peers/MYVPN) pty pptp xxx.xxx.xxx.xxx --nolaunchpppd # (from /etc/ppp/peers/MYVPN) crtscts # (from /etc/ppp/options) # (from /etc/ppp/options) asyncmap 0 # (from /etc/ppp/options) lcp-echo-failure 4 # (from /etc/ppp/options) lcp-echo-interval 30 # (from /etc/ppp/options) hide-password # (from /etc/ppp/options) ipparam MYVPN # (from /etc/ppp/peers/MYVPN) nobsdcomp # (from /etc/ppp/peers/MYVPN) nodeflate # (from /etc/ppp/peers/MYVPN) noipx # (from /etc/ppp/options) using channel 27 Using interface ppp1 Connect: ppp1  /dev/pts/2 sent [LCP ConfReq id=0x1    ] sent [LCP ConfReq id=0x1    ] sent [LCP ConfReq id=0x1    ] rcvd [LCP ConfReq id=0x0         ] sent [LCP ConfRej id=0x0   ] rcvd [LCP ConfReq id=0x1         ] sent [LCP ConfRej id=0x1   ] sent [LCP ConfReq id=0x1    ] sent [LCP ConfReq id=0x1    ] sent [LCP ConfReq id=0x1    ] rcvd [LCP ConfAck id=0x1    ] sent [LCP ConfReq id=0x1    ] rcvd [LCP ConfReq id=0x4         ] sent [LCP ConfRej id=0x4   ] sent [LCP ConfReq id=0x1    ] rcvd [LCP ConfReq id=0x6      ] sent [LCP ConfAck id=0x6      ] sent [LCP ConfReq id=0x1    ] sent [LCP ConfReq id=0x1    ] sent [LCP ConfReq id=0x1    ] sent [LCP ConfReq id=0x1    ] rcvd [LCP ConfReq id=0x9      ] sent [LCP ConfAck id=0x9      ] sent [LCP ConfReq id=0x1    ] sent [LCP ConfReq id=0x1    ] sent [LCP ConfReq id=0x1    ] sent [LCP ConfReq id=0x1    ] rcvd [LCP ConfReq id=0xc      ] sent [LCP ConfAck id=0xc      ] LCP: timeout sending Config-Requests Connection terminated. Modem hangup Waiting for 1 child processes... script pptp xxx.xxx.xx.xxx --nolaunchpppd, pid 6815 Script pptp xxx.xxx.xx.xxx --nolaunchpppd finished (pid 6815), status = 0x0 

我在VPN上经历了完全相同的问题,这是在Ubuntu 14.04 LTS上安装Utopic HWE内核3.16.0之后开始的。

经过研究,我找到了问题的根本原因:

 Using interface ppp0 Connect: ppp0 <--> /dev/pts/4 sent [LCP ConfReq id=0x1     ] sent [LCP ConfReq id=0x1     ] sent [LCP ConfReq id=0x1     ] sent [LCP ConfReq id=0x1     ] sent [LCP ConfReq id=0x1     ] sent [LCP ConfReq id=0x1     ] sent [LCP ConfReq id=0x1     ] sent [LCP ConfReq id=0x1     ] sent [LCP ConfReq id=0x1     ] sent [LCP ConfReq id=0x1     ] LCP: timeout sending Config-Requests Connection terminated. Modem hangup 

根本原因是在引导期间未加载2个必需的netfilter内核模块:

 nf_conntrack_pptp nf_conntrack_proto_gre 

解决方案:加载nf_conntrack_pptp模块,后者是它的依赖项,将自动加载。

 sudo modprobe nf_conntrack_pptp 

参考文献:

我用Google搜索了“LCP:超时发送配置请求”一段时间,但无法找到解决方案。 有些post说它与路由器设置有关,但我的MAC和Android手机连接没有问题,所以这不是我的路由器的问题。

在戳了ppp后,我发现解决方案适合我。 编辑/ etc / ppp / options,启用选项silent,然后解决问题。

  # With this option, pppd will not transmit LCP packets to initiate a # connection until a valid LCP packet is received from the peer (as for # the "passive" option with old versions of pppd). silent 

我使用Ubuntu 12.04,并从GUI设置VPN

对于大多数发行版,您必须为某些PPTP / VPN服务器加载nf_conntrack_pptpnf_conntrack_proto_gre内核模块。 这可以通过以下方式完成:

 $ sudo modprobe nf_conntrack_pptp 

nf_conntrack_proto_gre作为nf_conntrack_pptp的依赖项自动加载)

3月18日06:34:18 tp pppd [5082]:LCP:超时发送配置请求

这可能是GRE(IP 47)协议的问题。 查看此页面:

http://pptpclient.sourceforge.net/howto-diagnosis.phtml#lcp_timeout

还尝试连接到pptp服务器上的1723:

 telnet "server-ip-or-host" 1723 

如果此端口未被阻止,我建议检查计算机和路由器上的防火墙设置(某些路由器有pptp / gre passthrough选项)

解决方案:我们也遇到了同样的问题。 问题是因为pptp客户端版本和ubuntu版本不匹配。 我们手动需要下载和编译源代码而不是apt-get。

从官方网站下载最新版本的pptp客户端源代码

 cd /pptp-1.9.0 make cp pptp /usr/sbin 

完成这些步骤后,VPN正在连接。