Linux Ubuntu構成にはDNSサーバー(Bind 9)があります。
そしてresolv.conf
には
nameserver 127.0.0.1
そのLinuxでopenvpn
クライアントを使用する場合、nameserverは(VPNサーバーによって)変更されませんが、VPNセッション中にのみ、別の特定のDNSサーバーに設定しますx.y.z.t
、openvpnクライアント設定を変更する。
次に、openvpn
セッションが終了すると、nameserverが127.0.0.1
に戻るはずです。
それを行うための「クリーン」な方法(つまり、openvpnクライアント設定ファイルの行)はありますか?
(注:VPNサーバーの構成は変更できません)
さらにググったら、答えを見つけることができました-誰かを助けることができるかどうか以下で。
resolv.conf
構成ファイルを保存および復元できるインストールresolvconf/usr/share/openvpn
に追加し、update-resolv-conf
という名前を付けます。スクリプトは、新しいresolv.conf
とは何か、およびそれを復元する方法を決定します(下のリンクを参照)これらの行
script-security 2
up /usr/share/openvpn/update-resolv-conf
down /usr/share/openvpn/update-resolv-conf
openvpnクライアント設定ファイル内。
詳細は this wiki を読んでください。
クライアントでroute-up
/route-down
スクリプトを使用して、接続設定の構成を必要に応じて変更することを検討してください。これを設定する方法、およびこれらのスクリプトで使用する可能性のある変数の詳細については、 OpenVPN docs を参照してください。
これは、この問題の修正に役立つ情報でした。
私はArch Linuxユーザーですが、LinuxクライアントがAccess Serverで使用されている場合、問題のクライアントのDNS設定を変更することはできません。これは、スタンドが立っているため、ホストを解決しないためです OPEN VPNドキュメント
私は問題を修正するスクリプトを作成し、いくつかの追加パラメーターを使用して、コマンドラインからopenvpn接続を処理しました。
https://Gist.github.com/Android10/ee5c3e93dbcf9b7b31e6ee768cbfd477
接続のために実行されている主なコマンドは次のとおりです。
Nohup openvpn --config $OVPN_FILE_PATH --askpass $OVPN_PRIVATE_KEY_FILE_PATH \
--script-security 2 \
--setenv PATH '/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin' \
--up /etc/openvpn/scripts/update-systemd-resolved \
--down /etc/openvpn/scripts/update-systemd-resolved \
--down-pre \
&>/dev/null &
どんなフィードバックでもそれ以上に感謝されます。