Ubuntuでは参照先のDNSサーバが127.0.0.53となっていますが、最終的にDHCPサーバから取得したDNSサーバやユーザがGUI等で指定したDNSサーバが参照されます。
この参照先DNSサーバ取得の流れです。
なお、先にまとめておくと、
・DNSサーバを指定する場合は、GUI等での指定や、DHCPサーバで設定を変更します。/etc/resolv.conf や、/run/systemd/resolve/resolv.conf の内容を編集してはいけません。
・既存で指定しているDNSサーバに追加して指定する場合は、/etc/systemd/resolved.conf で DNS= で指定します。(編集後、systemctl restart systemd-resolved します)
となります。
以下、説明です。
DNSサーバーの指定は /etc/resolv.conf で以下のように 127.0.0.53 となっています。
127.0.0.53 で動いているのは、自マシン内の systemd-resolved という、ローカルアプリに名前解決を提供するサービスです。
nameserver 127.0.0.53
options edns0 trust-ad
/etc/resolv.conf は /run/systemd/resolve/stub-resolv.conf へのシンボリックリンクです。
また、内容は systemd-resolved により管理されているため、勝手に中身を編集してはいけません。
systemd-resolved で参照するDNSサーバは、/run/systemd/resolve/resolv.conf の内容が参照されます。
/run/systemd/resolve/resolv.conf の内容は次のようになっていて、DHCPサーバから取得したものや、GUI等で設定したもの、/etc/systemd/resolved.conf での設定が自動的に反映されています。
従って、このファイルの中身も勝手に編集してはいけません
nameserver 8.8.8.8
/etc/systemd/resolved.conf でのDNSサーバの設定は、 DNS= で指定します。
[Resolve]
DNS=1.1.1.1
:
:
/etc/systemd/resolved.conf を変更後は、次のコマンドを実行します。
systemctl restart systemd-resolved
/etc/systemd/resolved.conf は次のように、/etc/systemd/resolved.conf での指定内容が追加されます。
結果、複数DNSサーバが列挙されていますが、最も早いDNSサーバの応答が利用されます。
nameserver 1.1.1.1
nameserver 8.8.8.8
以上のように、DNSサーバを指定するために /etc/resolv.conf や、/run/systemd/resolve/resolv.conf の内容を編集してはいけません。
指定する場合は、GUI等での指定や、DHCPサーバで設定を変更します。
参考
Ubuntuで「ネームサーバー」の設定を確認する方法 | LFI
Dnsmasq で おうち DNS on Ubuntu 20.04 LTS
Lubuntu 18.04 で内部 DNSを利用する – あららぼ
【Ubuntu20.04LTS】特定のWebサイトだけ閲覧できない問題を解決|MarsquaiBlog
コメント