我的 Ubuntu 18.04 遇到了一个奇怪的问题。我使用 openfortivpn 连接到我的公司资源,并且运行正常。我还使用 openvpn 连接到一些不同的资源,有时甚至同时连接。今天,VPN 背后的所有资源都无法访问,我发现这与我 PC 上的某些 DNS 设置有关。
没有活动的 openfortivpn 连接:
ll /etc/resolv.conf
lrwxrwxrwx 1 root root 37 Jan 9 10:52 /etc/resolv.conf -> /run/systemd/resolve/stub-resolv.conf
grep name /run/systemd/resolve/*.conf
/run/systemd/resolve/resolv.conf:nameserver 192.168.139.2
/run/systemd/resolve/stub-resolv.conf:nameserver 127.0.0.53
Run Code Online (Sandbox Code Playgroud)
使用主动式 openfortivpn:
ll /etc/resolv.conf
lrwxrwxrwx 1 root root 37 Jan 9 10:52 /etc/resolv.conf -> /run/systemd/resolve/stub-resolv.conf
grep name /run/systemd/resolve/*.conf
resolv.conf:nameserver 192.168.139.2
stub-resolv.conf:nameserver 10.220.64.161
stub-resolv.conf:nameserver 10.220.64.162
Run Code Online (Sandbox Code Playgroud)
如您所见,openfortivpn 已将 2 个新名称服务器插入到`/run/systemd/resolve/stub-resolv.conf` 中,这很好。但是似乎`systemd-resolve`没有采用这个新配置(`ppp0`接口没有DNS服务器)并且无法访问VPN背后的内部资源:
sudo systemd-resolve --status
Global
DNSSEC NTA: 10.in-addr.arpa
16.172.in-addr.arpa
168.192.in-addr.arpa
17.172.in-addr.arpa
18.172.in-addr.arpa
19.172.in-addr.arpa
20.172.in-addr.arpa
21.172.in-addr.arpa
22.172.in-addr.arpa …
Run Code Online (Sandbox Code Playgroud)