Resolvconf 未重置 DNS 设置

Resolvconf 未重置 DNS 设置

我正在使用 OpenVPN 2.3.11 i686-pc-linux-gnu 连接到远程 VPN 服务器。

我想连接到 VPN 服务器,从 VPN 服务器加载 DNS 名称服务器。

一旦与 VPN 服务器断开连接,DNS 设置应恢复为原始设置。

目前,我可以连接并从 OpenVPN 服务器获取 DNS 设置,因此我可以通过 VPN 的名称服务器解析名称。但是,断开 VPN 连接后,我从本地 DHCP 服务器获取的原始 DNS 服务器尚未设置。

我正在使用 resolvconf 和 openresolv,并且已将以下条目添加到标准 OpenVPN 配置文件 config.ovpn 中:

...
up /etc/openvpn/update-resolv-conf.sh
down /etc/openvpn/update-resolv-conf.sh
...

当我启动 openvpn 时,我能够接收正确的 DNS 服务器,并且 /etc/resolv.conf 文件会更新,其中 AAAA 和 BBBB 是来自 openvpn 隧道的名称服务器:

 cat /etc/resolv.conf
 # Generated by resolvconf    
 nameserver A.A.A.A                                                  
 nameserver B.B.B.B

现在,当我断开 openvpn (CTRL-C) 并尝试重新启动网络服务时,/etc/resolv.conf 不会更新为我的原始 DNS 设置。我以不同的顺序尝试了以下命令,但无法将 /etc/resolv.conf 恢复为原始 DHCP 设置,但没有成功:

service networking restart
dhclient -r eth0
dhclient eth0

任何有关如何解决此问题的想法将不胜感激。

PS:作为一种解决方法,我使用原始 DNS 服务器重写 /etc/resolv.conf 文件,这并不优雅,而且看起来不像是写入解决方案。

相关内容