歡迎您光臨本站 註冊首頁

父伺服器委派子域給子伺服器,通過伺服器查詢記錄總是返回serv fail

配置:
子伺服器14.22.88.196:
named.conf:
options {
            directory "/var/named";
            pid-file "/var/named/named.pid";
           forwarders   {
                         14.22.88.194;
                                };
};
logging {
              channel query_log {
                      file "query.log"   versions 3 size 20m;
                      severity   info;
                      print-time   yes;
                      print-category  yes;
              };
              category queries {
                      query_log;
              };
      };

key "rndc-key" {
        algorithm hmac-md5;
        secret "aVPr2AGR0jFCkuBqGP+htQ==";
};

controls {
        inet 127.0.0.1 port 953
                allow { 127.0.0.1; } keys { "rndc-key"; };
};
zone "." in {
           type hint;
           file "named.ca";
};
zone "localhost" in {
           type master;
           file "localhost.zone";
allow-update {127.0.0.1;};
};
zone "0.0.127.in-addr.arpa" in {
           type master;
           file "named.local";
allow-update {127.0.0.1;};
};
zone "pd.sh.gprs" in {
           type master;
           file "named.pd";
allow-update {127.0.0.1;};
};
zone "qd.sd.gprs" in {
           type master;
           file "named.qd";
allow-update {127.0.0.1;};
};

named.pd:
$ORIGIN .
$TTL 86400      ; 1 day
pd.sh.gprs              IN SOA  sgsntest. . (
                                2007021504 ; serial
                                10800      ; refresh (3 hours)
                                3600       ; retry (1 hour)
                                604800     ; expire (1 week)
                                86400      ; minimum (1 day)
                                )
                        NS      sgsntest.
$ORIGIN pd.sh.gprs.
hp                      A       14.22.88.196
jq                      A       14.22.88.196
lw                      A       14.22.88.196


父伺服器14.22.88.194:
named.conf:
options {
            directory "/var/named";
            pid-file "/var/named/named.pid";
};
logging {
              channel query_log {
                      file "query.log"   versions 3 size 20m;
                      severity   info;
                      print-time   yes;
                      print-category  yes;
              };
              category queries {
                      query_log;
              };
      };

key "rndc-key" {
        algorithm hmac-md5;
        secret "aVPr2AGR0jFCkuBqGP+htQ==";
};

controls {
        inet 127.0.0.1 port 953
                allow { 127.0.0.1; } keys { "rndc-key"; };
};
zone "." in {
           type hint;
           file "named.ca";
};
zone "localhost" in {
           type master;
           file "localhost.zone";
allow-update {127.0.0.1;};
};
zone "0.0.127.in-addr.arpa" in {
           type master;
           file "named.local";
allow-update {127.0.0.1;};
};
zone "sh.gprs" in {
           type master;
           file "named.sh";
allow-update {127.0.0.1;};
};
zone "qd.sd.gprs" in {
           type master;
           file "named.qd";
allow-update {127.0.0.1;};
};

named.sh:
$ORIGIN .
$TTL 86400      ; 1 day
sh.gprs                 IN SOA  igwbnew. . (
                                2007021505 ; serial
                                10800      ; refresh (3 hours)
                                3600       ; retry (1 hour)
                                604800     ; expire (1 week)
                                86400      ; minimum (1 day)
                                )
                        NS      igwbnew.
$ORIGIN sh.gprs.
pd                      NS      subdns
subdns                  A       14.22.88.196


問題現象:
在伺服器上查詢子域名,結果如下:
查詢jq.pd.sh.gprs返回一條查詢結果,同時又出現兩個超時錯誤。
oot@m2000ser249 # /opt/dns/host jq.pd.sh.gprs
jq.pd.sh.gprs has address 14.22.88.196
;; connection timed out; no servers could be reached
;; connection timed out; no servers could be reached

查詢lw.pd.sh.gprs返回serv fail。
root@m2000ser249 # /opt/dns/host lw.pd.sh.gprs
Host lw.pd.sh.gprs not found: 2(SERVFAIL)

此時將BIND重啟,先查lw.pd.sh.gprs后查jq.pd.sh.gprs得到的
結果也是lw.pd.sh.gprs返回一個查詢結果兩個超時,jq.pd.sh.gprs
返回serv fail。

似乎和配置沒有什麼關係。觀察查詢日誌如下:
02-Mar-2007 12:15:27.995 queries: client 14.22.88.194#33029: query: jq.pd.sh.gpr

