概要
Dnsmasqには簡易的なDHCP/DNS/TFTPの機能が含まれています。通常利用もできますが、比較的PXEブート用に使用されるケースが多いようです。本稿でもPXEブート用設定のみを取り上げます。
前提条件
OS
Ubuntu 20.04を使用します。
インストール
Dnsmasqをインストールします。
myadmin@ubuntu:~$ sudo apt install dnsmasq
設定
Dnsmasqの設定ファイルは/etc/dnsmasq.confです。/etc/dnsmasq.dに.confを配置することも可能です。
設定ファイルの追加
本稿では/etc/dnsmasq.d/pxe.confを作成します。
myadmin@ubuntu:~$ sudo tee /etc/dnsmasq.d/pxe.conf <<EOF
interface=lo,ens33,ens37
bind-interfaces
dhcp-range=net01,10.0.200.128,10.0.200.159,255.255.255.0
dhcp-range=net02,192.168.64.128,192.168.64.159,255.255.255.0
dhcp-option=net01,3,10.0.200.1
dhcp-option=net02,3,192.168.64.1
dhcp-option=net02,6,192.168.64.1
dhcp-match=set:efi-x86_64,option:client-arch,7
dhcp-boot=tag:efi-x86_64,bootx64.efi
enable-tftp
tftp-root=/srv/tftp
port=0
EOF
設定のポイントは下記の通りです。
- DHCP Relayでの使用を前提としています。
- net01, net02のDHCPレンジは、このDnsmasqサーバーとは別のセグメントです。
- dhcp-optionの3はデフォルトゲートウェイ、6はDNSサーバーを示しています。
- dhcp-match, dhcp-bootはPXEブート用の設定です。
- TFTPを有効にしています。
- DNSを無効にしています。
TFTPルートディレクトリの作成
TFTPルートディレクトリを作成します。
myadmin@ubuntu:~$ sudo mkdir /srv/tftp
設定反映
myadmin@ubuntu:~$ sudo systemctl restart dnsmasq.service myadmin@ubuntu:~$ sudo systemctl status dnsmasq.service
Ubuntu 20.04 Dnsmasq構築