Ubuntuで指定されているDNSサーバ 127.0.0.53

ALL
スポンサーリンク

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

コメント