Local PCのIPaddressをBINDに動的に反映させる方法(2)Ubuntu Server+Desktop

DHCPで取得したIPaddressを、local zone fileに動的に反映する際、BINDは、local zone fileと同じフォルダに、ジャーナル ファイルを作成します。そのため、BINDには、そのフォルダ対する書き込み権限を与える必要があります。しかし、BINDに/etc以下のフォルダに対する書き込み権限を与えると、セキュリティホールになりかねないので、CentOSもUbuntuも/varの下にlocal zoneのフォルダを置いています。しかし、そのディレクトリ構造は、全く異なります。CentOSのディレクトリ構造は複雑で、簡単には説明できませんが、"お便利サーバー"さんが丁寧に説明しているので、興味のある方はそちらを参照して下さい。

apt-getでbind9をインストールすると、/etc/bindと/var/cashe/bindという二つのフォルダができます。BINDが動的に更新するファイルは/var/cashe/bindに格納し、他の設定ファイルは/etc/bindに格納します。オーナーは、双方ともroot:bindですが、/etc/bindには、グループのwrite権限はありません。

/etc/bindには、デフォルトの設定ファイルも入ってますが、default-zones系のファイル以外は、かなり手を入れる必要があります。私は、我流ですが、下記のように設定しました。

  • /etc/bind/named.conf
    include "/etc/bind/named.conf.options";
    view "internal"
    {
        match-clients        { localnets; };
        match-destinations    { localnets; };
        recursion yes;
        include "/etc/bind/named.conf.default-zones";
        include "/etc/bind/named.conf.internal";
    };
    view    "external"
    {
        match-clients        { any; };
        match-destinations    { any; };
        recursion no;
        include "/etc/bind/named.conf.external";
    };
  • /etc/bind/named.conf.internal
        zone "5thbear.jp" {
            type master;
            file "/var/cache/bind/db.5thbear.jp";
            allow-update { 192.168.x.0/24; };
        };
        zone "x.168.192.in-addr.arpa" IN {
            type master;
            file "/var/cache/bind/db.192";
            allow-update { 192.168.x.0/24; };
        };
  • /etc/bind/named.conf.external
        zone "5thbear.jp" {
            type master;
            file "/etc/bind/db.5thbear.jp";
        };
        zone "196/32.195.228.218.in-addr.arpa" {
            type master;
            file "/etc/bind/db.196";
        };
  • /etc/bind/named.conf.default-zonesおよびそれに関わるzone fileは、デフォルトをそのまま使用しています。
  • zone fileの書き方は、"お便利サーバー"さんが丁寧に説明しているので、興味のある方はそちらを参照して下さい。

一方、DHCPが取得したIPアドレスのDNSへの通知は、Windowsの場合はClient側で設定しますが、LinuxではDHCPサーバー側/etc/dhcp3/dhcpd.confで設定します。従って、ルーターのDHCPを使用している場合はそれを停止し、dhcp3-serverをサーバーにインストールする必要があります。DHCPが取得したIPアドレスをDNSへ通知する設定は下記の通りです。

ddns-update-style interim;
allow client-updates;