私は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ファイルを再構築しましたが、これはエレガントではなく書き込みソリューションのようには見えません。