PPTP VPN 适用于 Windows,不适用于 Linux

PPTP VPN 适用于 Windows,不适用于 Linux

我无法从 Linux 连接到我工作单位的 PPTP VPN。但当我重新启动 Windows 时,它就可以正常工作。

我正在使用 Ubuntu 16.04,并尝试使用网络管理器和 PPTP 插件进行连接。

nmap返回有关 VPN 服务器的以下开放端口信息:

PORT     STATE  SERVICE
22/tcp   open   ssh
80/tcp   open   http
113/tcp  open   ident
443/tcp  open   https
1723/tcp closed pptp

如您所见,端口 1723 已关闭。事实上,如果我尝试telnet(建议pptp 诊断文档) Unable to connect to remote host: Connection refused:。

那么,Windows 连接如何才能工作呢?更重要的是:如何让 Linux 工作,这样我就不必重新启动了?

PPTPD 日志:

Plugin /usr/lib/pppd/2.4.7/nm-pptp-pppd-plugin.so loaded.
pppd 2.4.7 started by root, uid 0
nm-pptp-service-11960 log[main:pptp.c:350]: The synchronous pptp option is NOT activated
nm-pptp-service-11960 warn[open_inetsock:pptp_callmgr.c:352]: connect: Connection refused
nm-pptp-service-11960 fatal[callmgr_main:pptp_callmgr.c:134]: Could not open control connection to xx.xx.xxx.x
nm-pptp-service-11960 fatal[open_callmgr:pptp.c:526]: Call manager exited with error 256

我的路由器上已启用 PPTP 直通。

答案1

由于它在运行 Windows 的相同硬件上运行,所以它可能是 ubuntu 中的软件防火墙,或者可能是 Windows 中的 upnp 为流量配置路由器(参见帖子的最后一部分)。

作为暴力检查,使用以下命令完全禁用防火墙:

sudo ufw disable

然后看看你是否可以使用 pptp 连接。要重新打开它,请将 disable 替换为 enable。

如果禁用防火墙 (ufw) 后它确实有效,那么如果您想继续使用它,则需要配置防火墙以允许流量。如果您在硬件防火墙 (路由器) 后面的完全受信任的网络 (家庭) 上,使用软件防火墙可能有点过头了。这是您的决定;意见各不相同。

要在启用防火墙的情况下使用 pptp:

这些说明在 14.x 中有效;我还没有在 16.x 中测试过它们;但我不知道防火墙是否有任何变化会改变这一点。

以 root 身份编辑:

vi /etc/ufw/before.rules

在# drop INVALID 行之前添加以下内容:

-A ufw-before-input -p 47 -j ACCEPT

保存并关闭。

然后在终端

sudo ufw allow 1723/tcp
sudo modprobe nf_conntrack_pptp
sudo ufw disable
sudo ufw enable

如果禁用防火墙没有什么作用:

从第三方角度检查 VPN 端口是否开放。请访问此网站http://www.canyouseeme.org/,然后输入 1723 和 - 然后 - 47 以及 IP 地址(VPN 服务器的 IP 地址,而不是您的 IP 地址),以查看您的 LAN 之外是否存在到这些端口的路由。

有可能 Windows 正在使用 upnp 打开路由器中的端口并启用 GRE 数据包(端口 47,pptp 使用的一种特殊数据包类型),而 Linux 不会这样做。在这种情况下,禁用 ubuntu 防火墙不会有任何区别,并且必须手动配置路由器以通过 GRE 流量并允许端口 1723。发布您的结果。

更新

您能 ping 通 VPN 服务器吗?traceroute 'vpnserver' 显示什么?

PPTP 通常是 Linux 中最难配置的 VPN 协议;他们是否提供类似 openvpn 的替代方案?

我会配置 iptables 来输出详细日志,并查看哪些内容被丢弃。请参阅http://linuxconfig.net/manual-howto/how-to-enable-iptables-log-file-in-ubuntu-11-04.html

尝试每个失败的步骤并发布日志(如果可以)。

相关内容