数日前、ネットワーク設定を変更していないにもかかわらず、Ubuntu 18.04 で問題が発生し始めました。
問題は、仕事用の VPN (OpenVPN) に接続するときに、「この接続をこのネットワーク上のリソースにのみ使用する」を選択した場合、その VPN ネットワーク上の DNS 名を解決できないことです。このオプションを無効にすると、ネットワーク内の DNS を解決できますが、当然ながら外部に接続することはできません。
systemd-resolve --status
「この接続をこのネットワーク上のリソースにのみ使用する」を無効にして VPN に接続した場合の出力は次のとおりです。
Link 10 (tun0)
Current Scopes: DNS
LLMNR setting: yes
MulticastDNS setting: no
DNSSEC setting: no
DNSSEC supported: no
DNS Servers: 10.xxx.xx.xx
DNS Domain: ~.
つまり、実際には DNS サーバーが表示されます。ただし、「この接続をこのネットワーク上のリソースにのみ使用する」をオンに戻すと、次のようになります。
Link 11 (tun1)
Current Scopes: none
LLMNR setting: yes
MulticastDNS setting: no
DNSSEC setting: no
DNSSEC supported: no
Link 10 (tun0)
Current Scopes: none
LLMNR setting: yes
MulticastDNS setting: no
DNSSEC setting: no
DNSSEC supported: no
私はこの質問に対する解決策を試しましたUbuntu 18.04 で openvpn に接続すると DNS 解決ができないしかし、何も効果がなかったようです。
パッケージの使用も試しましたがunbound
、それでも効果はありませんでした。
これも見つけたUbuntu 18.04 で突然 VPN ネットワーク上のリソースにアクセスできなくなりましたか?もちろん、私だけがそう思っているわけではないのですが、解決策はありません。
他に何をすればいいのか少し迷っています。このためシステム全体を再インストールしたくありません。
答え1
次のコマンドで解決できるかもしれません:
nmcli c modify <vpn-settings-name> ipv4.dns-search '<domain>'
<vpn-settings-name>
NetworkManager の設定と同じである必要があります。
今のところはうまくいっているようです。上記のコマンドを発行する以外は起動後に何も変更していませんが、systemd-resolve --status
VPN ネットワークの正しい DNS が表示されるようになりました。
他の誰かが同じ問題に悩んでいる場合に備えて、解決策を投稿したいと思いました。
答え2
次のようなものを見つけました。
「この接続をこのネットワーク上のリソースにのみ使用する」にチェックを入れたところ、質問の通り DNS がありませんでした。
チェックが外れていた場合、重複したデフォルト ルートが存在しましたが、これを削除すると、DNS を含むすべてが機能するようになります。
systemd-resolve --status
これら 2 つのシナリオの出力を比較すると、次のことがわかりました。
DNS は機能しているが、オプションによって重複したルートが作成された場合は、次のように表示されます。
DNS Domain: ~.
corporate-network.local
DNS が機能しない場合は、次のように表示されます。
DNS Domain: corporate-network.local
したがって、解決策は、「この接続をこのネットワーク上のリソースにのみ使用する」ボックスにチェックを入れ、~.
追加の DNS ドメインとして入力することです。
これで、偽のデフォルト ゲートウェイとすべての内部 DNS 解決を削除することなく、ネットワーク マネージャーから直接接続が機能するようになりました。
答え3
まだ行っていない場合は、元の .ovpn ファイルを再インポートしてみてください。VPN の DNS サーバーが に表示されないという同様の問題が発生しましたsystemd-resolve --status
が、Network Manager で .ovpn ファイルを再インポートすると、問題は解決しました。
答え4
nmcli c modify "Put your VPN Name Here" ipv4.dns-search ~.
コマンドラインに入力し、VPN 接続を再起動するとうまくいきました。