wangrujun 回復于:2003-02-18 18:21:55 |
最新的根域是在dns服務器啟動的時候就被讀入,而不是在接受查詢時才加載呀,所以應該不會有延時的呀 |
cpss 回復于:2003-02-15 12:26:55 |
這次named.root的更新是將原InterNIC臨時建立的J.ROOT-SERVERS.NET(IP:198.41.0.10)更改為VeriSign建立的dns(IP:192.58.128.30),還有將L.ROOT-SERVERS.NET.從原來的臨時確定為永久由IANA來提供。 |
阿驍 回復于:2003-02-15 22:32:34 |
多謝 cpss 兄弟!
大家趕緊更新吧! 我的 server 是設置成每個月會自動更新一次,所以沒什么問題。:) |
cpss 回復于:2003-02-16 10:22:03 |
[quote:c9fd6c6175="阿驍"]多謝 cpss 兄弟!
大家趕緊更新吧! 我的 server 是設置成每個月會自動更新一次,所以沒什么問題。:)[/quote:c9fd6c6175]每月更新一次也太夸張了,這個文件上一次更新時間可是1997年的事了。這一次更新是2002年11月,估計下一次更新要到2007年了,呵呵。 |
阿驍 回復于:2003-02-16 13:10:09 |
呵呵 。。 反正只是寫了個 shell 腳本自動運行,無所謂的?。海?br> |
laoxia 回復于:2003-02-17 00:05:11 |
[quote:f816e8335e="阿驍"]呵呵 。。 反正只是寫了個 shell 腳本自動運行,無所謂的?。海/quote:f816e8335e]用這個?
dig @a.root-servers.net . ns > db.cache |
阿驍 回復于:2003-02-17 03:00:31 |
不是,我用的是笨辦法: 用 ftp 去下載 named.root 文件。只是做成用 shell 教本自動運行。 |
superjun 回復于:2003-02-17 09:36:44 |
哪里有這個消息的官方報道?如果不更新會出現什么問題么? |
wangrujun 回復于:2003-02-17 15:26:50 |
不更新沒有問題。
所有的頂級dns中(A-M),只需要有一個有效就可以了。 假如5年更新一個的話,呵呵,我們50年不動都可以。 |
cpss 回復于:2003-02-17 17:22:20 |
不更新會有點問題的。
dns需要和頂級域名服務器聯系時,是隨機抽取一個聯系,如果剛好抽到那個作廢的,那就會等到dns意識到該頂級域名服務器有問題后,才會和另外一個聯系。這會影響dns性能的。 |
herofengj 回復于:2003-02-17 18:11:50 |
[quote:a7932df838="wangrujun"]不更新沒有問題。
所有的頂級dns中(A-M),只需要有一個有效就可以了。 假如5年更新一個的話,呵呵,我們50年不動都可以。[/quote:a7932df838] 你最好看看rfc1035的定義標準。不改,你發一些訪問國外域名的包就知道了!有時是會出問題的。 |
freefish 回復于:2003-02-18 08:55:19 |
我沒有named.root文件,但覺得named.cache的內容和它有點相似。那是不是直接替換named.cache就可以了? |
wangrujun 回復于:2003-02-18 08:58:17 |
[quote:9c393cf177="cpss"]不更新會有點問題的。
dns需要和頂級域名服務器聯系時,是隨機抽取一個聯系,如果剛好抽到那個作廢的,那就會等到dns意識到該頂級域名服務器有問題后,才會和另外一個聯系。這會影響dns性能的。[/quote:9c393cf177] dns服務器啟動時,會從頂級域名中找到一個可用的,然后聯接。隨后dns服務器會向這個可用的頂級域名請求最新的dns服務器列表,cache中。也就是說,本地的named.root只是在啟動的時候才用的。 如果說你訪問外國網站會有問題,可能是你dns本身有問題,或者是別的原因。比如說很郁悶的一個: www.pure-ftp.org就不能訪問,老天才知道為什么要封它! 還有,關于樓上的 rfc1035的問題,只是說,如果根dns列表變化時,應該更新一下本機的dns列表。但是并不有說是必須,而且也沒有詳細描述后果。 我的英文很爛,或有錯缺之處。如果樓上仔細看過rtf1035并精于此通,能不能翻譯一下,一定可以加入本版精華貼之精華! 在樓上的關于rfc1035并沒有進一步說明章節和段落前,我更相信W.Richard Stevens的說法。他可是最重量級的大師。 參見《TCP-IP詳解卷1:協議》第十四章 英文原書名:TCP/IP Illustracted Volume 1:The Protocols 作者:W.Richard Stevens 出版公司:機械工業出版社 譯者: 范建華等 書號: 7-111-07566-8 |
herofengj 回復于:2003-02-18 14:23:49 |
[quote:85e51c8c1d="wangrujun"]
dns服務器啟動時,會從頂級域名中找到一個可用的,然后聯接。隨后dns服務器會向這個可用的頂級域名請求最新的dns服務器列表,cache中。也就是說,本地的named.root只是在啟動的時候才用的。 如果說你訪問外國?.........[/quote:85e51c8c1d] 你說的named.boot在bind8的版本上才有,我現在用的是bind9.2.1(當然你在配置named.conf可以生成一個這樣的文件。但是現成的named.ca不就行了。) 查詢之間的有這么一條規定,向根域通信請求時如果找不到,五秒后再次刷新請求別的記錄。你在用戶端的本機看看(nslookup)兩秒就超時。ie瀏覽器就會報微軟定義的錯誤提示。而現在根域地址已經改變。用戶端的dns?。悖幔簦悖?、已經其localdns的和對端dns還有生存時間的限制。所以會造成你說的訪問國外的訪問不到。但是你在服務器端用dig命令是能找到的。 說了這些就是告訴你不改會有什么現象出現。中國的DNS算法還跟國外有所區別,你可以問問cnnic的人,不過最好不要只問接電話的。 |
阿驍 回復于:2003-02-18 19:41:03 |
BIND 使用 named.cache 是在啟動時將該文件中的數據保存在內存中的一個特殊的地方,作為“根線索”。即使它們的 TTL 減少到0也不會象對待緩存數據那樣丟棄它們。BIND 使用這些線索數據去查詢根名字服務器以得到當前根名字服務器列表,然后把該列表保存到緩存里。當緩存中的根名字服務器列表超時了,名字服務器就使用這些線索再得到一份新的列表。
而為什么要這樣重復查詢呢?是因為 named.cache 這個文件可能已經過時了,但可以肯定的是,其中的某些名字服務器是知道當前根名字服務器列表的。 |
herofengj 回復于:2003-02-19 08:46:22 |
[quote:d35da3705b="wangrujun"]最新的根域是在dns服務器啟動的時候就被讀入,而不是在接受查詢時才加載呀,所以應該不會有延時的呀[/quote:d35da3705b]
不會吧!應該是讀你本機的/var/named/named.ca文件!你看看/etc/init.d/named配置文件要上裝了rndc了,你看看rndc的配置文件。 |
cpss 回復于:2003-02-19 09:12:44 |
dns會同時和多個頂級域名服務器通訊的,這是抓下來的記錄(由于該server的tcpdump有點問題,我是通過snoop抓的),它可以證明這一點
ns.hazzptt.net.cn -> d.root-servers.net DNS C 149.156.78.157.guobin1. Internet Addr ? d.root-servers.net -> ns.hazzptt.net.cn DNS R Error: 3(Name Error) ns.hazzptt.net.cn -> d.root-servers.net DNS C 210.38.3.18. Internet Addr ? ns.hazzptt.net.cn -> E.ROOT-SERVERS.NET DNS C 210.38.3.18. Internet Addr ? E.ROOT-SERVERS.NET -> ns.hazzptt.net.cn DNS R Error: 3(Name Error) |
wangrujun 回復于:2003-02-19 09:20:03 |
[quote:d3e087add1="herofengj"]
中國的DNS算法還跟國外有所區別..........[/quote:d3e087add1] 老兄,能介紹一下嗎?不好意思,我也不認識 cnnic的人,估計他們也沒耐心跟我解釋這些。 多謝了。 ![]() |
wangrujun 回復于:2003-02-19 09:23:15 |
[quote:0c9502199d="herofengj"]
不會吧!應該是讀你本機的/var/named/named.ca文件!你看看/etc/init.d/named配置文件要上裝了rndc了,你看看rndc的配置文件。[/quote:0c9502199d] 這是我的 /etc/init.d/named,其中沒有rndc的配置文件。 #!/sbin/sh # # Copyright (c) 1999 by Top (HK) Consultants Limited. # All rights reserved. # BIND_HOME=/usr/local/sbin CONF_FILE=/etc/named.conf PIDFILE=/var/run/named.pid if [ ! -f ${CONF_FILE} ]; then exit 0 fi case "$1" in start) /usr/local/sbin/named cmdtext="starting" ;; stop) kill `cat ${PIDFILE} | head -1` cmdtext="stopping" ;; *) echo "Usage: $0 {start|stop}" exit 1 ;; esac echo "Bind 9.2.1 named $cmdtext." exit 0 |
wangrujun 回復于:2003-02-19 09:27:48 |
[quote:e296e36c2b="阿驍"]BIND 使用 named.cache 是在啟動時將該文件中的數據保存在內存中的一個特殊的地方,作為“根線索”。即使它們的 TTL 減少到0也不會象對待緩存數據那樣丟棄它們。BIND 使用這些線索數據去查詢根名字服務器以得到當前?.........[/quote:e296e36c2b]
您的意思我還不是很明白,是不是這個意思: dns服務器啟動開始-->.......->抓named.root,并保存到named.cache->從中取得一個可用根域名服務器地址->從該根域名服務器取得最新的的根域名服務器地址列表->存入本地named.cache->dns服務器繼續啟動直到啟動結果 dns服務器運行中,也會根據TTL的時間,不斷的重新更新本地的named.cache,是這樣嗎? 呵呵,咱們討論的透透的,以后dns方面搞得很清爽,版主就沒事情做啦! |
wangrujun 回復于:2003-02-19 09:29:07 |
[quote:44feeb1c8c="cpss"]dns會同時和多個頂級域名服務器通訊的,這是抓下來的記錄(由于該server的tcpdump有點問題,我是通過snoop抓的),它可以證明這一點
ns.hazzptt.net.cn -> d.root-servers.net DNS C 149.156.78.157.guobin1. ..........[/quote:44feeb1c8c] 請問您抓的是dns服務器啟動時的信息還是dns運行中的信息? |
gugong 回復于:2003-02-19 10:13:14 |
2003年02月19日上午10時11分16秒[root@www root]# rpm -qli caching-nameserver-7.2-1
Name : caching-nameserver Relocations: (not relocateable) Version : 7.2 Vendor: Red Hat, Inc. Release : 1 Build Date: 2001年07月04日 星期三 04時56分23秒 Install date: 2002年05月08日 星期三 18時51分56秒 Build Host: stripples.devel.redhat.com Group : System Environment/Daemons Source RPM: caching-nameserver-7.2-1.src.rpm Size : 8465 License: Public Domain Packager : Red Hat, Inc. <http://bugzilla.redhat.com/bugzilla> Summary : The configuration files for setting up a caching name server. Description : The caching-nameserver package includes the configuration files that will make BIND, the DNS name server, act as a simple caching nameserver. Many users on dialup connections use this package along with BIND for this purpose. If you would like to set up a caching name server, you will need to install the caching-nameserver package and bind. /etc/named.conf /usr/share/doc/caching-nameserver-7.2 /usr/share/doc/caching-nameserver-7.2/Copyright /var/named/localhost.zone /var/named/named.ca /var/named/named.local 2003年02月19日上午10時11分17秒[root@www root]# [color=red:ba63cb5262]若有問題的話,RedHat 就會更新這個包了。[/color:ba63cb5262] |
gugong 回復于:2003-02-19 10:18:41 |
[quote:f704ff3761="herofengj"]
不會吧!應該是讀你本機的/var/named/named.ca文件!你看看/etc/init.d/named配置文件要上裝了rndc了,你看看rndc的配置文件。[/quote:f704ff3761] [color=orange:f704ff3761] rndc controls the operation of a name server. It supersedes the ndc utility that was provided in old BIND releases. If rndc is invoked with no command line options or arguments, it prints a short summary of the supported commands and the available options and their arguments. rndc communicates with the name server over a TCP connection, sending commands authenticated with digital signatures. In the current versions of rndc and named named the only supported authentication algorithm is HMAC-MD5, which uses a shared secret on each end of the connection. This provides TSIG-style authentication for the command request and the name server's response. All commands sent over the channel must be signed by a key_id known to the server. rndc reads a configuration file to determine how to contact the name server and decide what algorithm and key it should use. [/color:f704ff3761] |
gugong 回復于:2003-02-19 10:21:51 |
掃描一下 127.0.0.1 ,而不是 以太網卡端口??梢园l現多出:
[color=red:bfcdb7b2f0]953/tcp open rndc [/color:bfcdb7b2f0] [b:bfcdb7b2f0]單純掃描 以太網卡端口 ,是沒有這個端口的哦。[/b:bfcdb7b2f0] 2003年02月19日上午10時18分32秒[root@www root]# telnet 127.0.0.1 953 Trying 127.0.0.1... Connected to localhost.localdomain (127.0.0.1). Escape character is '^]'. ? ^] telnet> Connection closed. 2003年02月19日上午10時20分32秒[root@www root]# telnet 192.168.20.1 953 Trying 192.168.20.1... telnet: Unable to connect to remote host: Connection refused |
cpss 回復于:2003-02-19 14:19:14 |
[quote:72fe85e915="wangrujun"]
請問您抓的是dns服務器啟動時的信息還是dns運行中的信息?[/quote:72fe85e915] 我是從正在運行的dns服務器上抓的包,dns已經運行很久了。 |
wangrujun 回復于:2003-02-19 14:36:16 |
[quote:7609c72be2="cpss"]
我是從正在運行的dns服務器上抓的包,dns已經運行很久了。[/quote:7609c72be2] dns正在運行時,有可能向任何dns根域名服務器進行查詢。這方面的資料你可以看rfc的資料。它是一個樹狀的結構。 上面討論的如何獲得根域名服務器的列表,是在dns啟動時獲得。 |
wangrujun 回復于:2003-02-19 14:37:06 |
[quote:f8c1a3937f="gugong"] root]# telnet 192.168.20.1 953
Trying 192.168.20.1... telnet: Unable to connect to remote host: Connection refused[/quote:f8c1a3937f] 呵呵,我用的是bind9.2.1,可是沒有配置rndc。我記得安裝的時候有選項的。 |
herofengj 回復于:2003-02-19 14:42:28 |
[quote:189ee9a306="wangrujun"]CONF_FILE} ]; then
exit 0 fi case "$1" in start) /usr/local/sbin/named cmdtext="starting" ;; stop) kill `cat ${PIDFILE} | head -1` cmdtext="..........[/quote:189ee9a306] /usr/local/sbin/named 這不是嗎?但是應該是個二進制的,是由bind生成的。啟動是要讀?。睿幔恚澹?。ca,這個文件就是緩存文件。你說的ttl是記錄每個下級域名生存時間,這是根據你的用戶訪問情況,你的用戶訪問了www.sina.com.cn,就記錄了ns.sina.com.cn生存時間。每個域名的生存時間都是不一樣的,大多數都定義86400。 cnnic嗎?我看你還是抓取一些包看看,跟國外比較一下了,你就知道算法不同了。 |
wangrujun 回復于:2003-02-19 16:00:48 |
[quote:35f51d4fa7="herofengj"]
/usr/local/sbin/named 這不是嗎?但是應該是個二進制的,是由bind生成的。啟動是要讀?。睿幔恚澹?。ca,這個文件就是緩存文件。你說的ttl是記錄每個下級域名生存時間,這是根據你的用戶訪問情況,你的?.........[/quote:35f51d4fa7] 呵呵,我是針對根域名服務器列表的問題討論TTL的。就是說dns在運行中如何更新根域名服務器列表。 另外,我的水平比較差,沒有辦法向你那樣分析出算法。真的,我沒做過。 關于rndc,我的機器上沒有開953端口 |
herofengj 回復于:2003-02-19 18:11:13 |
[quote:e5d6d66d4b="wangrujun"]
呵呵,我是針對根域名服務器列表的問題討論TTL的。就是說dns在運行中如何更新根域名服務器列表。 另外,我的水平比較差,沒有辦法向你那樣分析出算法。真的,我沒做過。 關于rndc,我的機器上沒有開953端口[/quote:e5d6d66d4b] 你可以看看named.ca文件,那里面都是根域服務器地址,你要是不更改這個文件你的根域服務器地址就是文件中的。named在運行過程中是改變不了這個文件的。要升級named。ca文件的原因就是這些。 還有rndc是通過953端口通訊的。相當于名字服務的控制器,裝不裝當然由個人愛好而定。(只不過就是在管理時方便些) 還有在國內dns的算法就是跟國外又區別,你要是相知道我可以給你發站內郵件,這一點我不想公開。 |
cpss 回復于:2003-02-19 18:44:39 |
[quote:1e7fb54344="herofengj"]
你可以看看named.ca文件,那里面都是根域服務器地址,你要是不更改這個文件你的根域服務器地址就是文件中的。named在運行過程中是改變不了這個文件的。要升級named。ca文件的原因就是這些。 還有rn?.........[/quote:1e7fb54344] dns還分國內和國外嗎?不都是從網上下載bind程序安裝的嗎? 我很想知道有什么不同,請你發站內郵件或直接發郵件給我吧。 謝謝。 |
cpss 回復于:2003-02-19 18:47:07 |
rndc這個東東并不是一定要安裝的,純粹屬于個人愛好,安裝了rndc控制dns更容易一點,如果不裝rndc,只有經常使用“kill -HUP dns進程號”來管理了。
我還是建議安裝rndc的。 |
阿驍 回復于:2003-02-19 20:25:17 |
[quote:10cb0681f4="herofengj"]
[color=red:10cb0681f4]你可以看看named.ca文件,那里面都是根域服務器地址,你要是不更改這個文件你的根域服務器地址就是文件中的。[/color:10cb0681f4]named在運行過程中是改變不了這個文件的。要升級named。ca文件的原因就是這些。 還有rn?.........[/quote:10cb0681f4] herofengj 兄,你這個觀點可是不對的。named 在啟動時讀取這個文件沒錯,但 named 并不用這個文件的數據作為根服務器,而是作為“根線索”。用文件中的服務器來查找當前正確的所有根服務器列表,并放到緩存中緩存。當TTL時間到0的時候,再從“根線索”查找當前服務器列表。 |
herofengj 回復于:2003-02-19 21:10:53 |
[quote:4749eaa776="阿驍"]
herofengj 兄,你這個觀點可是不對的。named 在啟動時讀取這個文件沒錯,但 named 并不用這個文件的數據作為根服務器,而是作為“根線索”。用文件中的服務器來查找當前正確的所有根服務器列表,并放到緩存中緩存..........[/quote:4749eaa776] 是的,我是的意思是說這個文件只是在內存中下次機器啟動,還是要讀取這個文件,而文件內的字段是改變不了的,同樣會造成根域地址找不到。咱們的中心議題是要升級這個named.ca |
wangrujun 回復于:2003-02-20 09:47:23 |
[quote:c1ca7clearcase/" target="_blank" >cceca="herofengj"]
還有在國內dns的算法就是跟國外又區別,你要是相知道我可以給你發站內郵件,這一點我不想公開.........[/quote:c1ca7cceca] 謝謝你,您給我發一份吧。我非常想看看。 ![]() 多謝了。 |
wangrujun 回復于:2003-02-20 09:53:11 |
[quote:d91825c502="herofengj"]
是的,我是的意思是說這個文件只是在內存中下次機器啟動,還是要讀取這個文件,而文件內的字段是改變不了的,同樣會造成根域地址找不到。咱們的中心議題是要升級這個named.ca[/quote:d91825c502] 我的看法和阿驍一樣。 確實如您據說“這個文件只是在內存中下次機器啟動,還是要讀取這個文件,而文件內的字段是改變不了的,”。dns在讀這個文件時,如果遇到的dns是無效的根域名服務器,它會繼續在這個文件中尋找,直到找到一個可用的根服務器。 找到一個根服務器,就可以從這個根服務器中,下載目前最新的根服務器列表。 我看書上是這樣寫的。呵呵 |
阿驍 回復于:2003-02-20 09:57:27 |
[quote:aef30fd435="herofengj"]
還有在國內dns的算法就是跟國外又區別,你要是相知道我可以給你發站內郵件,這一點我不想公開。[/quote:aef30fd435] 給我也發一份吧,我也很好奇。謝謝! |
jackyy 回復于:2003-03-27 09:16:30 |
我從ftp://ftp.rs.internic.net/domain/ 看到有root.zone.gz和name.root兩個文件,我用的bind是8.3.1版本,我看了一下在named.conf文件里的原來的配置,針對的是zone.cache文件,我看了一下我機器上的zone.cache文件,內容和ftp://ftp.rs.internic.net/domain/ 上的root.zone.gz基本一樣,但是和named.root文件不一樣,是不是bind版本不同,所用的文件也不一樣呢?比如:bind8用的是root.zone.gz,而bind9用的是name.root?
是這樣嗎? |
阿驍 回復于:2003-03-27 13:42:00 |
named.root 和 named.cache 應該是一樣的啊,你用哪個都可以的。而 root.zone.gz 文件中不僅包含了根服務器,還有頂級域名服務器的地址。 |
jackyy 回復于:2003-03-27 14:18:49 |
我知道named.root 和named.cache是一樣的。我的意思是說:
“頂級域名服務器地址有所變動,dns服務器需要更新named.ca文件” 根據上面這句話,我下載下來的是root.zone.gz文件,解開后是root.zone文件,我在named.conf中設置如下: zone "." { type hint; file "root.zone"; } 是不是和如下的配置能完成同樣的功能,如下: zone "." { type hint; file "named.cache";----這個文件也是下載下來的 } 這兩個配置只是指向的文件不同(named.cache 、root.zone),是不是能完成同樣的功能呢? |
阿驍 回復于:2003-03-27 18:10:29 |
[quote:d770d9b1b9="jackyy"]我知道named.root 和named.cache是一樣的。我的意思是說:
“頂級域名服務器地址有所變動,dns服務器需要更新named.ca文件” 根據上面這句話,我下載下來的是root.zone.gz文件,解開后是root.zone文件,我在name..........[/quote:d770d9b1b9] 對,一樣的。 |
jackyy 回復于:2003-03-28 14:00:40 |
多謝阿驍 |