首頁 > Linux 進階操作技巧, RedHat / Fedora Linux 相關應用, RedHat EL / CentOS > RHEL5 DNS伺服器故障排除 – 查詢被拒 ( Query REFUSED )

RHEL5 DNS伺服器故障排除 – 查詢被拒 ( Query REFUSED )

分享

太久沒碰小紅帽系統了,呼 ~ 有時候越測試越累人,每個發行版本都會進行一些調整或是變化,越來越發現YaST的美好 ( 噗~ 懶人想法 )。如果你也是使用RHEL5 來架設DNS伺服器時,應該會發現一個小問題,那就是為什麼我們利用以往的”經驗”所建置出來的DNS伺服器會無法被其他用戶端查詢呢?

底下為我的named.caching-nameserver.conf 的內容:

 

//
// named.caching-nameserver.conf
//
// Provided by Red Hat caching-nameserver package to configure the
// ISC BIND named(8) DNS server as a caching only nameserver
// (as a localhost DNS resolver only).
//
// See /usr/share/doc/bind*/sample/ for example named configuration files.
//
// DO NOT EDIT THIS FILE – use system-config-bind or an editor
// to create named.conf – edits to this file will be lost on
// caching-nameserver package upgrade.
//
options {
        listen-on port 53 { 127.0.0.1; 192.168.2.215; };
        listen-on-v6 port 53 { ::1; };
        directory       “/var/named”;
        dump-file       “/var/named/data/cache_dump.db”;
        statistics-file “/var/named/data/named_stats.txt”;
        memstatistics-file “/var/named/data/named_mem_stats.txt”;

        // Those options should be used carefully because they disable port
        // randomization
        // query-source    port 53;
        // query-source-v6 port 53;

         notify yes;
         allow-query     { 192.168.2.247; localhost; };
};

logging {
        channel default_debug {
                file “data/named.run”;
                severity dynamic;
        };
};
view localhost_resolver {
        match-clients      { localhost; };
        match-destinations { localhost; };
        recursion yes;
        include “/etc/named.rfc1912.zones”;
};

 

 

接著從伺服器本機來進行資源查詢測試:

 

[root@ns1 ~]# host ns1.wholan.corp
ns1.wholan.corp has address 192.168.2.215

 

再來,透過另外一台外部主機來進行資源查詢測試:

 

[root@ns2 ~]# host ns1.wholan.corp
Host ns1.wholan.corp not found: 5(REFUSED)

 

此時,我們便會發現查詢被拒絕了,依據以往的經驗,我們可以從named.caching-nameserver.conf 中找一下allow-query這個參數項目,然後在裡面指定為any或是0.0.0.0,允許所有來源位址都可以進行資源的查詢使用,但當你調整後你會發現,這個REFUSED問題依舊存在,沒有解決。

解決方式:

相信朋友可以從組態檔案中發現有一段描述:

 

view localhost_resolver {
        match-clients      { localhost; };
        match-destinations { localhost; };
        recursion yes;
        include “/etc/named.rfc1912.zones”;
};

 

沒錯,不能被查詢的原因就在他身上,預設的本地端解析僅允許符合localhost的來源用戶端存取,因此,我們需要將match-clients項目指定增加一筆any或是0.0.0.0,便可以解決查詢被拒的問題。修改完後的描述如下:

 

view localhost_resolver {
           match-clients      { any; localhost; };
        match-destinations { localhost; };
        recursion yes;
        include “/etc/named.rfc1912.zones”;
};

  1. 飛飛
    2010年4月8日16:41 | #1

    那請問一下,相同的情況會發生在CentOS 5.X 版本身上嗎?非常擔心害怕的不敢Upgrade到 5.X。

    • 2010年4月8日16:51 | #2

      基本上這狀況會出現喔,它主要原因是 BIND 版本的問題造成的,不過我想應該不會有太大問題才對,您升級後記得修改這部份配置即可

  2. 2011年4月2日16:05 | #3

    太感谢了,终于找到解决方法了

  1. 目前尚無任何 trackbacks 和 pingbacks。

(若看不到驗證碼,請重新整理網頁。)

*