Linuxのレゾルバが問い合わせるネームサーバーのIPアドレスは、「/etc/resolv.conf」に記述されます。
かつては、このファイルをユーザーが直接編集したり、設定ツールが直接書き換えたりしていました。
たとえば、ネームサーバーのIPアドレスとして「192.168.1.1」を設定するなら、「/etc/resolv.conf」以下のように記述していました。
nameserver 192.168.1.1
また、DHCPサーバーからネットワーク設定を取得している場合は、取得したネームサーバーのIPアドレスが「/etc/resolv.conf」に自動で記述されるようになっていました。
ところが、Ubuntu 12.04 LTSからは「/etc/resolv.conf」には直接記述されなくなっています。
Ubuntu 18.04 LTSの場合、「/etc/resolv.conf」は「../run/systemd/resolve/stub-resolv.conf」へのシンボリックリンクです。
$ ls -l /etc/resolv.conf
lrwxrwxrwx 1 root root 39 Jul 25 22:59 /etc/resolv.conf -> ../run/systemd/resolve/stub-resolv.conf
このファイルには、ネームサーバーのアドレスとして「127.0.0.53」だけが記述されています。
nameserver 127.0.0.53
これは、ネームサーバーへの問い合わせをローカルホストで動く「systemd-resolve」を介して行うようになっているためです。
以下のコマンドで、「systemd-resolve」が「127.0.0.53」のTCP53番ポートで待ち受けていることが確認できます。
State Recv-Q Send-Q Local Address:Port Peer Address:Port
LISTEN 0 128 127.0.0.53%lo:53 0.0.0.0:* users:(("systemd-resolve",pid=668,fd=13))
LISTEN 0 128 0.0.0.0:22 0.0.0.0:* users:(("sshd",pid=1056,fd=3))
LISTEN 0 128 [::]:22 [::]:* users:(("sshd",pid=1056,fd=4))
そしてsystemd-resolveが問い合わせるネームサーバーのIPアドレスは、「/run/systemd/resolve/resolv.conf」に記述されています。ここに記載されるIPアドレスは、DHCPサーバーから取得したものや、デスクトップ版ならGUIで設定したもの、サーバー版なら「/etc/netplan/」以下のYAMLファイルに記述したもの、そして「/etc/systemd/resolved.conf」で設定したものです。
以下のように「systemd-resolve –status」コマンドを実行することで、詳細な状況表示を行うことができます。systemd-resolveが問い合わせるネームサーバーのIPアドレスも確認できます。
$ systemd-resolve --status
Global
DNSSEC NTA: 10.in-addr.arpa
16.172.in-addr.arpa
168.192.in-addr.arpa
17.172.in-addr.arpa
18.172.in-addr.arpa
19.172.in-addr.arpa
20.172.in-addr.arpa
21.172.in-addr.arpa
22.172.in-addr.arpa
23.172.in-addr.arpa
24.172.in-addr.arpa
25.172.in-addr.arpa
26.172.in-addr.arpa
27.172.in-addr.arpa
28.172.in-addr.arpa
29.172.in-addr.arpa
30.172.in-addr.arpa
31.172.in-addr.arpa
corp
d.f.ip6.arpa
home
internal
intranet
lan
local
private
test
Link 2 (enp0s3)
Current Scopes: DNS
LLMNR setting: yes
MulticastDNS setting: no
DNSSEC setting: no
DNSSEC supported: no
DNS Servers: 192.168.1.1
コメント