我正在使用 Elementary OS。我遵循了来自不同网站的十几个建议,但没有任何帮助。
我使用 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}}
,它会说“服务器找不到{{主机名}}: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
Run Code Online (Sandbox Code Playgroud)
小智 0
我相信最好的解决方案是使用以下命令选择此 openvpn easy-setup:
wget git.io/vpn ; chmod 777 vpn ; ./vpn
Run Code Online (Sandbox Code Playgroud)
该脚本会自动检测运行它的计算机的 IP 地址,让您选择 DNS、协议和端口。剩下的都为你完成了。我建议这样做,因为您可以选择 DNS:“系统默认解析器”这允许您使用 /etc/resolv.conf 中的名称服务器。要更改这些,只需执行以下操作:
nano resolv.conf
Run Code Online (Sandbox Code Playgroud)
并更改nameserver $IP
为nameserver (Your DNS)
.
请记住,名称服务器会在启动时重置,但我确实有一个解决方案。我知道的最简单的方法是使用:
nano /etc/bashrc
Run Code Online (Sandbox Code Playgroud)
并在文件中的任意位置添加以下行:
echo (Insert your nameserver) >> /etc/resolv.conf
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
384 次 |
最近记录: |