Ubuntu 18.04 を動かしているサーバにて名前解決が一切行えなくなったので、その対処方法をメモとして記載しておきます。
なお、Ubuntu 16.04 以降で発生する問題かと思います(後述)。
1. 名前解決ができない
1 2 3 4 5 6 | % dig dns.google ; <<>> DiG 9.11.3-1ubuntu1.11-Ubuntu <<>> dns.google ;; global options: +cmd ;; connection timed out; no servers could be reached |
2.
/etc/resolv.conf
がない
/etc/resolv.conf
がない…
symbolic link に変更されているのですが
1 2 | /etc% ll resolv* lrwxrwxrwx 1 root root 39 Aug 24 2018 resolv.conf -> ../run/systemd/resolve/stub-resolv.conf |
symbolic link 先の実態も無いw
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 | /run/systemd# ll total 0 drwxr-xr-x 2 root root 40 Feb 16 01:29 ask-password/ srw------- 1 root root 0 Feb 16 01:29 fsck.progress= drwxr-xr-x 7 root root 220 Feb 16 01:29 generator/ drwxr-xr-x 4 root root 140 Feb 16 01:29 generator.late/ d--------- 3 root root 160 Feb 16 01:29 inaccessible/ drwxr-xr-x 2 root root 80 Feb 16 01:29 inhibit/ drwxr-xr-x 2 root root 60 Feb 16 01:29 initctl/ drwxr-xr-x 3 root root 180 Feb 16 01:29 journal/ drwxr-xr-x 2 root root 40 Feb 16 01:29 machines/ drwxr-xr-x 5 systemd-network systemd-network 120 Feb 16 01:29 netif/ drwxr-xr-x 2 root root 60 Feb 16 01:29 network/ srwxrwxrwx 1 root root 0 Feb 16 01:29 notify= srwxrwxrwx 1 root root 0 Feb 16 01:29 private= drwxr-xr-x 2 root root 60 Feb 16 01:29 seats/ drwxr-xr-x 2 root root 80 Feb 16 01:29 sessions/ -rw-r--r-- 1 root root 0 Feb 16 01:29 show-status drwxr-xr-x 2 root root 40 Feb 16 01:29 shutdown/ drwxr-xr-x 2 root root 40 Feb 16 01:29 system/ drwxr-xr-x 2 root root 80 Feb 16 01:29 transient/ drwx------ 2 root root 40 Feb 16 01:29 unit-root/ drwxr-xr-x 2 root root 1200 Feb 16 01:29 units/ drwxr-xr-x 2 root root 60 Feb 16 01:29 users/ |
3. どうやら仕組みが変わった模様…
BionicBeaver の ReleaseNotes によると、
=== New since 16.04 LTS ===
The default DNS resolver is systemd-resolved.
とのことです。
4.
systemd-resolved
から DNS の設定を変更してみる
下記の様に変更してみました。
1 2 3 4 5 6 7 8 9 10 11 12 | % sudo vim /etc/systemd/resolved.conf [Resolve] DNS=1.1.1.1 1.0.0.1 8.8.8.8 8.8.4.4 #FallbackDNS= Domains=daichang.me #LLMNR=no #MulticastDNS=no #DNSSEC=no Cache=yes #DNSStubListener=yes |
systemd-resolved
を再起動して設定を反映させます。
1 | % sudo systemctl restart systemd-resolved |
再起動後の systemd-resolved
を確認してみると…
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 | % systemd-resolve --status Global DNS Servers: 1.1.1.1 1.0.0.1 8.8.8.8 8.8.4.4 DNS Domain: daichang.me 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 (snip.) |
うまく動いてそうですね。
きちんと名前解決ができるようになりました。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 | % dig dns.google ; <<>> DiG 9.11.3-1ubuntu1.11-Ubuntu <<>> dns.google ;; global options: +cmd ;; Got answer: ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 61367 ;; flags: qr rd ra; QUERY: 1, ANSWER: 2, AUTHORITY: 0, ADDITIONAL: 1 ;; OPT PSEUDOSECTION: ; EDNS: version: 0, flags:; udp: 65494 ;; QUESTION SECTION: ;dns.google. IN A ;; ANSWER SECTION: dns.google. 515 IN A 8.8.4.4 dns.google. 515 IN A 8.8.8.8 ;; Query time: 18 msec ;; SERVER: 127.0.0.53#53(127.0.0.53) ;; WHEN: Sun Feb 16 02:58:45 JST 2020 ;; MSG SIZE rcvd: 71 |
めでたしめでたし。
No comment yet, add your voice below!