Fitpc2i/bind9

提供: fukudat.net
ナビゲーションに移動検索に移動

インストール

$ sudo apt-get install bind9

設定

/etc/bind ディレクトリに移動。

$ cd /etc/bind

このディレクトリ /etc/bind を group "bind" で書き込み可能にする。そうしないとDDNSがpermission deniedでダイナミックにならない。

$ sudo chmod g+w /etc/bind

apparmorがインストールされていたら、その設定ファイルも変更して bind が /etc/bind ディレクトリに書き込めるようにする。

$ cd /etc/apparmor.d/
$ sudo vi usr.sbin.named
:
/etc/bind/** rw,   # <-- r を rw に書き換える
:

/etc/bind/named.conf.options を編集.

options {
        directory "/var/cache/bind";

        forwarders {
                192.168.0.1;
        };

        auth-nxdomain no;    # conform to RFC1035
        listen-on-v6 { any; };
};

ただし,192.168.0.1はブロードバンドルータ.

/etc/bind/named.conf.local を編集.

zone "fukudat.com" {
        type master;
        file "/etc/bind/db.fukudat.com";
        allow-update {
                192.168.0.0/24;
                127.0.0.1;
        };
};

zone "0.168.192.in-addr.arpa" {
        type master;
        file "/etc/bind/db.0.168.192";
        allow-update {
                192.168.0.0/24;
                127.0.0.1;
        };
};

zone file "/etc/bind/db.fukudat.com" を以下のように作る。owner を bind.bind にする。

$ORIGIN fukudat.com.
$TTL	86400	; 1 day
@	IN SOA	ns.fukudat.com. root.fukudat.com. (
				2018000002	; Serial
				10800		; Refresh
				1800		; Retry
				4320000		; Expire
				86400		; Negative Cache TTL
				)
		NS	ns.fukudat.com.
		MX	0 mail.fukudat.com.
$TTL 86400
router		A	192.168.0.1
ns		A	192.168.0.11
fitpc2i		A	192.168.0.11
www  		A	xxx.xxx.xxx.xxx

zone file "db.0.168.192" を以下のように作る。owner を bind.bind にする。

$TTL 86400      ; 1 day
@ IN SOA  ns.fukudat.com. root.fukudat.com. (
	2018000001 ; serial
	10800      ; refresh (3 hours)
	1800       ; retry (30 minutes)
	4320000    ; expire (7 weeks 1 day)
	86400      ; minimum (1 day)
	)
	IN NS	ns.fukudat.com.
1	IN PTR	router.fukudat.com.
11	IN PTR	fitpc2i.fukudat.com.

/etc/bind/named.conf.xxx を編集.(xxxはVPNでつながっているプライベートドメイン)

zone "xxx.com" {
        type forward;
        forwarders { 9.0.4.1; 9.0.5.1; };
};

zone "9.in-addr.arpa" {
        type forward;
        forwarders { 9.0.4.1; 9.0.5.1; };
};

VPNのネームサーバー(上記では9.0.4.1, 9.0.5.1)へのルーティングがあることを確認.なければ永続的な静的ルーティングを参照して作成.

最後にサービスをリスタート.

# /etc/init.d/bind9 restart

管理

コマンドでアドレスを追加する

nsupdateコマンドを使う.

# nsupdate
> update delete oldhost.fukudat.com A                            # oldhost.fukudat.comのAレコードを消去する
> update delete 31.0.168.192.in-addr.arpa. IN PTR                         # 192.168.0.31の逆引きレコードを消去する
> update add newhost.fukudat.com 86400 A 192.168.0.51                     # newhost.fukudat.comのAレコードをアドレス192.168.0.51で作成する.TTLは1日(86400秒).
> update add 51.0.168.192.in-addr.arpa. 86400 IN PTR newhost.fukudat.com. # 192.168.0.51の逆引きレコードを作成する.
> send

ゾーンファイルを手動で書き換える

静的なアドレスを登録するときゾーンファイル (db.fukudat.com (順引きデータ), db.0.168.192 (逆引きファイル)) を直接書き換えたくなる.そうするならば,*.jnl ファイルに動的な変更の履歴が残っているので,これをフラッシュする必要がある.

# rndc freeze

そのうえでゾーンファイルを書き換える。

# /etc/init.d/bind9 stop
# vi /etc/bind/db.fukudat.com
... 書き換え ...

動的なアップデートを再開して、bindを再起動する。

# rndc thaw
# /etc/init.d/bind9 restart