Raspberry PiでDNSサーバーを構築した時のメモです。DNSサーバーは、bindかdnsmasqを使用すれば構築できるようなのですが、今回は設定が簡単そうなdnsmasqを使用しました。
環境
元々、dnsmasqで次のようなイーサネット・コンバーターを実現していたRaspberry PiにDNSサーバーの設定を追加しました。
RaspberryPiの設定
dnsmasqのインストール
aptでdnsmasqをインストールします。
$sudo apt update
$sudo apt install dnsmasq -y
固定IPの割り当て
eth0にDHCPサーバの 固定IPを割り当てます。
$sudo vi /etc/dhcpcd.conf
interface eth0
static ip_address=192.168.0.1/24
dnsmasqの設定
DNSサーバーに必要な設定は、最後の3行だけです。ローカルのドメイン名をisono.localに設定しています。expand-hostsで/etc/hostsに設定したサーバー名にisono.localが追加されるようになります。
$sudo vi /etc/dnsmasq.conf
interface=eth0
listen-address=192.168.0.1
bind-interfaces
server=8.8.8.8
domain-needed
bogus-priv
#DHCP用
dhcp-range=192.168.0.50,192.168.0.150,12h
# DNSサーバー用
local=/isono.local/
expand-hosts
domain=isono.local
IPのリース状態は、/var/lib/misc/dnsmasq.leasesで確認できます。
/etc/hostsの設定
サーバー名を設定します。ここでは、nasに192.168.0.15を割り当てています。
192.168.0.15 nas
nslookupで確認
nslookupで動作を確認します。nslookupはaptでdnsutilsをインストールすると使用できるようになります。
$sudo apt install dnsutils
nslookupでnasとnas.isono.localをそれぞれ確認します。/etc/hostsにはnasしか設定していませんが、nas.isono.localも認識されていることが確認できます。
$ nslookup nas
Server: 127.0.0.1
Address: 127.0.0.1#53
Name: nas
Address: 192.168.0.15
$ nslookup nas.isono.local
Server: 127.0.0.1
Address: 127.0.0.1#53
Name: nas.isono.local
Address: 192.168.0.15
Wi-Fiルーターの設定
atermのDNSルーティングを設定すると、ネットワークの他のマシンからnas.isono.localで参照できるようになりました。