BINDをインストールして、プライベートネットワーク向けにDNSサーバを立ち上げます。
Table of Contents
1 BINDのインストール
bindパッケージをインストールします。
$ sudo apk add bind
2 BINDの設定
以下の環境でBINDを設定します。
- プライベートネットワークは192.168.11.0/24です。
- プライベートネットワークのドメイン名はhiroom2.comです。
- DNSサーバのアドレスは192.168.11.79です。再帰問い合わせを実行します。
- クライアントは192.168.11.87です。
- インターネットのDNSサーバは192.168.11.1です。
2.1 /etc/bind/named.conf
BINDを設定します。
- プライベートネットワークからの問い合わせのみに応えます。
- 再帰問い合わせを実行します。
options { directory "/var/bind"; pid-file "/var/run/named/named.pid"; listen-on { 127.0.0.1; 192.168.11.0/24; }; recursion yes; allow-recursion { 127.0.0.1/32; 192.168.11.0/24; }; forwarders { 192.168.11.1; }; }; zone "hiroom2.com" IN { type master; file "hiroom2.com.zone"; };
2.2 /var/bind/hiroom2.com.zone
プライベートネットワークのゾーンファイルです。
- DNSサーバのホスト名はserverです。
- クライアントのホスト名はclientです。
- プライベートネットワーク内にある他のマシンを登録するにはAレコードを適時追加していきます。
$TTL 86400 @ IN SOA hiroom2.com root.hiroom2.com ( 2017062705 3600 900 604800 86400 ) @ IN NS server server IN A 192.168.11.79 client IN A 192.168.11.87
3 設定の検証
named-checkconfで/etc/bind/named.confを検証します。
$ sudo named-checkconf
named-checkzoneでzoneファイルを検証します。
$ sudo named-checkzone hiroom2.com /var/bind/hiroom2.com.zone zone hiroom2.com/IN: loaded serial 2017062705 OK
4 BINDの起動
BINDを起動します。
$ sudo rc-update add named $ sudo rc-service named start
5 動作確認
以下のコマンドはクライアントで実行します。
/etc/resolv.confでDNSサーバを参照します。
$ cat /etc/resolv.conf search hiroom2.com nameserver 192.168.11.79
プライベートネットワークのFQDNも参照できます。
$ ping -c 4 server.hiroom2.com PING server.hiroom2.com (192.168.11.79) 56(84) bytes of data. 64 bytes from 192.168.11.79 (192.168.11.79): icmp_seq=1 ttl=64 time=0.024 ms 64 bytes from 192.168.11.79 (192.168.11.79): icmp_seq=2 ttl=64 time=0.041 ms 64 bytes from 192.168.11.79 (192.168.11.79): icmp_seq=3 ttl=64 time=0.041 ms 64 bytes from 192.168.11.79 (192.168.11.79): icmp_seq=4 ttl=64 time=0.043 ms --- server.hiroom2.com ping statistics --- 4 packets transmitted, 4 received, 0% packet loss, time 3057ms rtt min/avg/max/mdev = 0.024/0.037/0.043/0.008 ms
再帰問い合わせにより、インターネットの名前解決も可能です。
$ ping -c 4 google.co.jp PING google.co.jp (172.217.25.67) 56(84) bytes of data. 64 bytes from nrt13s50-in-f3.1e100.net (172.217.25.67): icmp_seq=1 ttl=55 time=6.89 ms 64 bytes from nrt13s50-in-f3.1e100.net (172.217.25.67): icmp_seq=2 ttl=55 time=7.38 ms 64 bytes from nrt13s50-in-f3.1e100.net (172.217.25.67): icmp_seq=3 ttl=55 time=7.01 ms 64 bytes from nrt13s50-in-f3.1e100.net (172.217.25.67): icmp_seq=4 ttl=55 time=7.11 ms --- google.co.jp ping statistics --- 4 packets transmitted, 4 received, 0% packet loss, time 3004ms rtt min/avg/max/mdev = 6.897/7.103/7.386/0.190 ms