VPN连接没有互联网
建立到VPN网络的连接后,我无法通过VPN建立Internet连接。 我得不到像tracepath ubuntu.com
这样的网络命令的响应。
该协议是pptp。 我的系统是lubuntu 17.10,32位(恢复旧电脑)。
请提供正确安装或调试提示的指南。
最后,我开始运行并希望在此论坛上分享我的发现。 我需要的信息似乎散布在不同的网站上。
- 在VPN连接中
Configure VPN ...
显示为灰色。
不方便,我不知道如何解决,但有一个解决方法。
浏览编辑连接...并按+ 。 但是,在“连接类型”中,未列出任何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连接 – >
new_vpn
建立VPN连接。 但是,就我而言,无法访问互联网。 感觉就像连接在第一个站点之后中断,或者加载任何站点需要永远。 - 我在这里找到了解决这个问题的方法。 显然,vpn端口的mtu(最大传输单元)太高。 在我的情况下,我必须通过执行手动降低它
ifconfig ppp0 mtu 1388
- 通过连接到vpn,然后通过执行
ping -M do -s
ping一些站点(例如ubuntu.com),可以找到合适的最大mtu。 将-c 1 ubuntu.com
增加10,直到连接丢失(一旦丢失,在我的情况下再次降低时也会失败)我不得不通过sudo service network-manager restart
连接并再次连接到vpn。 找到最高可用
,添加28,这是与vpn端口一起使用的mtu。 另见这里 。 -
还有两个问题,如何在连接到VPN时自动设置mtu值,并且在断开VPN连接后DNS似乎已经消失。 后者可以通过
sudo service network-manager restart
来解决。 这两个任务都可以按脚本/etc/NetworkManager/dispatcher.d/01-ifupdown
建议自动/etc/NetworkManager/dispatcher.d/01-ifupdown
。 使用port和event作为参数调用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。 为此,我需要在文件
/etc/ufw/before.rules
添加-A ufw-before-input -p 47 -j ACCEPT
,就在/etc/ufw/before.rules
# drop invalid packets
andsudo ufw enable
,然后重新启动。 在我的情况下,现在一切正常。 -
后来我发现另一种(可能更好)获取dns的方法是存储包resolvconf。
sudo apt install resolvconf
sudo dpkg-reconfigure resolvconf
然后可以删除脚本的vpn-down部分。