我的问题的一个简短的总结是我们已经开始在我的设施的DNS服务器升级。
我们目前有2个内部DNS服务器和2个外部DNS服务器。 我们正在升级到新的设备,并合并我们的服务器,所以我们有1个主,1个从属,将照顾内部和外部的DNS。 两台服务器都有两个网卡,在公共外部networking中有一个IP地址,内部networking中有一个地址。 在我的主人,我设置了一个内部视图,只能从我们的内部networking范围和任何人都可以查询的外部视图访问。 我有一切设置和DNSparsing工作正常。 我得到的问题是,当我configuration奴隶和设置,从属只会inheritance内部视图中列出的区域的更新。 所有外部视图区域都会给出错误
;<<>> DiG 9.8.2rc1-RedHat-9.8.2-0.30.rc1.el6_6.2 <<>> IN AXFR 43.96.32.in-addr.arpa @129.yy.yy.10 ;; global options: +cmd ; Transfer failed.
我一直在疯狂search,找不到一个解决scheme,希望有人在这里可能有一个为什么这是发生的想法。
下面我将给出我的主/从named.conf文件的样本。 我的系统目前正在运行RHEL 6.6和Bind DNS 9.8.2。
Master – Named.conf
acl internal_hosts { 10.101.0.0/16; 172.21.0.0/16; 10.2.0.0/16; 169.254.0.0/16; 172.23.0.0/16; 32.0.0.0/8; 12.109.164.0/24; 12.109.165.0/24; 63.79.18.0/24; 63.88.0.0/16; 129.42.0.0/16; 4.30.26.0/24; 4.28.188.0/24; 172.21.131.248/29;}; acl internal_slave { 10.xx.xx.2; }; acl external_slave { 129.yy.yy.11; }; acl internal_master { 10.xx.xx.1; }; acl external_master { 129.yy.yy.10; }; options { directory "/etc"; pid-file "/var/run/named/named.pid"; dnssec-enable no; query-source port 53; forward only; notify yes; allow-query { any; }; listen-on { 10.xx.xx.1; 127.0.0.1; 129.yy.yy.10; }; forwarders { 129.34.20.80; 198.4.83.35; 4.2.2.2; 8.8.8.8; }; allow-transfer {127.0.0.1; }; }; server 10.xx.xx.2 { transfer-format many-answers; transfers 10000; }; server 129.yy.yy.11 { transfer-format many-answers; transfers 10000; }; view "Internal" { match-clients { internal_hosts; !external_slave; internal_slave; }; also-notify { 10.xx.xx.2; }; allow-transfer { internal_slave; }; recursion yes; allow-recursion { internal_hosts; }; transfer-source 10.xx.xx.1; zone "64.2.10.in-addr.arpa" { type master; also-notify { 10.xx.xx.2; }; notify yes; allow-transfer { internal_slave; }; file "/var/named/10.2.64.rev"; }; view "External" { match-clients { !internal_slave; external_slave; any; }; recursion no; allow-transfer { external_slave; }; also-notify { 129.yy.yy.11; }; transfer-source 129.yy.yy.10; zone "50.146.204.in-addr.arpa" { type master; notify yes; also-notify {129.yy.yy.11;}; allow-transfer {external_slave;}; file "/var/named/204.146.50.rev"; };
奴隶 – Named.conf
acl internal_hosts { 10.101.0.0/16; 172.21.0.0/16; 10.2.0.0/16; 169.254.0.0/16; 172.23.0.0/16; 32.0.0.0/8; 12.109.164.0/24; 12.109.165.0/24; 63.79.18.0/24; 63.88.0.0/16; 129.42.0.0/16; 4.30.26.0/24; 4.28.188.0/24; 172.21.131.248/29; }; acl internal_slave { 10.xx.xx.2; }; acl external_slave { 129.yy.yy.11; }; acl internal_master { 10.xx.xx.1; }; acl external_master { 129.yy.yy.10; }; options { directory "/etc"; pid-file "/var/run/named/named.pid"; dnssec-enable no; query-source port 53; forward only; allow-query { any; }; listen-on port 53 { 127.0.0.1; 10.xx.xx.2; 129.yy.yy.11; }; forwarders { 129.34.20.80; 198.4.83.35; 4.2.2.2; 8.8.8.8; }; allow-transfer {127.0.0.1; }; }; server 10.xx.xx.1 { transfer-format many-answers; transfers 10000; }; server 129.yy.yy.10 { transfer-format many-answers; transfers 10000; }; view "Internal" { match-clients { internal_hosts; !external_master; internal_master; }; recursion yes; allow-recursion {internal_hosts;}; allow-transfer { internal_master; }; transfer-source 10.xx.xx.2; allow-notify {10.xx.xx.1;}; zone "64.2.10.in-addr.arpa" { type slave; masters {10.xx.xx.1;}; allow-transfer {internal_master;}; allow-update {internal_master;}; file "/var/named/slaves/10.2.64.Internal.rev"; }; view "External" { allow-transfer {external_master;}; allow-notify {129.yy.yy.10;}; transfer-source 129.yy.yy.11; match-clients {!internal_master; external_master; internal_hosts; any;}; recursion no; zone "50.146.204.in-addr.arpa" { type slave; masters {129.yy.yy.10;}; allow-transfer {external_master;}; allow-update {external_master;}; file "/var/named/slaves/204.146.50.External.rev"; };
这是从我的/ var / log /消息请求关于DIG到我的主人的输出。 brsbld.ihost.com的DIG是在外部视图中失败的,而bldbcrs.net的DIG在内部视图中并且没有问题。
Apr 17 09:32:31 bbridns01 named[1717]: client 10.101.8.2#55756: view Internal: transfer of 'bldbcrs.net/IN': AXFR started Apr 17 09:32:31 bbridns01 named[1717]: client 10.101.8.2#55756: view Internal: transfer of 'bldbcrs.net/IN': AXFR started Apr 17 09:32:31 bbridns01 named[1717]: client 10.101.8.2#55756: view Internal: transfer of 'bldbcrs.net/IN': AXFR ended Apr 17 09:32:31 bbridns01 named[1717]: client 10.101.8.2#55756: view Internal: transfer of 'bldbcrs.net/IN': AXFR ended Apr 17 09:32:56 bbridns01 named[1717]: client 129.42.206.11#41783: view Internal: bad zone transfer request: 'brsbld.ihost.com/IN': non-authoritative zone (NOTAUTH) Apr 17 09:32:56 bbridns01 named[1717]: client 129.42.206.11#41783: view Internal: bad zone transfer request: 'brsbld.ihost.com/IN': non-authoritative zone (NOTAUTH)
他们只是想更新这个让你知道我发现的解决scheme。 根据我的内部观点,这场比赛客户的争吵让我感到困惑。
match-clients { internal_hosts; !external_slave; internal_slave; };
internal_hosts acl包含范围129.42.0.0/16。 这是在!external_slave之前列出的; 因为它是首先select的,因为从属服务器是129.42.206.11并将其放入内部视图。 我重新排列它,以便它首先排除external_slave,然后正确地被外部视图拾取。
match-clients { !external_slave; internal_hosts; internal_slave; };
我猜你的主configuration选项中的这一行是阻止其他人获得区域:
allow-transfer {127.0.0.1; };
我会尝试删除该行或更新它,以包括您的external_master。
也许这是因为你在你的configuration中有多个视图,默认视图是从选项中获得有限的allow-transfer指令。
http://docs.freebsd.org/doc/8.3-RELEASE/usr/share/doc/bind9/arm/Bv9ARM.ch06.html