インストール
インストールはpkgを利用します。
# pkg install bind920
access: 200051
インストールはpkgを利用します。
# pkg install bind920
/usr/local/etc/namedb/named.confに設定を記載します。
acl "trusted" { 172.18.0.0/16; 127.0.0.1; }; include "/usr/local/etc/namedb/include/junkie.work.key.conf"; options { directory "/usr/local/etc/namedb/working"; pid-file "/var/run/named/pid"; dump-file "/var/dump/named_dump.db"; statistics-file "/var/stats/named.stats"; listen-on { any; }; listen-on-v6 { any; }; allow-query { any; }; recursion yes; allow-recursion { trusted; }; allow-query-cache { trusted; }; version "unknown"; }; include "/usr/local/etc/namedb/zoneconf/default.conf" ; include "/usr/local/etc/namedb/zoneconf/junkie.work.conf" ; include "/usr/local/etc/namedb/zoneconf/local.conf" ;
/usr/local/etc/namedb/zoneconf/default.conf には以下のようにZONEを設定します。
zone "." { type hint; file "/usr/local/etc/namedb/named.root"; }; zone "localhost" { type primary; file "/usr/local/etc/namedb/primary/localhost-forward.db"; }; zone "127.in-addr.arpa" { type primary; file "/usr/local/etc/namedb/primary/localhost-reverse.db"; }; zone "255.in-addr.arpa" { type primary; file "/usr/local/etc/namedb/primary/empty.db"; }; zone "0.ip6.arpa" { type primary; file "/usr/local/etc/namedb/primary/localhost-reverse.db"; }; zone "0.in-addr.arpa" { type primary; file "/usr/local/etc/namedb/primary/empty.db"; };
/usr/local/etc/namedb/zoneconf/junkie.work.conf には以下のようにZONEを設定します。
セカンダリへの転送と通知も許可しておきます(163.44.76.202)
zone "junkie.work" IN { type master; file "/usr/local/etc/namedb/primary/junkie.work.zone"; allow-transfer { 163.44.76.202; }; also-notify { 163.44.76.202; }; };
/usr/local/etc/namedb/primary/junkie.work.zone にマスターのZONE情報を記載します。
ドメイン宛のメールも扱えるように、MXやSPFも記載しています。
$ORIGIN . $TTL 3600 ; 1 hour junkie.work IN SOA ns.junkie.work. hostmaster.junkie.work. ( 2025071001 ; serial 10800 ; refresh (3 hours) 3600 ; retry (1 hour) 1209600 ; expire (2 weeks) 3600 ; minimum (1 hour) ) NS ns.junkie.work. NS 2nd.dnsv.jp. A 118.27.7.39 MX 10 conoha.junkie.work. TXT "v=spf1 a mx -all" TXT "google-site-verification=vXMM2Irn1lOoFET8wrSHfrbUuU7Sy1aZ0qOUghEgjOQ" $ORIGIN junkie.work. _dmarc TXT "v=DMARC1; p=reject; pct=100;" "rua=mailto:dmarc.rua@junkie.work;" "ruf=mailto:dmarc.ruf@junkie.work" default._domainkey TXT "v=DKIM1; k=rsa; " "p=MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDlDvVmXOKJ6oHNcmey" "IIZQToSYTnllOsqtqpLUasMhPi+yx8/BcuijrN6Mwx3lKjTxP1vodHug" "tHYlQtwEt9RasQGAJ7bG2nBGBRbVsPq48R2vpy0rmB/HJm2xlsXNHC66" "L8HuPhNoROoNrKTOs3gCQQHiHhUvA59Pkm5vtlLqLQIDAQAB" conoha A 118.27.7.39
/usr/local/etc/namedb/zoneconf/local.conf にはローカル向けの設定を記載します。
今回はスレーブですので、マスターを指定しています(今回は10.0.0.1)
zone "lo.junkie.work" IN { type slave; file "slaves/lo.junkie.work.zone"; masters { 10.0.0.1; }; allow-query { 127.0.0.1; 10.0.0.0/16; }; }; zone "0.10.in-addr.arpa" { type slave; file "slaves/0.10.in-addr.arpa.zone"; masters { 10.0.0.1; }; allow-query { 127.0.0.1; 10.0.0.0/16; }; };
スレーブのZONEファイルが保存できるように/usr/local/etc/named/slaves/ を作成します。
# mkdir /usr/local/etc/namedb/slaves/ # chown named.named /usr/local/etc/namedb/slaves/ # chmod 770 /usr/local/etc/namedb/slaves/
以下のコマンドで起動できます。
# service named starthttp://www.dnsinspect.com/のサービスを使ってチェックし、問題が検出されなければ完成です。
OS起動時に自動起動するように設定します。
# sysrc named_enable="YES"
DDNS対応にするための設定を行います。
DDNS関係のファイルを置くために、 /usr/local/etc/namedb/include/ を作成します。
# mkdir /usr/local/etc/namedb/include/
DDNSのアクセスキーを生成して、コンフィグファイルを作ります。
# /bin/sh -c 'dd if=/dev/random bs=32 count=1 2>/dev/null | base64'
上記のコマンドの結果は、以下のようなランダムな値が表示されます。
yDkmmLWq/c5AToNzRyV7KCyqXZYP9mVWZHhmrOqNJLI=
/usr/local/etc/namedb/include/junkie.work.key.conf に、 できたランダム値を認証キーとしたコンフィグファイルを生成します。 (secretの値は参考値)
key "junkie.work" { algorithm hmac-sha256; secret "yDkmmLWq/c5AToNzRyV7KCyqXZYP9mVWZHhmrOqNJLI="; };
/usr/local/etc/namedb/named.confに以下の設定を追加します。
記載場所は、optionsの前あたりです。
include "/usr/local/etc/namedb/include/junkie.work.key.conf";
DDNSで更新できる内容を特定のAレコードに限定。
/usr/local/etc/namedb/include/junkie.update-policy.conf に指定します。
update-policy { grant junkie.work name home.junkie.work. A; grant junkie.work name cloud.junkie.work. A; grant junkie.work name imageai.junkie.work. A; };なお、
update-policy { grant junkie.work wildcard *.junkie.work. A; };のように、ワイルドカードで指定することもできますが、セキュリティ上の理由から特定のレコードに限定することが推奨されています。
/usr/local/etc/namedb/named.junkie.zones に以下の設定を追加します。
記載場所は、zone設定の最後あたり(括弧で閉じる前)です。
include "/usr/local/etc/namedb/include/junkie.update-policy.conf";
以下のコマンドで再起動できます。
# service named restart