ElementaryOS 0.4: DNSサーバのBINDをインストールする


Table of Contents

1 BINDのインストール

aptでbind9パッケージをインストールします。

sudo apt-get install -y bind9

2 BINDの設定

以下の環境でBINDを設定します。

  • プライベートネットワークは192.168.11.0/24です。
  • プライベートネットワークのドメイン名はhiroom2.comです。
  • DNSサーバのアドレスは192.168.11.67です。再帰問い合わせを実行します。
  • クライアントは192.168.11.87です。
  • インターネットのDNSサーバは192.168.11.1です。

2.1 /etc/bind/named.conf.options

BINDのオプションを設定します。

  • プライベートネットワークからの問い合わせのみに応えます。
  • 催奇問い合わせを実行します。
  • ufwを動かしている場合は53/tcpと53/udpを開放してください。

options { directory “/var/cache/bind”; listen-on port 53 { localhost; 192.168.11.0/24; }; allow-query { localhost; 192.168.11.0/24; }; forwarders { 192.168.11.1; }; recursion yes;}

2.2 /etc/bind/named.conf.local

このプライベートネットワーク向けの設定ファイルは/etc/bind/named.confからインクルードされます。

$ cat /etc/bind/named.conf.localzone “hiroom2.com” IN { type master; file “hiroom2.com.zone”;};

2.3 /var/cache/bind/hiroom2.com.zone

プライベートネットワークのゾーンファイルです。

  • DNSサーバのホスト名はserverです。
  • クライアントのホスト名はclientです。
  • プライベートネットワーク内にある他のマシンを登録するにはAレコードを適時追加していきます。

$TTL 86400@ IN SOA hiroom2.com root.hiroom2.com ( 2017062705 3600 900 604800 86400)@ IN NS serverserver IN A 192.168.11.67client IN A 192.168.11.87

3 設定の検証

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

$ /usr/sbin/named-checkconf

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

$ /usr/sbin/named-checkzone hiroom2.com /var/cache/bind/hiroom2.com.zonezone hiroom2.com/IN: loaded serial 2017062705OK

4 BINDの起動

systemctlで起動します。

sudo systemctl enable bind9sudo systemctl start bind9

5 動作確認

以下のコマンドはクライアントで実行します。

/etc/resolv.confでDNSサーバを参照します。

$ cat /etc/resolv.conf# Generated by NetworkManagersearch hiroom2.comnameserver 192.168.11.67

プライベートネットワークのFQDNも参照できます。

$ ping -c 4 client.hiroom2.comPING client.hiroom2.com (192.168.11.87) 56(84) bytes of data.64 bytes from debian-9 (192.168.11.87): icmp_seq=1 ttl=64 time=0.024 ms64 bytes from debian-9 (192.168.11.87): icmp_seq=2 ttl=64 time=0.041 ms64 bytes from debian-9 (192.168.11.87): icmp_seq=3 ttl=64 time=0.041 ms64 bytes from debian-9 (192.168.11.87): icmp_seq=4 ttl=64 time=0.043 ms— client.hiroom2.com ping statistics —4 packets transmitted, 4 received, 0% packet loss, time 3057msrtt min/avg/max/mdev = 0.024/0.037/0.043/0.008 ms

再帰問い合わせにより、インターネットの名前解決も可能です。

$ ping -c 4 google.co.jpPING 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 ms64 bytes from nrt13s50-in-f3.1e100.net (172.217.25.67): icmp_seq=2 ttl=55 time=7.38 ms64 bytes from nrt13s50-in-f3.1e100.net (172.217.25.67): icmp_seq=3 ttl=55 time=7.01 ms64 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 3004msrtt min/avg/max/mdev = 6.897/7.103/7.386/0.190 ms

Android | Linux | SDL - Narrow Escape