s IN A +
02-Mar-2007 12:15:28.011 queries: client 14.22.88.194#33030: query: jq.pd.sh.gpr

s IN AAAA +
02-Mar-2007 12:15:33.011 queries: client 14.22.88.194#33030: query: jq.pd.sh.gpr

s IN AAAA +
02-Mar-2007 12:15:38.024 queries: client 14.22.88.194#33031: query: jq.pd.sh.gpr

s IN MX +
02-Mar-2007 12:15:43.031 queries: client 14.22.88.194#33031: query: jq.pd.sh.gpr

s IN MX +
02-Mar-2007 12:15:53.335 queries: client 14.22.88.194#33032: query: lw.pd.sh.gpr

s IN A +

推測:
host一條子域名時既請求A記錄的解析,又請求了AAAA和MX記錄的解析。而子伺服器上
肯定沒有配置AAAA和MX的記錄,因而返回失敗。但是這個失敗又影響BIND的正常工作,
導致解析其他A記錄都出現了問題。

不知道推測是否正確,又不知道如何才能解決此問題,請不吝賜教!
《解決方案》

沒有mx記錄也沒關係,我以前在虛擬機裡面開二台redhat 9,測試的,子域授權可以啊,
《解決方案》

我做了1個測試也沒有問題

其實,不妨試一試抓包。
另外,我也有1個問題。委派的功能可否用轉發代替?比如,在父伺服器將某一個子域的查詢指向1個子伺服器?

Parent server named.conf
....
zone "example.com" {
type master;
file "example.com.zone";
}

zone "child.example.com" {
type forward;
forwarders {192.168.75.10;};
}
《解決方案》

回復 3樓 wjemail 的帖子

另外,我也有1個問題。委派的功能可否用轉發代替?比如,在父伺服器將某一個子域的查詢指向1個子伺服器?
是可以的,請看語法
zone zone_name [{
type ( master | slave | hint | stub | forward ) ;
[ allow-notify { address_match_list } ; ]
[ allow-query { address_match_list } ; ]
[ allow-transfer { address_match_list } ; ]
[ allow-update { address_match_list } ; ]
[ update-policy { update_policy_rule [...] } ; ]
[ allow-update-forwarding { address_match_list } ; ]
[ alsonotify
{ ip_addr ; [ ip_addr ; ... ] }; ]
[ check-names (warn|fail|ignore) ; ]
[ dialup dialup_option ; ]
[ file string ; ]
[ forward (only|first) ; ]
[ forwarders
{ ip_addr ; [ ip_addr ; ... ] }; ]
《解決方案》

回復 1樓 jetlion 的帖子

你的問題是子伺服器的zone 文件中沒有伺服器的A記錄
named.pd:
$ORIGIN .
$TTL 86400      ; 1 day
pd.sh.gprs              IN SOA  sgsntest. . (
                                2007021504 ; serial
                                10800      ; refresh (3 hours)
                                3600       ; retry (1 hour)
                                604800     ; expire (1 week)
                                86400      ; minimum (1 day)
                                )
                        NS      sgsntest.
                        A    12.12.12.12 (這台伺服器的ip地址)
$ORIGIN pd.sh.gprs.
hp                      A       14.22.88.196
jq                      A       14.22.88.196
lw                      A       14.22.88.196



相應的那個修改一下就可以了
有問題再聯繫
《解決方案》

樓上的問題都是使用bind9出現的,配置不當就會造成麻煩,給你帶來不便,我推薦你使用winmydns智能解析系統架設伺服器,它是運行在windows平台,bind9是運行在linux平台,winmydns可支持幾十萬條的記錄解析域名,該軟體最大的優點是首創DNS雙線智能解析功能,是目前解決網通、電信、鐵通及其他網路的互通問題的最有效方法,同一個域名可以讓網通、電信及其他線路的客戶ping出來的完全不同IP,就近訪問站點。
最方便的地方是DNS配置信息全部保存在ACCESS或MSSQL資料庫中,只要對資料庫的記錄增\減\修改\就可以進行DNS自助解析,性能上也領先bind9和mydns,簡單易用
官方網站:www.winiis.com
免費下載:http://www.winiis.com/download/WinMyDNS_V1.32.rar
qq:529226441

[火星人 ] 父伺服器委派子域給子伺服器,通過伺服器查詢記錄總是返回serv fail已經有480次圍觀

http://coctec.com/docs/service/show-post-40846.html