我刚刚升级到 18.04,但遇到一个问题,我的妻子无法通过我们的家庭网络(Linux 机器充当路由器)连接到她工作使用的基于 PPTP 的 VPN。如果我绕过 Linux 机器,VPN 连接就可以正常连接。
我以前设置这个的时候遇到了麻烦,直到我发现我需要加载模块 nf_nat_pptp。之后,它一直运行良好,直到升级。我试过禁用 UFW,但仍然不起作用。
我似乎无法获得太多关于此问题的调试信息。(有任何调试提示吗?)我遇到的唯一有关此问题的线索是 Windows 中的 RasSstp 错误,其消息为“证书链已处理,但终止于不受信任提供商信任的根证书”。Linux 机器(作为路由器)是否需要知道证书颁发机构才能允许路由?!或者也许它在链中插入了自己的证书,而这不是 Windows 服务器端受信任的 CA?
我只是对该协议了解不够,无法解决这个问题---任何帮助都将不胜感激。
答案1
Ubuntu 18.04.1 服务器
PPTP PassThrough 在添加后开始工作
net.netfilter.nf_conntrack_helper = 1
并添加模块:
modprobe ip_nat_pptp
这应该可以解决问题。
答案2
我发现了这个问题。我必须补充一点:
net.netfilter.nf_conntrack_helper = 1
到 /etc/sysctl.conf。似乎默认情况下,在较新的内核版本中,辅助程序默认处于关闭状态。(我认为它应该通过 iptables 非常有选择地应用。(我最接近 iptables 的是 UFW。)如果您弄清楚如何通过 iptables 有选择地执行此操作,请告诉我。
此设置,或者我绝望地从 ifupdown 切换到 netplan 似乎导致我的系统中出现 dnsmasq 竞争问题。我添加了以下内容---但时间会告诉我们它是否总是能解决竞争问题(如果问题持续存在,可能会回到 ifupdown)。
sudo systemctl edit dnsmasq`并添加三行:
[Unit]
After=network-online.target
Wants=network-online.target