Fedora 29: DNSサーバのbindをインストールする

bindをインストールして、プライベートネットワーク向けにDNSサーバを立ち上げます。

1 bindをインストールする

bindをインストールし、namedを有効にします。

$ sudo dnf install -y bind
$ sudo systemctl enable named

bindのポートを開放します。

$ sudo firewall-cmd --add-service=dns --permanent
$ sudo firewall-cmd --reload

2 bindを設定する

プライベートネットワーク向けのゾーンファイルを読み込むようにします。

$ cat <<EOF | sudo tee -a /etc/named.conf
zone "hiroom2.com" in {
    type master;
    file "hiroom2.com.zone";
};
EOF

192.168.11.0/24のネットワークからの問い合わせを受けるようにします。

$ sudo sed \
-e "s:allow-query.*:allow-query { ${ALLOW_QUERY}; localhost; };:g" \
-e "s:listen-on port.*:listen-on port 53 { ${ALLOW_QUERY};127.0.0.1; };:g" \
-i /etc/named.conf

プライベートネットワーク向けのゾーンファイルを追加します。ホストを追加するにはAレコードを追加してください。

$ cat <<EOF | sudo tee /var/named/hiroom2.com.zone
\$TTL 86400

@ IN SOA hiroom2.com root.hiroom2.com (
  2017010302
  3600
  900
  604800
  86400
)

@      IN NS server
server IN A  192.168.11.79
EOF

bindを再起動します。

$ sudo systemctl restart named

2.1 設定を検証する

named-checkconfで/etc/named.confを検証します。

$ named-checkconf

named-checkzoneでzoneファイルを検証します。

$ named-checkzone hiroom2.com /var/named/hiroom2.com.zone
zone hiroom2.com/IN: loaded serial 2017010302
OK

3 動作確認

クライアントは以下の/etc/resolv.confを持っています。 192.168.11.79はbindをインストールしたサーバのIPアドレスです。

$ cat /etc/resolv.conf
<snip>
search hiroom2.com
nameserver 192.168.11.79

pingで応答を確認します。

$ ping -c 1 server.hiroom2.com
PING server.hiroom2.com (192.168.11.79) 56(84) bytes of data.
64 bytes from 192.168.11.79: icmp_seq=1 ttl=64 time=0.224 ms

--- server.hiroom2.com ping statistics ---
1 packets transmitted, 1 received, 0% packet loss, time 0ms
rtt min/avg/max/mdev = 0.224/0.224/0.224/0.000 ms