Fitpc2i/bind9
インストール
$ 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