新浪網

  新浪首頁 > 科技時代 > FreeBSD使用大全連載 > FreeBSD連載(38):配置緩沖或轉發方式的named
 


FreeBSD連載(38):配置緩沖或轉發方式的named

http://www.sina.com.cn 1999年12月10日 11:40 王波

配置緩沖或轉發方式的named

  在Internet中主要使用名字進行連接,因此網絡中的DNS查詢會十分頻繁。很多情況下,會有大量且重復 的DNS查詢。尤其在使用撥號連接的條件下,由于名字服務器位于ISP端,即使是曾經查詢過的名字,其信息仍然保存在 線路的另一端的名字服務器的緩沖區內,重復的DNS查詢將占據寶貴的線路帶寬。并且DNS查詢還往往使得網絡連接軟件 不能正確獲得超時信息,不能適時斷開連接以節省電話連接時間。

  因此,最好的辦法是將查詢結果保存在本地計算機上,以避免重復查詢造成的無謂的網絡流量。雖然很多TCP/IP 客戶機能夠在本機內保存一個名字解析緩沖區,但這個緩沖區相對來講太小了,起不到很有效的作用,然而如果要將這個緩 沖區設置的較大,又不能及時刷新名字解析數據。要想很好的緩沖DNS數據,最好的緩沖區還是DNS服務器本身,因為DNS 的實現方式就是一種經常刷新的緩沖方式,并且named可以根據不同zone的不同設置,來實現數據刷新。

  因此,最簡單的辦法就是設置一個具備緩沖能力的名字服務器,它將能夠用做名字解析的緩沖,這就要需要設置名字 服務器的過程。

  • 在/etc/resolv.conf中,將127.0.0.1作為第一個可選服務器,其他DNS服務器作為備份,使得名字查詢通過本地的名字服務器進行,以利用它的緩沖機制﹔
  • 在/etc/rc.conf中,將named_enable設置為”YES”,允許啟動named,rc.conf中有關named的其他選項不需改變﹔
  • 改變到/etc/namedb目錄下,運行make-localhost程序,這將產生針對本計算機的解析數據localhost.rev文件﹔
  • 修改/etc/namedb/named.conf文件,使其符合一個轉發系統的要求。
  • 啟動名字服務器,可以使用root身份直接執行named守護進程,并在rc.conf中更改named_enable的設置值。

  • 設置named.conf

  要成功配置named,最重要的一步就是改變配置文件named.conf,一個用于轉發的設置文件應為:

options {
        directory "/var/namedb";
        datasize 20M; 
        forward only;
        forwarders {
            202.102.224.68
        };
};
zone "." {
        type hint;
        file "named.root";
};
zone "0.0.127.in-addr.arpa" {
        type master;
        file "localhost.rev";
};

  這個設置文件中去除了任何注釋項,named中使用與C++相同的注釋方式,即用兩個斜線來表示一行注釋,而 設置語句也類似C的語法。

  第一個語句options用于設置named的參數,directory指明named的工作目錄為/etc /namedb,datasize用于設置緩沖區的大小,forward only和forwarders用于指明這 個服務器只是一個轉發服務器,并設置轉發的名字服務器的地址。這兩個轉發選項不是必須設置的,不進行設置時named 就能很好的適應解析和緩沖任務。這樣名字服務器初始時就從根名字服務器中獲得信息,這些信息將保存在named的緩沖 區內,此后就可以查詢緩沖區內的相關服務器來獲得進一步的名字解析。

  第二個語句用于設置根zone,這用于設置Internet上的根名字服務器,一切本地無法解析的數據將發送 給那些根名字服務器進行解析,設置了工作目錄下的named.root文件中記錄了這些根名字服務器的地址,記錄根名 字服務器的文件名字也可能為root.hints。第三句定義了對127.0.0.0的反向查詢的數據,0.0.12 7.in-addr.arpa為一個反向解析zone,其IP地址也是反序排列的,并且使用in-addr.arpa 后綴,而對應的反向解析數據在localhost.rev文件中定義。

  BIND的當前版本為8,之前的版本為4.9.x,它們使用named.boot作為named的配置文件。 大多數Unix版本,包括大多數商業Unix在內,還沒有更新他們的名字服務器到當前的BIND 8,仍然運行老版本 的named。但必須注意named.boot文件的格式與named.conf不同,不能混用。BIND 8提供了 很多優秀的特性,因此最好立即升級到新版本。

  named.root文件給出了Internet上的多個根名字服務器,用于初始化named的緩沖區。借助 這些名字服務器的幫助,一台名字服務器能對整個Internet進行查詢。一般不需要改變這些文件的內容,但是如果要 建設一個內部網,不與Internet連接,就不需要named.root中的這些根名字服務器的地址,而要更改為自 己網絡內的根名字服務器的地址。事實上,沒有任何內部網絡能和Internet相比擬,需要使用多台根名字服務器來維 護其域名解析系統,直接設置一台或几台名字服務器,并指定客戶計算機使用這些名字服務器就滿足要求了。

  • zone數據文件的格式
