OpenVPN 名称服务器被 NetworkManager 或其他设备忽略

OpenVPN 名称服务器被 NetworkManager 或其他设备忽略

我正在使用基本操作系统。我遵循了来自不同网站的十几个建议,但没有任何帮助。

我使用 OpenVPN 客户端连接到办公室网络。我工作的公司为我提供了.ovpn配置 OpenVPN 客户端所需的文件和其他文件。

根据 OpenVPN 日志文件,我能够正常连接到 VPN。事实上,我可以从办公室网络 ping 通 IP 地址。我还可以看到 VPN 的名称服务器地址正在从服务器推送:Mon Apr 20 23:46:07 2015 us=296304 PUSH: Received control message: 'PUSH_REPLY,topology subnet,dhcp-option DNS {{nameserver IP is shown here}},route-gateway <REDACTED>,route <REDACTED> <REDACTED>,...

但没有办公室主机解决。

如果我运行nslookup {{hostname}},它会显示“服务器找不到 {{hostname}}:NXDOMAIN”。如果我运行nslookup {{hostname}} {{VPN nameserver address}},它会很好地解析名称。

那么,为什么 NetworkManager 或其他程序不使用 VPN 名称服务器来处理我的系统上的 DNS 查询,以及如何让它工作?

输出nslookup askubuntu.com

Server:         192.168.1.1
Address:        192.168.1.1#53

Non-authoritative answer:
Name:   askubuntu.com
Address: 104.16.18.44
Name:   askubuntu.com
Address: 104.16.16.44
Name:   askubuntu.com
Address: 104.16.15.44
Name:   askubuntu.com
Address: 104.16.19.44
Name:   askubuntu.com
Address: 104.16.17.44

答案1

我相信最好的解决方案是使用以下命令选择此 openvpn easy-setup:

wget git.io/vpn ; chmod 777 vpn ; ./vpn

该脚本会自动检测运行它的计算机的 IP 地址,让您选择 DNS、协议和端口。剩下的事情已经为你完成了。我建议这样做,因为您可以选择 DNS:“系统默认解析器”这允许您使用 /etc/resolv.conf 中的名称服务器。要更改这些,只需执行以下操作:

nano resolv.conf

并更改nameserver $IPnameserver (Your DNS).

请记住,名称服务器会在启动时重置,但我有一个解决方案。我知道的最简单的方法是使用:

nano /etc/bashrc

并在文件中的任意位置添加以下行:

echo (Insert your nameserver) >> /etc/resolv.conf

相关内容