Ubuntuサーバー18.04では、netplanを無効にし、/ etc/network/interfacesを使用しました。
Sudo apt-get -y install ifupdown
cat <<EOM | Sudo bash -c 'cat > /etc/network/interfaces'
auto lo
iface lo inet loopback
auto eth0
iface eth0 inet static
address 192.168.5.5
netmask 255.255.255.0
gateway 192.168.5.254
dns-nameservers 192.168.5.53 192.168.5.5
EOM
Sudo ifdown --force eth0 lo && Sudo ifup -a
Sudo systemctl stop networkd-dispatcher
Sudo systemctl disable networkd-dispatcher
Sudo systemctl mask networkd-dispatcher
Sudo apt-get -y purge nplan netplan.io
しかし、明らかにsystemd-resolveはdns-nameservers
フィールドを考慮していません。
/etc/resolv.conf
には、これだけを入れます:
nameserver 127.0.0.53
ls -la /etc/resolv.conf
の出力は次のとおりです。
lrwxrwxrwx 1 root root 39 Oct 2 15:28 /etc/resolv.conf -> ../run/systemd/resolve/stub-resolv.conf
Sudo systemd-resolve --status | grep -A3 Server
の出力は空です。
次のように/etc/systemd/resolved.conf
でDNSサーバーを定義できます。
[Resolve]
DNS=192.168.5.53 192.168.5.5
Sudo systemd-resolve --status | grep -A3 Server
の出力は次のとおりです。
DNS Servers: 192.168.5.53
192.168.5.5
DNSSEC NTA: 10.in-addr.arpa
16.172.in-addr.arpa
そして、それらは正しく使用され、/etc/resolv.conf
に表示されます。
dns-nameservers
config行を機能させる方法は?
パッケージresolvconf
も必要です。
したがって、ネットプランを完全に取り除くには:
/etc/network/interfaces
を構成します$ Sudo apt install ifupdown resolvconf
$ Sudo apt remove nplan netplan.io
Dns-nameservers config行を機能させる方法は?
Statusコマンドでわかるように、この行は完全に機能しています。
DNS Servers: 192.168.5.53
192.168.5.5
シンボリックリンク/etc/resolv.confは次を示します。
nameserver 127.0.0.53
これは、dnsmasqがここで実行されていることを示しています。 https://help.ubuntu.com/community/Dnsmasq
つまり、これは、ドメイン名のルックアップが最初にローカルキャッシュを照会して、サイトが以前にアクセスされたかどうかを確認することを意味します。このコンテキストでは、127.0.0.xxは「ローカル」です。その場合、ローカルキャッシュはIPアドレスを提供します。以前にサイトにアクセスしたことがなく、ローカルキャッシュで参照が利用できない場合は、リストされたDNSネームサーバーのみが利用できます。 192.168.5.53と192.168.5.5が使用されます。
上記の測定値は完全に正常で予想されるものです。
答えを参照してください here 。
Ubuntu 18.04でDNSを変更するには、/etc/systemd/resolved.conf
ファイルを編集する必要があります。