手机站
网通分站
电信主站
密 码:
用户名:
当前位置 : 主页>网络知识>网络管理>列表

架設 DNS(DNS终结篇)

来源:互联网 作者:west263.com 时间:2008-02-23
西部数码-全国虚拟主机10强!40余项虚拟主机管理功能,全国领先!双线多线虚拟主机南北访问畅通无阻!免费赠送企业邮局,.CN域名,自助建站480元起,免费试用7天,满意再付款! P4主机租用799元/月.月付免压金!

Nov 16 14:54:10 rh71 named[2215]: listening on IPv4 interface eth2, 10.0.1.131#53
Nov 16 14:54:10 rh71 named[2215]: listening on IPv4 interface vmnet1, 172.16.233.1#53
Nov 16 14:54:10 rh71 named[2215]: listening on IPv4 interface vmnet8, 192.168.183.1#53
Nov 16 14:54:10 rh71 named[2215]: listening on IPv4 interface ppp0, 211.74.244.213#53
Nov 16 14:54:10 rh71 named[2215]: running

上面雖然有 'auth-nxdomain' 和 IPV6 的提示﹐但那是正常的(除非您有設定相關的功能)。如果沒有其它錯誤信息的話﹐那真要恭喜您了﹗

但有時候您或許會看到有其他錯誤信息的﹐例如﹕

Nov 16 15:01:49 rh71 named[2287]: loading configuration from '/etc/named.conf'
Nov 16 15:01:49 rh71 named[2287]: /etc/named.conf:41: parse error near zone
Nov 16 15:01:49 rh71 named[2287]: loading configuration: failure
Nov 16 15:01:49 rh71 named[2287]: exiting (due to fatal error)

這個錯誤信息明顯指出了是 /etc/named.conf 的問題﹐而且很可能在 41 行附近。根據我個人的經驗﹐這通常是您漏了 “ ﹔”符號的原因而已。

如果您碰到如下信息﹐那是沒有為所有 RR 記錄項設定 TTL 而已﹐您可以為每一個記錄項補上 TTL (在 IN 前面)﹐也可以在記錄檔的前面用 $TTL 來設定﹕

Nov 16 15:04:47 rh71 named[2395]: master.c:1172: unexpected error:
Nov 16 15:04:47 rh71 named[2395]: dns_master_load: siyongc:3: no TTL specified.
THIS ZONE WILL NO LONGER WORK IN FUTURE VERSIONS. Add a TTL.
Nov 16 15:04:47 rh71 named[2395]: dns_master_load: siyongc:5: using
RFC 1035 TTL semantics

如果您碰到下面這樣的信息﹐那多是因為您打字錯誤的關係﹐輸入了 named 不認識的記錄類別名稱(例如漏了記錄名稱或打錯了)﹕

Nov 16 15:07:44 rh71 named[2422]: dns_master_load: siyongc:2: unknown RR
type 'siyongc.domain.'
Nov 16 15:07:44 rh71 named[2422]: dns_zone_load: zone siyongc.domain/IN: loading
master file siyongc: unknown class/type

如下的問題﹐那可能是您沒有定義 SOA 記錄﹐或設定有錯誤﹕

Nov 16 15:14:33 rh71 named[2506]: dns_zone_load: zone siyongc.domain/IN: could
not find NS and/or SOA records
Nov 16 15:14:33 rh71 named[2506]: dns_zone_load: zone siyongc.domain/IN: has
0 SOA records
Nov 16 15:14:33 rh71 named[2506]: dns_zone_load: zone siyongc.domain/IN: no
NS records

下面的問題可能是您的 SOA 記錄中多輸入了一組數字﹐或少輸入了一組數字﹐或數字格式有錯誤﹕

Nov 16 15:14:33 rh71 named[2506]: dns_zone_load: zone siyongc.domain/IN: could not
find NS and/or SOA records
Nov 16 15:14:33 rh71 named[2506]: dns_zone_load: zone siyongc.domain/IN: has
0 SOA records
Nov 16 15:14:33 rh71 named[2506]: dns_zone_load: zone siyongc.domain/IN: no
NS records


Nov 16 15:18:24 rh71 named[2562]: dns_rdata_fromtext: siyongc:4: near eol: unexpected
end of input
Nov 16 15:18:24 rh71 named[2562]: dns_zone_load: zone siyongc.domain/IN: loading
master file siyongc: unexpected end of input

Nov 16 15:19:34 rh71 named[2640]: dns_rdata_fromtext:
siyongc:4: near '14B400':
syntax error
Nov 16 15:19:34 rh71 named[2640]: dns_zone_load: zone
siyongc.domain/IN: loading
master file siyongc: syntax error

以下問題可能是 SOA 的 “ ( ) ”符號有問題﹐要麼是“ ( ” 給斷到下一行了﹐要麼是“ ) ”給註解掉了﹕

Nov 16 15:22:08 rh71 named[2669]: dns_rdata_fromtext: siyongc:3: near eol: unexpected
end of input
Nov 16 15:22:08 rh71 named[2669]: dns_zone_load: zone siyongc.domain/IN: loading
master file siyongc: unexpected end of input

Nov 16 15:22:52 rh71 named[2696]: dns_rdata_fromtext: siyongc:4:
near 'IN': extra input text
Nov 16 15:22:52 rh71 named[2696]: dns_zone_load: zone siyongc.domain/IN:
loading master file siyongc: extra input text

以下是您沒有設定 NS 記錄或 NS 記錄設定有錯誤﹕

Nov 16 15:25:30 rh71 named[2801]: dns_zone_load: zone siyongc.domain/IN: no NS records

下面的錯誤可能是您設定了一個記錄項超出了當前 ORIGIN 的範圍﹐例如 localhost. 或 siyongc. (也就是錯誤使用 FQDN )﹔或是錯誤的使用了 $ORIGIN 設定﹔或是在 named.conf 中有多個 zone 在分享同一份記錄檔﹕

Nov 16 15:31:20 rh71 named[2920]: dns_master_load: siyongc:16:
ignoring out-of-zone data

下面的錯誤﹐有可能您在設定多個 $ORIGIN 並同時嘗試設定多個 SOA 時出現的錯誤﹕

Nov 16 15:28:31 rh71 named[2855]: dns_master_load: siyongc:26:
not at top of zone

許多許多問題﹐事實上您都可以在 /var/log/messages 中找到﹐當您發現這些錯誤信息之後﹐看看是關於什麼記錄的﹐然後順藤摸瓜﹐留心一下檔案內容﹐就比較容易找到錯誤的原因了。

有時候﹐您想簡化您的 DNS 設定工作﹐您可以使用 netconf 來做。不過﹐根據我的經驗是﹕netconf 未必能夠完全幫您正確的設定起來。當您重新啟動 named 之後﹐別忘了看一下 /var/log/messages ﹐確定沒有錯誤發生。如果您使用工具來設定 DNS 而碰到問題﹐這就需要您有手工設定的能力了。

設定 DNS Client

DNS 系統是一個典型的 Client/Server 架構﹐前面介紹的動作僅是確保 DNS 的 server 成功啟動起來而已﹐如果您要測試它﹐還必須設定好 client 端才行。

文章整理:西部数码--专业提供域名注册虚拟主机服务
http://www.west263.com
以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!