VMware Photon OS 3.0 の参照 DNS サーバの設定は、
これまでの Photon OS とは様子が変わっているようです。
今回は、Photon OS 3.0 の DNS サーバ アドレスの確認と、設定変更をしてみます。
Photon OS 3.0 は、GitHub の URL からダウンロードできる
「OVA with virtual hardware v13 (UEFI Secure Boot)」を利用しています。
Downloading Photon OS · vmware/photon Wiki · GitHub
root@photon-machine [ ~ ]# cat /etc/photon-release
VMware Photon OS 3.0
PHOTON_BUILD_NUMBER=26156e2
Photon 3.0 の /etc/resolv.conf は下記のように、
nameserver に「127.0.0.53」というアドレスが設定されています。
root@photon-machine [ ~ ]# cat /etc/resolv.conf
# This file is managed by man:systemd-resolved(8). Do not edit.
#
# This is a dynamic resolv.conf file for connecting local clients to the
# internal DNS stub resolver of systemd-resolved. This file lists all
# configured search domains.
#
# Run "resolvectl status" to see details about the uplink DNS servers
# currently in use.
#
# Third party programs must not access this file directly, but only through the
# symlink at /etc/resolv.conf. To manage man:resolv.conf(5) in a different way,
# replace this symlink by a static file or a different symlink.
#
# See man:systemd-resolved.service(8) for details about the supported modes of
# operation for /etc/resolv.conf.
nameserver 127.0.0.53
このアドレスは、DNS サーバ関連のようで、UDP 53 番ポートで待ち受けているようです。
root@photon-machine [ ~ ]# ss -an | grep 127.0.0.53
udp UNCONN 0 0 127.0.0.53%lo:53 0.0.0.0:*
そして 53番ポートのプロセスを確認してみると、
resolv.conf のコメントとも関係ありそうな systemd-resolve というものです。
root@photon-machine [ ~ ]# tdnf install -y lsof
root@photon-machine [ ~ ]# lsof -i:53 -P -n
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
systemd-r 205 systemd-resolve 12u IPv4 3644 0t0 UDP 127.0.0.53:53
root@photon-machine [ ~ ]# ps -p 205
PID TTY TIME CMD
205 ? 00:00:00 systemd-resolve
これは、systemd 229 以降に導入された名前解決マネージャーの仕組みのようです。
https://www.freedesktop.org/wiki/Software/systemd/resolved/
ちなみに、Photon 3.0 は systemd 239 でした。
root@photon-machine [ ~ ]# rpm -q systemd
systemd-239-10.ph3.x86_64
DNS サーバのアドレスは、/etc/systemd/network/*.network ファイルの
「DNS=」で設定したものが反映されます。
Photon OS 3.0 では、デフォルトでは DHCP 設定のファイルが配置されています。
root@photon-machine [ ~ ]# cat /etc/systemd/network/99-dhcp-en.network
[Match]
Name=e*
[Network]
DHCP=yes
IPv6AcceptRA=no
現時点では、DHCP 設定により自宅ラボの DNS サーバ 2台が設定されています。
root@photon-machine [ ~ ]# resolvectl dns
Global:
Link 2 (eth0): 192.168.1.101 192.168.1.102
resolvectl では、より詳細な情報も確認できます。
(デフォルトだとページャが作用しますが、とりあえず cat で全体表示しています)
root@photon-machine [ ~ ]# resolvectl | cat
Global
LLMNR setting: no
MulticastDNS setting: yes
DNSOverTLS setting: no
DNSSEC setting: no
DNSSEC supported: no
Fallback DNS Servers: 8.8.8.8
8.8.4.4
2001:4860:4860::8888
2001:4860:4860::8844
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 (eth0)
Current Scopes: DNS
LLMNR setting: yes
MulticastDNS setting: no
DNSOverTLS setting: no
DNSSEC setting: no
DNSSEC supported: no
Current DNS Server: 192.168.1.101
DNS Servers: 192.168.1.101
192.168.1.102
ためしに、DNS サーバのアドレスを変更してみます。
設定ファイルを vi エディタで編集します。
root@photon-machine [ ~ ]# vi /etc/systemd/network/99-dhcp-en.network
今回は、下記の赤字部分を追記します。
[Match]
Name=e*
[Network]
DHCP=yes
IPv6AcceptRA=no
Domains=go-lab.jp
DNS=192.168.1.1
DNS=192.168.1.2
ネットワークを再起動します。
root@photon-machine [ ~ ]# systemctl restart systemd-networkd
DNS サーバアドレスが追加登録されました。
DHCP サーバによる DNS サーバのアドレスよりも高優先度で
ファイルに追記した DNS サーバが追加されました。
root@photon-machine [ ~ ]# resolvectl dns
Global:
Link 2 (eth0): 192.168.1.1 192.168.1.2 192.168.1.101 192.168.1.102
resolvectl コマンドの末尾 10行だけ表示してみると、
「Domains」のドメインも追加されています。
root@photon-machine [ ~ ]# resolvectl | tail -n 10
LLMNR setting: yes
MulticastDNS setting: no
DNSOverTLS setting: no
DNSSEC setting: no
DNSSEC supported: no
DNS Servers: 192.168.1.1
192.168.1.2
192.168.1.101
192.168.1.102
DNS Domain: go-lab.jp
実際に名前解決が発生すると、利用されている DNS サーバ(Current DNS Server)がわかります。
root@photon-machine [ ~ ]# resolvectl | tail -n 10
MulticastDNS setting: no
DNSOverTLS setting: no
DNSSEC setting: no
DNSSEC supported: no
Current DNS Server: 192.168.1.1
DNS Servers: 192.168.1.1
192.168.1.2
192.168.1.101
192.168.1.102
DNS Domain: go-lab.jp
DNS サーバ のアドレスが変更されても、/etc/resolv.conf のアドレスは
127.0.0.53 のままですが、サーチドメインは追加されます。
root@photon-machine [ ~ ]# grep -v '#' /etc/resolv.conf
nameserver 127.0.0.53
search go-lab.jp
以上。Photon OS 3.0 の DNS サーバ アドレス設定の様子でした。