「Fitpc2i/bind9」の版間の差分
(→設定) |
(→設定) |
||
(同じ利用者による、間の5版が非表示) | |||
8行目: | 8行目: | ||
<pre> | <pre> | ||
$ cd /etc/bind | $ cd /etc/bind | ||
− | + | </pre> | |
− | + | ||
− | + | このディレクトリ /etc/bind を group "bind" で書き込み可能にする。そうしないとDDNSがpermission deniedでダイナミックにならない。 | |
− | + | <pre> | |
− | + | $ sudo chmod g+w /etc/bind | |
− | + | </pre> | |
− | + | apparmorがインストールされていたら、その設定ファイルも変更して bind が /etc/bind ディレクトリに書き込めるようにする。 | |
− | + | <pre> | |
− | + | $ cd /etc/apparmor.d/ | |
− | + | $ sudo vi usr.sbin.named | |
− | + | : | |
− | + | /etc/bind/** rw, # <-- r を rw に書き換える | |
− | + | : | |
− | |||
− | - | ||
</pre> | </pre> | ||
29行目: | 27行目: | ||
options { | options { | ||
directory "/var/cache/bind"; | directory "/var/cache/bind"; | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
forwarders { | forwarders { | ||
51行目: | 40行目: | ||
/etc/bind/named.conf.local を編集. | /etc/bind/named.conf.local を編集. | ||
<pre> | <pre> | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
zone "fukudat.com" { | zone "fukudat.com" { | ||
type master; | type master; | ||
76行目: | 57行目: | ||
}; | }; | ||
}; | }; | ||
+ | </pre> | ||
+ | |||
+ | zone file "/etc/bind/db.fukudat.com" を以下のように作る。owner を bind.bind にする。 | ||
+ | <pre> | ||
+ | $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 | ||
+ | </pre> | ||
+ | |||
+ | zone file "db.0.168.192" を以下のように作る。owner を bind.bind にする。 | ||
+ | <pre> | ||
+ | $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. | ||
</pre> | </pre> | ||
94行目: | 110行目: | ||
最後にサービスをリスタート. | 最後にサービスをリスタート. | ||
<pre> | <pre> | ||
+ | # /etc/init.d/bind9 restart | ||
+ | </pre> | ||
+ | |||
+ | == 管理 == | ||
+ | |||
+ | === コマンドでアドレスを追加する === | ||
+ | nsupdateコマンドを使う. | ||
+ | <pre> | ||
+ | # 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 | ||
+ | </pre> | ||
+ | |||
+ | === ゾーンファイルを手動で書き換える === | ||
+ | 静的なアドレスを登録するときゾーンファイル (db.fukudat.com (順引きデータ), db.0.168.192 (逆引きファイル)) を直接書き換えたくなる.そうするならば,*.jnl ファイルに動的な変更の履歴が残っているので,これをフラッシュする必要がある. | ||
+ | <pre> | ||
+ | # rndc freeze | ||
+ | </pre> | ||
+ | そのうえでゾーンファイルを書き換える。 | ||
+ | <pre> | ||
+ | # /etc/init.d/bind9 stop | ||
+ | # vi /etc/bind/db.fukudat.com | ||
+ | ... 書き換え ... | ||
+ | </pre> | ||
+ | 動的なアップデートを再開して、bindを再起動する。 | ||
+ | <pre> | ||
+ | # rndc thaw | ||
# /etc/init.d/bind9 restart | # /etc/init.d/bind9 restart | ||
</pre> | </pre> |
2018年8月31日 (金) 07:07時点における最新版
インストール
$ 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