ネットワーキング設定を変更していませんが、数日前にUbuntu 18.04で問題が発生し始めました。
問題は、仕事用のVPN(OpenVPN)に接続するときに、[このネットワーク上のリソースに対してのみこの接続を使用する]を選択した場合、そのVPNネットワーク上のDNS名を解決できないことです。このオプションを無効にすると、ネットワーク内でDNSを解決できますが、当然、外部には接続できません。
「このネットワーク上のリソースにのみこの接続を使用する」を無効にしてVPNに接続した場合のsystemd-resolve --status
の出力は次のとおりです。
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
私はこの質問で解決策を試しました buntu 18.04 openvpnに接続したときにDNS解決なし が、何も機能していないようです。
また、unbound
パッケージを使用してみましたが、それも役に立ちませんでした。
これも見つかりました 突然、Ubuntu 18.04のVPNネットワーク上のリソースにアクセスできなくなりますか? そのため、私は明らかにこれだけではありませんが、解決策はありません。
このため、システム全体を再インストールしたくありません。
私はこのコマンドでそれを解決したかもしれません:
nmcli c modify <vpn-settings-name> ipv4.dns-search '<domain>'
<vpn-settings-name>
は、NetworkManagerの設定と同じである必要があります。
とりあえずトリックをしているように見えるので、上記のコマンドを発行することを除いて、ブート後は何も変更していません。VPNネットワークの正しいDNSがsystemd-resolve --status
に表示されます。
他の誰かが同じ問題で苦労している場合の解決策を投稿したかった。
以下を見つけました。
「このネットワークのリソースにのみこの接続を使用する」にチェックを入れると、質問どおりにDNSがありませんでした。
チェックされていない場合、デフォルトルートが重複していたため、いったん削除すると、DNSを含むすべてが機能します。
これら2つのシナリオのsystemd-resolve --status
の出力を比較すると、次のことがわかりました。
DNSは機能したが、オプションによって重複ルートが作成された場合、次のように表示されます。
DNS Domain: ~.
corporate-network.local
DNSが機能しなかった場合、次のように表示されます。
DNS Domain: corporate-network.local
したがって、解決策は、[このネットワークのリソースにのみこの接続を使用する]チェックボックスをオンにし、追加のDNSドメインとして~.
を入力することです。
これで、接続がネットワークマネージャーから直接機能し、偽のデフォルトゲートウェイを削除する必要がなくなり、すべての内部DNSが解決されます。
元の.ovpnファイルをまだインポートしていない場合は、再インポートしてみてください。 VPNのDNSサーバーがsystemd-resolve --status
に表示されないという同様の問題が発生しましたが、Network Managerに.ovpnファイルを再インポートすると、問題は解決しました。