iT邦幫忙

0

自己架設dns server相關問題

dns

各位先進們好,小弟第一次自己在家裡架設dns遇到了一些問題,導致從外部nslookup某一個服務會沒辦法查詢到。
ISP業者第四台業者,已申請固定IP,上層為中嘉和網。
附上一長串的設定煩請IT邦上的先進指教。

  1. named.conf

    options{
    directory "/var/named";
    dump-file "/var/named/data/cache_dume.db";
    statistics-file "/var/named/data/named_stats.txt";
    allow-qery {any;}.
    };

    zone "." IN {
    type hint;
    file "named.ca";
    };

    zone "localhost" IN {
        type master;
        file "localhost.zone";
    allow-update {none; } ;
    };

    zone "0.0.127.in-addr.arpa" IN {
        type master;
        file "named.local";
    allow-update {none; } ;
    };

    zone "ngu.idv.tw" IN {
    type master;
    file "named.ngu.idv.tw";
    };

    zone "79.71.219.in-addr.arpa" IN {
    type master;
    file "named.79.71.219";
    };

  2. 正解 (named.ngu.idv.tw)

    $TTL 86400
    @ IN SOA dns.ngu.idv.tw. wei.ngu.idv.tw (
    2011062500 ; Serial
    28800 ; Refresh
    14400 ; Retry
    604800 ; Expire
    86400) ;

    @ IN NS dns.ngu.idv.tw.
    IN MX 0 mail.ngu.idv.tw.

    ngu.idv.tw. IN A 219.71.79.110
    dns.ngu.idv.tw. IN A 219.71.79.110
    web.ngu.idv.tw. IN A 219.71.79.110
    dns.ngu.idv.tw IN A 219.71.79.110
    mail.ngu.idv.tw IN A 219.71.79.110

  3. 反解 (named.79.71.219)

    $TTL 86400
    @ IN SOA dns.ngu.idv.tw. wei.ngu.idv.tw. (
    2011062500 ; Serial
    28800 ; Refresh
    14400 ; Retry
    604800 ; Expire
    86400) ;

    @ IN NS dns.ngu.idv.tw.
    110 IN PTR mail.ngu.idv.tw.

先行請各位先進不吝指教 :)

10
逮丸逮丸
iT邦大師 1 級 ‧ 2011-06-30 13:23:22
最佳解答

219.71.79.110

目前看起來是你這個IP的:

  1. named 未啟動:確認 pgrep -lf named 看得出有在跑。
    在該機器上 nslookup ngu.idv.tw localhost 查得出自建的資訊。

  2. 被該臺的 iptables 給擋住:確認 port 53 的udp/tcp有開啟

    <pre class="c" name="code">-A INPUT -m state --state NEW -m tcp -p tcp --dport 53 -j ACCEPT
    -A INPUT -m udp -p udp --dport 53 -j ACCEPT

如果都排除上述問題的話,
就可能要跟你的ISP廠商洽詢,
是否有擋該 IP 的 port 53 的 udp/tcp

a115073 iT邦研究生 2 級 ‧ 2011-06-30 16:23:12 檢舉

感謝TW大賜教,測試過大大上述的指令,目前看來是我的ISP業者問題,今天下班後再跟他們"溝通"一下
用手機的終端連回家看的眼睛好花...暈

a115073提到:
故無法提供貴用戶架設DNS以及MAIL SERVER。

其實你架的 SMTP、POP3、SSH 外面連過去都是通的:

&lt;pre class="c" name="code">$ telnet 219.71.79.110 25
Trying 219.71.79.110...
Connected to 219.71.79.110.
Escape character is '^]'.
220 ngu.idv.tw ESMTP Postfix
quit
221 2.0.0 Bye
Connection closed by foreign host.



&lt;pre class="c" name="code">$ telnet 219.71.79.110 110
Trying 219.71.79.110...
Connected to 219.71.79.110.
Escape character is '^]'.
+OK Dovecot ready.
quit
+OK Logging out
Connection closed by foreign host.

看起來應只是ISP的防火牆沒開的情況。

a115073 iT邦研究生 2 級 ‧ 2011-07-04 09:57:27 檢舉

感謝TW大~~看來純粹是那家cable業者不肯開。
正在考慮換ISP或是用代管的了 :)

4
silly
iT邦好手 2 級 ‧ 2011-06-30 13:35:14

named.conf中option區裡的allow-qery應為allow-query。

named.ngu.idv.tw已是ngu.idv.tw的zone,所以hostname只需要簡稱即可,如

&lt;pre class="c" name="code">web IN A 219.71.79.110

或是寫成

&lt;pre class="c" name="code">web.ngu.idv.tw. IN A 219.71.79.110

也可以,
但是寫成

&lt;pre class="c" name="code">web.ngu.idv.tw IN A 219.71.79.110

就不行囉!!
有看出差別嗎?就差在那個hostname最後的點上,
hostname最後沒有點的,在查詢時會自動加上Zone名,用以表示全域名。
hostname最後有點的,系統就當作它已經是全域名,就不會在加上域名,如最後的例子將會被解析成web.ngu.idv.tw.ngu.idv.tw。

重複的record可以刪掉一筆。

a115073 iT邦研究生 2 級 ‧ 2011-06-30 16:07:56 檢舉

silly大大不好意思~~因為是用手機連回去看設定檔打下來的才有出錯,剛剛再連回去看一次設定檔皆正常,包含allow-query跟web.ngu.idv.tw.
毆飛

2
gulin0928
iT邦新手 2 級 ‧ 2011-07-01 17:00:19

防火牆有開53 Port嗎?

a115073 iT邦研究生 2 級 ‧ 2011-07-04 09:58:14 檢舉

感謝賜教,本地端伺服器需要的服務皆為開啟

2
bestlong
iT邦研究生 5 級 ‧ 2011-07-02 14:58:51

DNS 服務在防火牆上 Port 53 TCP / UDP 兩個通訊協定都要開才行喔

a115073 iT邦研究生 2 級 ‧ 2011-07-04 09:58:20 檢舉

感謝賜教,本地端伺服器需要的服務皆為開啟

cmwang iT邦高手 1 級 ‧ 2011-07-04 10:00:09 檢舉

53/TCP通常只會用在zone transfer,除非有slave name server在外面,不然通常是不須要開的....

我要發表回答

立即登入回答