VPN:ping 和浏览问题

VPN:ping 和浏览问题

在家里通过 VPN 连接到我的研究所后

sudo openvpn --config /home/myname/thinkpad1/thinkpad1.ovpn

我无法浏览网页。(连接本身似乎正常,显示“初始化序列已完成”)。在命令行上分析问题时,我看到:

ping google.com

没有给出答案,而

ping 8.8.8.8

成功了。

但打电话

http://8.8.8.8

在浏览器中不成功。

进一步:表演

route -n

我得到:

(1)无需VPN连接

Kernel-IP-Routentabelle
Ziel            Router          Genmask         Flags Metric Ref    Use Iface
0.0.0.0         192.168.0.1     0.0.0.0         UG    600    0        0 wlan0
169.254.0.0     0.0.0.0         255.255.0.0     U     1000   0        0 wlan0
192.168.0.0     0.0.0.0         255.255.255.0   U     600    0        0 wlan0

(2)使用VPN

Kernel-IP-Routentabelle
Ziel            Router          Genmask         Flags Metric Ref    Use Iface
0.0.0.0         10.8.0.217      128.0.0.0       UG    0      0        0 tun0
0.0.0.0         192.168.0.1     0.0.0.0         UG    600    0        0 wlan0
10.8.0.1        10.8.0.217      255.255.255.255 UGH   0      0        0 tun0
10.8.0.217      0.0.0.0         255.255.255.255 UH    0      0        0 tun0
128.0.0.0       10.8.0.217      128.0.0.0       UG    0      0        0 tun0
147.142.19.56   192.168.0.1     255.255.255.255 UGH   0      0        0 wlan0
169.254.0.0     0.0.0.0         255.255.0.0     U     1000   0        0 wlan0
192.168.0.0     0.0.0.0         255.255.255.0   U     600    0        0 wlan0 

编辑:无论是使用 VPN up 还是 VPN down,命令

ls -al /etc/resolv.conf

带来

lrwxrwxrwx 1 root root 29 Jan 13  2016 /etc/resolv.conf -> ../run/resolvconf/resolv.conf

cat /etc/resolv.conf

带来

# Dynamic resolv.conf(5) file for glibc resolver(3) generated by resolvconf(8)
#     DO NOT EDIT THIS FILE BY HAND -- YOUR CHANGES WILL BE OVERWRITTEN
nameserver 127.0.1.1
search box

systemd-resolve --status

说“未知选项”

我试过

systemd-resolve --version

并得到

systemd 229
+PAM +AUDIT +SELINUX +IMA +APPARMOR +SMACK +SYSVINIT +UTMP +LIBCRYPTSETUP +GCRYPT +GNUTLS +ACL +XZ -LZ4 +SECCOMP +BLKID +ELFUTILS +KMOD -IDN

命令

ls -al /etc/openvpn

收益 20

drwxr-xr-x   2 root root  4096 Aug 22 12:38 .
drwxr-xr-x 161 root root 12288 Aug 23 11:52 ..
-rwxr-xr-x   1 root root  1301 Jun 22  2017 update-resolv-conf

grep -i -A3 script-security /home/myname/thinkpad1/thinkpad1.ovpn

没有任何结果。

哪里

dpkg -l resolv*

给出

Gewünscht=Unbekannt/Installieren/R=Entfernen/P=Vollständig Löschen/Halten
| Status=Nicht/Installiert/Config/U=Entpackt/halb konFiguriert/
         Halb installiert/Trigger erWartet/Trigger anhängig
|/ Fehler?=(kein)/R=Neuinstallation notwendig (Status, Fehler: GROSS=schlecht)
||/ Name           Version      Architektur  Beschreibung
+++-==============-============-============-=================================
ii  resolvconf     1.78ubuntu7  all          name server information handler

答案1

sudo -H gedit /home/myname/thinkpad1/thinkpad1.ovpn# 编辑此 .ovpn 文件

将以下内容添加到.ovpn 文件的末尾...

script-security 2
up /etc/openvpn/update-resolv-conf
down /etc/openvpn/update-resolv-conf

保存文件并退出 gedit。

重试...

sudo openvpn --config /home/myname/thinkpad1/thinkpad1.ovpn# 启动 VPN

答案2

您的机器是否使用 DHCP?如果没有,则需要以其他方式设置 DNS 服务器。

另外,您还应该验证这确实是一个 DNS 配置问题...例如使用以下命令查看您的服务器:

$ cat /etc/resolv.conf
...

$ nslookup 
> server
Default server: ... (some ip... if it's your normal non-vpn DNS server, this test fails...it should be something behind the VPN probably)
Address: ...
> 

我所做的是......在您的配置文件(可能名为client.ovpn)中,您可以添加如下行:

script-security 2
route-up connect up
route-pre-down connect down

然后在命名的脚本中connect(与 ovpn 文件位于同一目录中),您可以使用一些代码来执行您需要的操作……例如:

  • 备份旧文件/etc/resolv.conf(使用 mv,而不是 cp...否则硬关机可能会损坏文件)
  • 写一个新的,可能用另一个名称和符号链接ln -s /etc/resolv.conf.vpn /etc/resolv.conf
  • 并且(真恶心,但不知道还有什么其他办法)启用关机/启动 init/rc 脚本,如果您不小心停止计算机,该脚本将用原始脚本替换它(因此 route-pre-down 永远不会运行)。
  • 而且我所做的不是在原始文件中包括以上 3 行,而是使用connect不带参数的命令将它们附加到新文件中并像openvpn client.ovpn.generated

最糟糕的是……由于未知原因,这在一台特定的机器上不起作用,该机器的 DHCP 也无法正常工作,因此目前使用的无问题但仍然糟糕的解决方案是像我描述的静态一样执行它,但也在chattr +i /etc/resolv.conf脚本中,chattr -i /etc/resolv.conf在那里,也在关机/启动 init/rc 脚本中。这当然是错误的方法,但我还没有找到符合通常的发行版网络脚本的正确方法。我希望你的运气比这台机器好。

相关内容