私はBind9ネームサーバーを設定し、誰もが任意の目的で更新できる個人(内部)サブドメインを作成しました。設定は非常にシンプルで一般的に機能しますが、アップデートが適用されるまでに数分の遅延があります。つまり、RRをサーバーから取得できます。
なぜこれが起こり、スピードを上げるには?
私の設定
dnsmasq
次の構成を実行するサーバーは1つだけです。
no-poll
server=/my.fq.doma.in/127.0.0.1#5353
no-dhcp-interface=eth0,eth1,eth2,eth3
bind-interfaces
そしてbind9
次の構成のネームサーバー(関連性があり必須と思われるものだけ入れました):
options {
directory "/var/cache/bind";
dnssec-validation no;
dnssec-enable no;
auth-nxdomain no; # conform to RFC1035
listen-on port 5353 { 127.0.0.1; }
}
key "notsecretkey" {
algorithm hmac-md5;
secret "up_up_and_away/foobar==";
};
zone "my.fq.doma.in." {
type master;
file "/var/lib/bind/db.ZONE.mydomain";
allow-update { key notsecretkey; };
};
はい
修正し、NS RRとA RRを追加しました。
root@dnshome:/tmp# rndc freeze my.fq.doma.in
root@dnshome:/tmp# rndc thaw my.fq.doma.in
A zone reload and thaw was started.
Check the logs to see the result.
root@dnshome:/tmp# cat /var/lib/bind/db.ZONE.mydomain
$ORIGIN .
$TTL 604800 ; 1 week
my.fq.doma.in IN SOA mydomainns.ourdoma.in. dnsmaster .ourdoma.in. (
2015033109 ; serial
604800 ; refresh (1 week)
86400 ; retry (1 day)
2419200 ; expire (4 weeks)
604800 ; minimum (1 week)
)
NS ns.my.fq.doma.in.
$ORIGIN my.fq.doma.in.
mail A 10.30.1.4
$TTL 600 ; 10 minutes
test A 2.3.4.5
abc NS ns.abc # <----- my changes
$ORIGIN abc.my.fq.doma.in. # <----- written to
ns A 172.16.1.5 # <----- the zonefile
ご覧のとおり、次freeze
のthaw
最後の3行はゾーンファイルに書き込まれた変更です。
まだ、
root@dnshome:/tmp# nslookup -port=5353 ns.abc.my.fq.doma.in 127.0.0.1
Server: 127.0.0.1
Address: 127.0.0.1#5353
** server can't find ns.abc.my.fq.doma.in: NXDOMAIN
画面のゾーンファイルを読み、エラーを検索し、検出器に誤字があるかどうかを確認しました。何も見つからなかったのでもう一度検索しました。
root@dnshome:/tmp# nslookup -port=5353 ns.abc.my.fq.doma.in. 127.0.0.1
Server: 127.0.0.1
Address: 127.0.0.1#5353
** server can't find ns.abc.my.fq.doma.in: NXDOMAIN
収納は十分です。私は私が追加する別のRRを試してみます。
root@dnshome:/tmp# nslookup -port=5353 -type=NS abc.my.fq.doma.in. 127.0.0.1
Server: 127.0.0.1
Address: 127.0.0.1#5353
Non-authoritative answer:
abc.my.fq.doma.in nameserver = ns.abc.my.fq.doma.in.
Authoritative answers can be found from:
ns.abc.my.fq.doma.in internet address = 172.16.1.5
しかし、まだ
root@dnshome:/tmp# nslookup -port=5353 ns.abc.my.fq.doma.in. 127.0.0.1
Server: 127.0.0.1
Address: 127.0.0.1#5353
** server can't find ns.abc.my.fq.doma.in: NXDOMAIN
だから私は別の古いRRを試してみました。
root@dnshome:/tmp# nslookup -port=5353 ns.my.fq.doma.in. 127.0.0.1
Server: 127.0.0.1
Address: 127.0.0.1#5353
Name: ns.my.fq.doma.in
Address: 10.30.1.4
これがうまくいったのでもう一度試しました。
root@dnshome:/tmp# nslookup -port=5353 ns.abc.my.fq.doma.in. 127.0.0.1
Server: 127.0.0.1
Address: 127.0.0.1#5353
Non-authoritative answer:
Name: ns.abc.my.fq.doma.in
Address: 172.16.1.5
見て、それはうまくいった。
私はこのマシンで作業している唯一の人であり、この例に示されているもの以外は何もしません。明らかに私の設定には何らかの遅延があり、その理由とそれを取り除く方法を知る必要があります。