2022年8月、ホームページを全面リニューアルしました! 情報を分かりやすくお伝えできるサイト作りを目指してまいります。

Debian DHCP3でDNSと連携する!

DebianのDHCP3はBIND8と連携してDNSの動的更新、DDNS(だいなみっくでぃえぬえす)してくれる。したがって、グローバルで非固定IPのISPで鯖を構築したい人などに最適な、DDNSサイトの構築も出来ると思う。

ここで説明する構成:
ここで説明するネットワークの構成事例は、グローバルにDNS鯖を置くようなネットワークを仮定する。知っておられると思うが、BIND8では内向き(LAN側)外向き(WAN側)のDNSの設定は一台の鯖では出来ない。ただし、余談だがBIND9からはviewステートメントが使えるようになり、named.confで外向き内向きのゾーン設定が出来るようになった。viewステートメントの設定は、 ここ を参照して欲しい。ここでは、内向きDNSの設定とDHCPの設定を説明する。


1.インストール

インストールはいたって簡単。apt-getすればいい。
(Woodyの場合)

# apt-get install bind
# apt-get install dhcp3-server dhcp3-common

(Sargeの場合)

# apt-get install dhcp3-server dhcp3-common
# apt-get install autodns-dhcp


2.内向きDNSの設定

1)/etc/bind以下に設定ファイルがある。まず、named.confを修正する。

# vi named.conf

■ ここでは、内向きDNSであるため事実上グローバルの名前解決をどこに頼るかの設定を行う。つまり、forwardersステートメントに外向きDNSのIPアドレスを設定して名前解決の回送先を指定しておく。複数指定可能である。ただし、 ここ を参照して正しいforwardersの設定をすること。

forwarders {
        xxx.xxx.x.xxx
        xxx.xxx.x.xxx
};

■ named.confの最下に以下を追加する。名前解決の正引きファイルと逆引きファイルの指定をする。

zone “ドメイン名”{
           type master;
           file “/etc/bind/named.hosts”;
           allow-update {192.168.0.4;127.0.0.1;};
};

zone “0.168.192.in-addr.arpa” {
                    type master;
                    file “/etc/bind/named.rev”;
                    allow-update {192.168.0.4;127.0.0.1;};
};

ポイントはこの部分。

allow-update {192.168.0.4;127.0.0.1;};

自サーバをIPアドレスで指定する。(ここでは仮に192.168.0.4とする)
allow-updateで192.168.0.4からこのドメインのゾーンの動的更新を許可している。つまり、ホストに対するIPアドレスが変更されても、その都度ゾーンファイルの更新が可能だと言うこと。
※ ) これを旨く利用すれば、非固定IPのISPの回線上でもサーバが構築出来ると思う。

2)named.hostsには以下のように自サーバの設定のみを追加したものを作成。

@ 86400 IN SOA [ ホスト名 ].[ ドメイン名 ]. root.[ ドメイン名 ]. (
                  2001030401
                  10800
                  3600
                  604800
                  86400
);
86400 IN NS [ ホスト名 ].[ ドメイン名 ].
[ ホスト名 ] 86400 IN A 192.168.0.4

3)この後にbindを再起動する。

# /etc/init.d/bind restart


3.nsupdateで動作確認

1)nsupdateでホストを追加してみる。

ここ を参照してホスト(Aレコード)を追加してみる。

2)nslookupで確認する。

$ nslookup [ 追加したホスト名 ]

これでIPアドレスを引ければ設定完了。


4.dhcp3の設定

1)/etc/dhcp3以下のdhcpd.confを修正。

# cd /etc/dhcp3
# vi dhcpd.conf

■ 以下のように編集すればOK。

ddns-update-style interim;
authoritative;
option domain-name-servers 192.168.0.4;     ←このホストIPアドレス
option domain-name [ドメイン名];           ←ドメイン名
default-lease-time 600;                 ←デフォルトのリース時間
max-lease-time 7200;                  ←最大リース時間

subnet 192.168.0.0 netmask 255.255.255.0 {   ←ネットワークアドレスとサブネットマスク
range 192.168.0.64 192.168.0.134;         ←DHCPレンジ
option broadcast-address 192.168.0.255;      ←ブロードキャストアドレス
option routers 192.168.0.1;               ←デフォルトゲートウェイ
option subnet-mask 255.255.255.0;          ←サブネットマスク
}

■ ポイントは、

ddns-update-style interim;

この行を追加しておくことで、dhcpがhost名とIPアドレスのセットをbindに通知しに行く。詳細は、man dhcpd.conf を参照されたい。

以上

コメント