インストール
インストールはpkgを利用します。
# pkg install bind920
以下のコマンドを実行してsyslogdの設定を変更します。
# sysrc altlog_proglist+=named # service syslogd restart
access: 213240
インストールはpkgを利用します。
# pkg install bind920
以下のコマンドを実行してsyslogdの設定を変更します。
# sysrc altlog_proglist+=named # service syslogd restart
/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