Ubuntu 18.04以降でDNSサーバーを変更する方法
めっちゃハマった
環境
- Ubuntu 17.04以降
ネームサーバーを変更できない問題
DNSの変更は/etc/resolv.conf、という時代は古い。Ubuntu 17.04以降ではsystemd-resolvedがデフォルトで動作しているため、/etc/resolv.confを書き換えても変更されない
そもそも/etc/resolv.confは/run/resolvconf/resolv.confのシンボリックリンクになっている()
$ ls -l /etc/resolv.conf lrwxrwxrwx 1 root root 29 1月 15 11:13 /etc/resolv.conf -> ../run/resolvconf/resolv.conf
UbuntuでDNSサーバーを変更する方法
systemd-resolve --statusを実行すると現在の設定されているDNSサーバーが表示される。
変更したいときは /etc/systemd/resolved.confのDNSの項目に追加する 複数ある場合は半角スペースで区切って追加
[Resolve] DNS=8.8.8.8 8.8.4.4
で再起動して反映
systemctl restart systemd-resolved
再度systemd-resolve --statusを実行すると設定したネームサーバーに変わっている。
# systemd-resolve --status
Global
DNS Servers: 8.8.8.8
8.8.4.4
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
(略)