无法连接到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_pptp
和nf_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正在连接。