CentOS 上的 PPTPD:没有连接

CentOS 上的 PPTPD:没有连接

我已经在 CentOS 服务器上安装了 PPTPD,并尝试从我的 Mac 和 Android 智能手机连接到它。两次都失败了。这是我的 Mac 上的日志(来自 ppp 客户端):

Mon Jun 22 22:11:58 2015 : publish_entry SCDSet() failed: Success!
Mon Jun 22 22:11:58 2015 : publish_entry SCDSet() failed: Success!
Mon Jun 22 22:11:58 2015 : pptp_get_router_address
Mon Jun 22 22:11:58 2015 : pptp_get_router_address 10.0.0.1 from dict 1
Mon Jun 22 22:11:58 2015 : PPTP connecting to server '...' (xxx.xx.xx.xxx)...
Mon Jun 22 22:11:58 2015 : PPTP connection established.
Mon Jun 22 22:11:58 2015 : PPTP set port-mapping for en0, interface: 4, protocol: 0, privatePort: 0
Mon Jun 22 22:11:58 2015 : Using interface ppp0
Mon Jun 22 22:11:58 2015 : Connect: ppp0 <--> socket[34:17]
Mon Jun 22 22:11:58 2015 : PPTP error when reading socket : Connection reset by peer
Mon Jun 22 22:11:58 2015 : PPTP error when reading header : read -1, expected 12 bytes
Mon Jun 22 22:11:58 2015 : PPTP hangup
Mon Jun 22 22:11:58 2015 : Connection terminated.
Mon Jun 22 22:11:58 2015 : PPTP clearing port-mapping for en0
Mon Jun 22 22:11:58 2015 : PPTP disconnecting...
Mon Jun 22 22:11:58 2015 : PPTP disconnected

在服务器上,我的/etc/pptpd.conf外观如下:

option /etc/ppp/options.pptpd
localip 192.168.0.1
remoteip 192.168.0.2-200
listen 000.00.000.00 # Server IP

/etc/ppp/options.pptpd有这个内容:

ms-dns 8.8.8.8
ms-dns 4.2.2.2
lock
name pptpd
require-mschap-v2
require-mppe-128

最后,/etc/ppp/chap-secrets包含一个用户:

mySecretUser * mySecretPassword *

我当然尝试使用用户名mySecretUser和密码连接。mySecretPassword

答案1

尝试如下:在 /etc/pptpd.conf 中,只有这些语句

   localip ipv4-ip-of-your-vps
   remoteip 10.0.0.10-100
   ms-dns 8.8.8.8
   ms-dns 8.8.4.4

/etc/ppp/options.pptpd 中没有其他内容。现在编辑 /etc/sysctl.conf 并编辑行

    net.ipv4.ip_forward = 1

最终得到 1,不是0.现在将其实现为

    sysctl -p

然后给出以下两个命令:

     iptables -P FORWARD ACCEPT
     iptables -t nat -A POSTROUTING -o venet0 -j MASQUERADE

或 venet0:1,取决于哪一个是您的默认 NIC。

编辑:

上面的是标准配置鍵盤因此,如果它不起作用,那是因为它与其他东西相冲突。不幸的是,客户端错误消息没有帮助:

 PPTP error when reading socket : Connection reset by peer

相当于把门猛地关在客户面前,不提供任何详细信息。解决此问题的唯一方法是从服务器端:停止守护进程,然后使用以下命令重新启动它:

    sudo /usr/sbin/pptpd -fd

这将向 /var/log/syslog 发送更多调试消息。现在尝试像以前一样连接到它,并在尝试失败后终止服务器。现在,终端或文件 /var/log/syslog 将包含足够的详细信息来解决问题。

相关内容