各位先進們好,小弟第一次自己在家裡架設dns遇到了一些問題,導致從外部nslookup某一個服務會沒辦法查詢到。
ISP業者第四台業者,已申請固定IP,上層為中嘉和網。
附上一長串的設定煩請IT邦上的先進指教。
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";
};
正解 (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
反解 (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.
先行請各位先進不吝指教 :)
219.71.79.110
目前看起來是你這個IP的:
named 未啟動:確認 pgrep -lf named 看得出有在跑。
在該機器上 nslookup ngu.idv.tw localhost 查得出自建的資訊。
被該臺的 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
感謝TW大賜教,測試過大大上述的指令,目前看來是我的ISP業者問題,今天下班後再跟他們"溝通"一下
用手機的終端連回家看的眼睛好花...
a115073提到:
故無法提供貴用戶架設DNS以及MAIL SERVER。
其實你架的 SMTP、POP3、SSH 外面連過去都是通的:
<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.
<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的防火牆沒開的情況。
感謝TW大~~看來純粹是那家cable業者不肯開。
正在考慮換ISP或是用代管的了 :)
named.conf中option區裡的allow-qery應為allow-query。
named.ngu.idv.tw已是ngu.idv.tw的zone,所以hostname只需要簡稱即可,如
<pre class="c" name="code">web IN A 219.71.79.110
或是寫成
<pre class="c" name="code">web.ngu.idv.tw. IN A 219.71.79.110
也可以,
但是寫成
<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可以刪掉一筆。
DNS 服務在防火牆上 Port 53 TCP / UDP 兩個通訊協定都要開才行喔