没有通过 VPN 连接进行互联网

没有通过 VPN 连接进行互联网

在建立与 VPN 网络的连接后,我无法通过 VPN 建立互联网连接。我没有收到网络命令的响应,例如tracepath ubuntu.com
协议是 pptp。我的系统是 lubuntu 17.10,32 位(恢复旧电脑)。
请提供正确安装的指南或调试提示。

答案1

最后,我终于开始使用它了,并想在这个论坛上分享我的发现。我需要的信息似乎分散在不同的网站上。

  • Configure VPN ...VPN Connections灰色的。
    很不方便,我不知道如何解决,但有一个解决方法。
    浏览并按Edit Connections...+但是,在连接类型中,没有列出 VPN。
  • 我(重新)安装了 VPN 连接所需的模块,
    sudo apt-get install --reinstall network-manager network-manager-gnome openvpn network-manager-openvpn network-manager-openvpn-gnome network-manager-pptp network-manager-pptp-gnome pptp-linux
  • 现在可以添加 pptp 连接,如第一点所述。使用 VPN 提供商提供的凭据和设置对其进行配置。
  • 为了避免防火墙问题,请先尝试关闭 UncomplicatedFirewall, sudo ufw disable然后重新启动。
  • 之后:VPN Connections->new_vpn建立 VPN 连接。但是,我的情况是无法访问互联网。感觉就像第一个网站之后连接就断了,或者加载任何网站都需要很长时间。
  • 我找到了解决这个问题的方法这里。显然,vpn 端口的 mtu(最大传输单元)太高了。就我而言,我必须通过执行以下代码手动降低它
    ifconfig ppp0 mtu 1388
  • 可以通过连接到 VPN,然后执行 ping 某个站点(例如 ubuntu.com)来找到合适的最大 mtu ping -M do -s <number> -c 1 ubuntu.com。增加<number>10 直到连接断开(一旦断开,在我的情况下,再次降低也会失败)我不得不通过sudo service network-manager restart重新连接到 VPN 来恢复连接。找到可用的最高值后<number>,添加 28,这就是 VPN 端口使用的 mtu。另请参阅这里
  • 还剩下两个问题,如何在连接到 VPN 时自动设置 mtu 值,以及断开 VPN 连接后 DNS 似乎消失了。后者可以通过 解决sudo service network-manager restart。这两项任务都可以按照脚本 中的建议自动完成 /etc/NetworkManager/dispatcher.d/01-ifupdown。文件夹中的脚本dispatcher.d以端口和事件作为参数调用。因此,我在此文件夹中创建了一个可执行脚本,如下所示
    #!/bin/sh

    #info : pre-up and pre-down are not implemented in network-manager
    
    if [ "$2" = "vpn-up" ]; then  
        /sbin/ifconfig "$1" mtu 1388  
    fi  
    
    if [ "$2" = "vpn-down" ]; then  
        /usr/sbin/service network-manager restart  
    fi
    
  • 最后,我想再次启用 ufw。为此,我需要-A ufw-before-input -p 47 -j ACCEPT在文件中添加/etc/ufw/before.rules,就在 # drop invalid packets执行之前sudo ufw enable,然后重新启动。现在一切正常,就我而言。

  • 后来我发现另一种(可能更好)的恢复 DNS 的方法是存储包 resolvconf。
    sudo apt install resolvconf
    sudo dpkg-reconfigure resolvconf
    然后可以删除脚本的 vpn-down 部分。
    后来我发现 pptp vpn 后非超级用户的 DNS 丢失行为如下所述:
    https://bugs.launchpad.net/ubuntu/+source/ppp/+bug/1778946

相关内容