@	IN	SOA	freebsd.example.org.cn. root.freebsd.example.org.cn.  (
				1998012314	; Serial
				3600	; Refresh
				900	; Retry
				3600000	; Expire
				3600 )	; Minimum
	IN	NS	freebsd.example.org.cn.
1	IN	PTR	localhost.

  這是根據計算機的名字和域名產生的localhost.rev文件,這個文件定義了對127.0.0.0這個 反向zone的反向名字解析數據,可以用于從IP地址查詢主機的名字。

  第一個設置定義了一個SOA記錄,這個類型的記錄定義了包含一個zone的開始,并用于設置zone中數據刷 新時間等參數。在這個記錄中,@代表一個zone,由于這個設置文件中沒有設置它的值,那么它就是named.con f中的定義語句中zone的值,這里就為0.0.127.in-addr.arpa。空白字符分隔之后為IN,這是用 于表示定義的關鍵字,SOA表示這一行的類型為SOA記錄,接下來的freebsd.example.org.cn. 為這台主機的全名,注意,這里以 ”.” 結尾,如果在名字解析配置文件中不以點結尾,named將自動附加上當前 zone的值﹔此后給出了一個聯系用的email地址,這里為root@freebsd.expampleorg.or g.cn,但是由于@在設置文件中有特殊含義,因此使用點代替﹔

  再后面就是SOA記錄的參數,這些參數使用了括號,并分在几行分別設置,這主要是為了使得設置更為清楚,將它 們放在同一行內也可以。SOA記錄的參數有序列號,用于標識SOA記錄數據 ── 其他名字服務器使用這個數據與自己 緩沖區內的數據對比,來判斷這個zone的數據是否更新,否則就沒有必要傳輸全部zone的數據。因此可以使用日期來 表示不同的序列號,以使得更改過SOA記錄之后,其他名字服務器能即使刷新數據﹔刷新時間 ── 用于告訴其他名字服 務器何時來檢查zone中的數據是否更新,這里配置為1小時(3600秒),這個時間間隔對于不經常改變的服務器來講 太小了,應該配置為一天或更大﹔第三個參數為連接的嘗試次數﹔然后是過期時間,表示一旦某個zone的正式名字服務器 不能提供其服務,其他名字服務器在其緩沖區中保存多久該zone的緩沖數據﹔最后一個參數指出其他名字服務器緩沖這個 文件內容的最小時間間隔,在這個間隔內不應該刷新該zone的名字解析數據。

  當括號結束之后,這個SOA設置項就結束了。而第二項設置定義了一個名字服務器記錄,這個設置直接用空格和IN 開頭,表示這一項仍然使用上一項中的設置,這里就是@。NS代表這一項定義是名字服務器類型,最后給出了名字服務器 的名字freebsd.example.org.cn.,表示這個zone的名字解析數據位于這個名字服務器中。

  第三項定義了一個反向查詢指針記錄PTR,第一列為1,由于沒有使用點結尾,因此其全形式應為127.0.0.1 ,第三列PTR表示這個記錄為PTR記錄,是給定IP地址返回名字的查詢形式,最后一列即是127.0.0.1的 名字localhost。

未完,待續。。。  



 
  新浪首頁 > 科技時代 > FreeBSD使用大全連載 > FreeBSD連載(38):配置緩沖或轉發方式的named


網站簡介 | 網站導航 | 廣告服務 | 中文閱讀 | 聯系方式 | 招聘信息 | 幫助信息

Copyright(C) 1999 SINA.com, Stone Rich Sight. All Rights Reserved

版權所有  四通利方 新浪網