管理ノードで作業を行ってください。
$ sudo apt update $ sudo apt install dnsmasq
$ sudo nano /etc/dnsmasq.conf
# 外部DNSサーバー server=aaa.aaa.aaa.aaa server=bbb.bbb.bbb.bbb # 上位DNSサーバーに転送するには、アドレスに.が必要 domain-needed # プライベートIPアドレスの逆引き要求を上位DNSサーバーに転送しない bogus-priv # プライベートLANのドメイン名を定義 domain=cluster.internal # 管理ノードのプライベートLAN側に接続されているLANポートのデバイス名 interface=enp1s0f1 # 指定したLANポートのIPだけで明示的にバインド listen-address=192.168.0.1 bind-interfaces # --- DHCP 設定 --- # プライベートLANのサブネットマスク # staticがあると、dhcp-hostで指定された機器にしかIPアドレスが配布されない dhcp-range=192.168.0.0,static,255.255.255.0,12h # MACアドレス,ホスト名,IPアドレス(順不同)を入力 dhcp-host=ac:1f:6b:bc:93:8a,node11,192.168.0.11 dhcp-host=ac:1f:6b:bc:92:09,node12,192.168.0.12 dhcp-host=ac:1f:6b:bc:97:98,node13,192.168.0.13 # すでにIPアドレスが固定済みのノード(今の場合は管理ノード)のドメイン名 host-record=head.cluster.internal,192.168.0.1 # 上で登録されていないMACアドレスからの問い合わせを無視 dhcp-ignore=tag:!known # ルータ(今の場合は管理ノード)のIPアドレス dhcp-option=option:router,192.168.0.1 # ローカルDNSサーバー(今の場合は管理ノード)のIPアドレス dhcp-option=option:dns-server,192.168.0.1
$ dnsmasq --test $ sudo systemctl restart dnsmasq $ sudo systemctl enable dnsmasq
$ sudo nano /etc/systemd/resolved.conf
[Resolve] DNS=192.168.0.1 Domains=cluster.internal
$ sudo systemctl restart systemd-resolved
$ ping node11
$ ping node11.cluster.internal
$ cat /var/lib/misc/dnsmasq.leases
$ sudo systemctl stop dnsmasq $ sudo rm /var/lib/misc/dnsmasq.leases $ sudo systemctl start dnsmasq
$ sudo ip link set enp1s0f1 down $ # 数秒待つ $ sudo ip link set enp1s0f1 up
$ sudo dhclient -r enp1s0 $ sudo dhclient enp1s0
計算ノードの追加などで設定ファイルを更新したときは、Dnsmasqも忘れずに再起動する。
$ sudo systemctl restart dnsmasq