我正在使用 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 文件,这并不优雅,而且看起来不像是写入解决方案。