
Ubuntu 20.04 サーバーを所有しており、DNS 設定を変更したいと考えています。サーバーは netplan と cloud-init を使用しています。
/etc/cloud/cloud.cfg.d/99-disable-network-config.cfg
次の内容のファイルを作成して、cloud-init ネットワーク構成を無効にしました。
network: {config: disabled}
次の内容が自動的に生成されます/etc/netplan/50-cloud-init.yaml
(セクションは自分で追加しましたnameservers
)。
# This file is generated from information provided by the datasource. Changes
# to it will not persist across an instance reboot. To disable cloud-init's
# network configuration capabilities, write a file
# /etc/cloud/cloud.cfg.d/99-disable-network-config.cfg with the following:
# network: {config: disabled}
network:
version: 2
ethernets:
ens3:
dhcp4: true
match:
macaddress: fa:16:3e:d9:e5:96
mtu: 1458
set-name: ens3
addresses: [192.168.0.48/24]
gateway4: 192.168.0.1
nameservers:
addresses: [178.22.122.100, 185.51.200.2]
これらの設定が上書きされないように、次の内容のディレクトリに50-cloud-init.yaml
名前を付けたファイルのコピーを作成しました。60-change-dns.yaml
/etc/netplan/
network:
version: 2
ethernets:
ens3:
dhcp4: true
match:
macaddress: fa:16:3e:d9:e5:96
mtu: 1458
set-name: ens3
addresses: [192.168.0.48/24]
gateway4: 192.168.0.1
nameservers:
addresses: [178.22.122.100, 185.51.200.2]
次にsudo netplan apply
コマンドを実行しましたが、すべて正常に動作しているようでした。ネーム サーバーが変更されたかどうかを確認するために実行したところ、sudo resolvectl status
出力は次のようになりました (興味深い部分)。
Link 2 (ens3)
Current Scopes: DNS
DefaultRoute setting: yes
LLMNR setting: yes
MulticastDNS setting: no
DNSOverTLS setting: no
DNSSEC setting: no
DNSSEC supported: no
Current DNS Server: 178.22.122.100
DNS Servers: 178.22.122.100
185.51.200.2
8.8.8.8
8.8.4.4
DNS Domain: openstacklocal
8.8.8.8
DNS サーバー リストにあると は一体何なのでしょうか8.8.4.4
? これらはデフォルトで存在しており、その上にさらに 2 つの DNS サーバーを追加するのが目的ではありませんでした。これらを独自のカスタム DNS サーバーに完全に置き換えたかったのです。
DNS サーバー リストから8.8.8.8
を削除するにはどうすればよいですか?8.8.4.4
答え1
dhcp4: 真
への変更dhcp4: 偽Google DNS サーバーを DHCP サーバー (おそらくルーター) から取得しており、静的 IP 構成になっています。