請教二級域名和三級域名DNS伺服器的問題
假如我的域名為abc.hb.cn,域名伺服器為dns.abc.hb.cn,用來解析域abc.hb.cn下的各主機如www,mail等。那麼hb.cn域名伺服器跟dns.abc.hb.cn是什麼樣的關係。也就是當我訪問www.abc.hb.cn時,hb.cn的域名伺服器會告訴我去找dns.abc.hb.cn。dns.abc.hb.cn告訴我ip地址是x.x.x.x。hb.cn域名伺服器是怎麼樣把dns查詢交給dns.abc.hb.cn的。
上面的問題可能很簡單,我查了些資料,沒弄明白。希望了解的能夠講講。例如,我想實現下面解析:
域名:abc.com
域名伺服器:dns.abc.com 地址:1.2.3.4/24
MX: mail.abc.com 地址:1.2.3.4/24
我想在三級域名:st.abc.com域上建個郵件伺服器。
MX:mail.st.abc.com 地址:1.2.3.5/24
我在1.2.3.4上做了A記錄
st IN A 1.2.3.5
在1.2.3.5上做MX記錄和A記錄
IN MX 1 mail.st.abc.com
mail IN A 1.2.3.5
然後,做測試,別說收發郵件,mail.st.abc.com根本就無法解析。st.abc.com可以解析,這個好理解。但是怎樣才能解析mail.st.abc.com呢?怎樣使mail.st.abc.com的解析交給1.2.3.5而不是1.2.3.4呢?
小弟才疏學淺,望指教。
《解決方案》
原帖由 dreamever 於 2008-4-21 23:29 發表 http://linux.chinaunix.net/bbs/images/common/back.gif
假如我的域名為abc.hb.cn,域名服務器為dns.abc.hb.cn,用來解析域abc.hb.cn下的各主機如www,mail等。那麼hb.cn域名服務器跟dns.abc.hb.cn是什麼樣的關係。也就是當我訪問www.abc.hb.cn時,hb.cn的域名服務器會告訴我去找dns.abc.hb.cn。dns.abc.hb.cn告訴我ip地址是x.x.x.x。hb.cn域名服務器是怎麼樣把dns查詢交dns.abc.hb.cn的。
階層授權架構,這是 dns 本身的規劃設計。
我舉例一下比方 www.seed.net.tw 來說,用 nslookup 測試流程是這樣:
$ nslookup -type=ns tw. a.root-servers.net.
Server: a.root-servers.net.
Address: 198.41.0.4#53
Non-authoritative answer:
*** Can't find tw.: No answer
Authoritative answers can be found from:
tw nameserver = B.DNS.tw.
tw nameserver = C.DNS.tw.
tw nameserver = D.DNS.tw.
tw nameserver = E.DNS.tw.
tw nameserver = F.DNS.tw.
tw nameserver = G.DNS.tw.
tw nameserver = H.DNS.tw.
tw nameserver = NS.TWNIC.NET.
tw nameserver = A.DNS.tw.
A.DNS.tw internet address = 203.73.24.8
A.DNS.tw has AAAA address 2001:cd8:800::8
B.DNS.tw internet address = 210.201.138.58
C.DNS.tw internet address = 61.220.48.1
C.DNS.tw has AAAA address 2001:238:800:1::1
D.DNS.tw internet address = 210.17.9.230
D.DNS.tw has AAAA address 2001:c50:ffff:1::230
E.DNS.tw internet address = 211.79.207.26
F.DNS.tw internet address = 163.28.1.10
G.DNS.tw internet address = 220.229.225.195
H.DNS.tw internet address = 61.31.216.3
NS.TWNIC.NET internet address = 192.83.166.11
那表示 tw. 負責的 nameserver 有這一堆機器。那繼續問:
$ nslookup -type=ns net.tw. a.dns.tw
Server: a.dns.tw
Address: 203.73.24.8#53
Non-authoritative answer:
*** Can't find net.tw.: No answer
Authoritative answers can be found from:
net.tw nameserver = ns2.cuhk.edu.hk.
net.tw nameserver = a.twnic.net.tw.
net.tw nameserver = b.twnic.net.tw.
net.tw nameserver = c.twnic.net.tw.
net.tw nameserver = d.twnic.net.tw.
net.tw nameserver = e.twnic.net.tw.
net.tw nameserver = f.twnic.net.tw.
net.tw nameserver = g.twnic.net.tw.
a.twnic.net.tw internet address = 192.83.166.9
a.twnic.net.tw has AAAA address 2001:288:1:1006:21b:fcff:fe41:6c81
b.twnic.net.tw internet address = 192.72.81.200
c.twnic.net.tw internet address = 168.95.192.10
d.twnic.net.tw internet address = 210.17.9.229
d.twnic.net.tw has AAAA address 2001:c50:ffff:1::229
e.twnic.net.tw internet address = 211.79.207.25
f.twnic.net.tw internet address = 220.229.225.196
g.twnic.net.tw internet address = 61.31.216.4
所以表示 net.tw. 負責的 nameserver 有 a.twnic.net.tw 等機器。那繼續問:
$ nslookup -type=ns seed.net.tw. a.twnic.net.tw
Server: a.twnic.net.tw
Address: 192.83.166.9#53
Non-authoritative answer:
*** Can't find seed.net.tw.: No answer
Authoritative answers can be found from:
seed.net.tw nameserver = ksdns.seed.net.tw.
seed.net.tw nameserver = tcdns.seed.net.tw.
seed.net.tw nameserver = dns.seed.net.tw.
seed.net.tw nameserver = dns1.seed.net.tw.
dns.seed.net.tw internet address = 139.175.55.244
dns1.seed.net.tw internet address = 139.175.252.16
ksdns.seed.net.tw internet address = 139.175.10.20
tcdns.seed.net.tw internet address = 139.175.150.20
所以可以看出來 seed.net.tw. 負責的 nameserver 有 4 台。那實際要知道 www.seed.net.tw ip 就是...
$ nslookup www.seed.net.tw dns.seed.net.tw.
Server: dns.seed.net.tw.
Address: 139.175.55.244#53
Name: www.seed.net.tw
Address: 192.72.80.36
所以你有看懂該查詢流程,那你的問題就有解了。
上面的問題可能很簡單,我查了些資料,沒弄明白。希望瞭解的能夠講講。例如,我想實現下面解析:
域名:abc.com
域名服務器:dns.abc.com 地址:1.2.3.4/24
MX: mail.abc.com 地址:1.2.3.4/24
我想在三級域名:st.abc.com域上建個郵件服務器。
MX:mail.st.abc.com 地址:1.2.3.5/24
我在1.2.3.4上做了A記錄
st IN A 1.2.3.5
在1.2.3.5上做MX記錄和A記錄
IN MX 1 mail.st.abc.com
mail IN A 1.2.3.5
然後,做測試,別說收發郵件,mail.st.abc.com根本就無法解析。st.abc.com可以解析,這個好理解。但是怎樣才能解析mail.st.abc.com呢?怎樣使mail.st.abc.com的解析交給1.2.3.5而不是1.2.3.4呢?
你的 MX 紀錄錯誤吧..
IN MX 1 mail.st.abc.com.
注意那個 "." 。
另外您授權設定是錯誤的...
若是 abc.com. 是 1.2.3.4 機器負責的,要延伸出 st.abc.com. 希望給 1.2.3.5 負責,那寫法是:
st IN NS dns.st.abc.com.tw.
dns.st IN A 1.2.3.5
後續要設定 mail.st.abc.com.tw 相關 A record or MX record 請在 1.2.3.5 上設定。
--
《解決方案》
多謝樓上的兄弟!!!
明白了,我授權哪塊沒弄明白,現在基本清除了。經過樓上兄弟的指點,我把dns與bind書又看了一邊,總算是可以工作了。就是不知道規範不規範。如下:
1.2.3.4上:
st IN NS dns.st.abc.com.
dns.st IN A 1.2.3.5
1.2.3.5上:
IN NS dns.st.abc.com.
IN A 1.2.3.5
IN MX mail.st.abc.com.
dns IN A 1.2.3.5
mail IN A 1.2.3.5
在外網可以正常解析了。但是還有一點問題:我把1.2.3.4換成window 2000,在DNS里新建委派:st.abc.com 地址1.2.3.5,1.2.3.5上的bind設置不變,外網解析不出來。
《解決方案》
windows ? 不清楚,建議你到 windows 相關討論版詢問.
--