请问dns中的SOA记录的作用是什么?是不是一般在辅助的dns服务器里才
用到?用来指定谁是主服务器???
NS的作用又是什么???
網中人 回复于:2004-01-31 17:37:38
soa 是指 zone 的權威設定,若忽略其中的 5 組數字,soa 指定了權威主機的 FQDN 及 admin email 。
而那 5 組數字的前四組,則用與 master/slave 的同步機制中參考。
最後的 min ttl 則是當 recorad 沒設 ttl、且 db 也沒設 $TTL 時參考。
ns 是往下授權,也可授權給自己...
banner99999 回复于:2004-01-31 17:42:01
有个老师给我们讲课的时候说“soa是描述辅助服务器的。
ns是描述主服务器的。”
你说的ns授权还不是太明白。
網中人 回复于:2004-01-31 21:51:09
若你再見到你的老師,不妨請他告訴理論依據好讓你深入研究...
然而,教育的要旨,不在於接受而在於懷疑。
ns 授權很簡單...
假設你註冊的 domain 叫 abc.com ,而你有 ns1 與 ns2 兩台 server 。
那,你必需從 .com 的權威伺服器授權給你,其設定或類似如此:
[code:1:f0cc327a87]$ORIGIN com.
abc IN NS ns1.abc.com.
abc IN NS ns2.abc.com.
ns1.abc IN A 1.2.3.4
ns1.abc IN A 1.2.3.5[/code:1:f0cc327a87]
然後,你的 ns1 或 ns2 都可是權威伺服器了(各自的 SOA 設為自己即可)。
在 abc.com 的 db 中,最少還應類似如下的設定:
[code:1:f0cc327a87]$ORIGIN abc.com.
@ IN NS ns1.abc.com.
@ IN NS ns2.abc.com.
ns1 IN A 1.2.3.4
ns2 IN A 1.2.3.5[/code:1:f0cc327a87]
不過,既然 SOA 是自己的話,那事實上,我可以改變 ns 或增加 ns 授權:
[code:1:f0cc327a87]$ORIGIN abc.com.
@ IN NS ns1.abc.com.
@ IN NS ns2.abc.com.
@ IN NS ns3.abc.com.
ns1 IN A 1.2.3.4
ns2 IN A 1.2.3.5
ns3 IN A 1.2.3.6[/code:1:f0cc327a87]
假如你有 sub-zone 要授權,事實上也是利用 ns 啦:
[code:1:f0cc327a87]$ORIGIN abc.com.
sub1 IN NS ns1.sub1.abc.com.
sub1 IN NS ns2.sub1.abc.com.
ns1.sub1 IN A 4.3.2.1
ns2.sub1 IN A 4.3.2.2[/code:1:f0cc327a87]
然而,不同版本的 resolver ,對最終的 ns 判定是不一樣的:
bind9 是以 abc.com 的權威主機的 ns 為依據,若找不到,那就沒結果。
而之前的版本,則可退而求次,以 com. 裡關於 abc.com 的 ns 為答案。
banner99999 回复于:2004-02-01 11:23:34
谢谢这位大哥,收益非浅!
馨婷 回复于:2004-02-01 18:33:04
網中人大哥:你说:
ns 授權很簡單...
假設你註冊的 domain 叫 abc.com ,而你有 ns1 與 ns2 兩台 server 。
那,你必需從 .com 的權威伺服器授權給你,其設定或類似如此:
代码:
$ORIGIN com.
abc IN NS ns1.abc.com.
abc IN NS ns2.abc.com.
ns1.abc IN A 1.2.3.4
ns1.abc IN A 1.2.3.5
这让我想到,我们单位有一个下级单位要搭建一台域名服务器由于他们自己部门的域名解析,我当时在我的zone文件里,就给他们做了条A
馨婷 回复于:2004-02-01 18:34:30
记录,也没做NS记录,也没见他们反映说不行嘛,那么NS记录是不是必须的呢
網中人 回复于:2004-02-01 21:37:15
因為你不是授權,而是幫他們設好了 A 記錄。
這跟授權出去讓他們設是不一樣的,雖然,查詢結果一樣...
若你管 abc.com 的話,
你可以設一個這樣的 A 沒問題:
hsot1.sub3.sub2.sub1.abc.com. IN A 1.2.3.4
也可先將 sub1.abc.com 授權出去,
再將 sub2.sub1.abc.com 授權出去,
再將 sub3.sub2.sub1.abc.com 授權出去,然後再設 host1 的 A ...
馨婷 回复于:2004-02-02 18:23:11
那我想在问一句,这不同点具体在哪儿呢?
他们内部的CLIENT可以用他们自己的域名服务器解析啊?
难道他们用nslookup看他们自己内部的机器,显示的是
Non-authoritative answer:吗?
请指教
網中人 回复于:2004-02-03 16:14:09
不同點在--- 權威伺服器。
從查詢"結果"來看,沒差。
Non-authoritative answer 是指 cache 中的 answer ,別想得太複雜~~~
馨婷 回复于:2004-02-04 23:16:26
我知道了,我那种是属于划定了子域,但没有授权,是吧
也就是说,若我不给那个子域的DNS授权的话,那么即使它可以解析别人,那别人解析它本地主机表里的主机是解析不到的,这样说对不对啊?
banner99999 回复于:2004-02-05 11:34:39
为什么有的时候我直接打域名就能解析出来。
后来又做了一个dns,直接打域名就解析不出来了??
这是什么问题???
網中人 回复于:2004-02-05 12:26:40
1) 你的 resolver 用甚麼版本?(請留意我前面提到的版本差異)
2) 你用甚麼 program 來查?能將結果貼上來嗎?
banner99999 回复于:2004-02-05 12:34:57
不好意思,我用win2000做的时候出现的这种情况。
直接用的ping
網中人 回复于:2004-02-05 12:51:12
w2k 應可用 nslookup ,
能否設 set debug 之後,再查查看?(順便將結果貼上來...)
banner99999 回复于:2004-02-05 12:55:53
好的。我试试
banner99999 回复于:2004-02-09 18:03:24
试过了,用nslookup可以直接将域名解析出来。
用ping 就不行
好好先生 回复于:2004-02-09 19:50:20
[quote:1fc7567438="banner99999"]有个老师给我们讲课的时候说“soa是描述辅助服务器的。
ns是描述主服务器的。”
你说的ns授权还不是太明白。[/quote:1fc7567438]
如果你没有记错的话,你们的老师应该承担误人子第的责任了。 :em02:
網中人 回复于:2004-02-10 07:12:57
若 ping IP 都不行,那就不是 dns 而是 network/firewall 的問題...
yfhe 回复于:2004-02-10 09:57:41
现在很多的路由器和防火墙对ICMP都有过滤的,所以很多情况下ping都不行,如果是在同一个网段下的话,ping应该是没问题的 :)
qwerqwer34 回复于:2005-02-18 00:37:57
SOA纪录我不是很清楚,但是NS纪录的话我用最一个简单的例子说明:
假如你拥有xxx.com的域名,而负责解析这个域名的DNS服务器为ns1.zzz.com和ns2.zzz.com,那么如果你增加了一个值为news.xxx.com的NS纪录到dns.ooo.com,那么你的news.xxx.com下的一切子域名都可以由dns.ooo.com负责解析(当然ns1.zzz.com和ns2.zzz.com也可以解析),而其他的只能由ns1.zzz.com和ns2.zzz.com解析,不能由dns.ooo.com来负责解析!
不知道我说清楚没有!
archangle 回复于:2005-02-18 15:23:24
[quote:7393715189]
不過,既然 SOA 是自己的話,那事實上,我可以改變 ns 或增加 ns 授權:
代码:
$ORIGIN abc.com.
@ IN NS ns1.abc.com.
@ IN NS ns2.abc.com.
@ IN NS ns3.abc.com.
ns1 IN A 1.2.3.4
ns2 IN A 1.2.3.5
ns3 IN A 1.2.3.6
[/quote:7393715189]
那么增加的ns3在什么情况下会收到查询呢?
archangle 回复于:2005-02-18 16:05:21
是不是要在24小时后才会生效呢?