dns 簡介
dns(domain name system)
作用:管理主機的「戶籍」---主機名:ip,是乙個分布市資料庫系統
起源:最早的主機解析,依靠hosts檔案,由nic(network information center)維護,後來主機數量變得非常龐大,網路越來越複雜,就產生了dns伺服器。
dns系統的結構(倒掛的數形結構):
網域名稱註冊:
註冊.com下面的網域名稱,比如redhat.com,需要找.com的域的管理者(通常為國際網域名稱管理組織www.webnic.cc)
註冊.redhat.com下面的網域名稱,比如mydomain.redhat.com 需要找到redhat.com域的管理者。
常用術語:
dns伺服器:提供網域名稱解析服務的主機
dns客戶機:需要查詢主機網域名稱資訊的主機,任何聯網的主機都需要查詢網域名稱,所以任意主機都是dns客戶機。dns客戶機需要知道dns伺服器在**,liinux靠/etc/resolv.conf指定。
正向解析:根據主機名解析ip位址。
反向解析:根據ip位址解析主機名稱。
dns解析的過程:常用的是遞迴解析,如果你要解析mail.sohu.com這個網域名稱,主機就會向/etc/reslv.conf中指定的dns伺服器傳送解析請求,如果其上有對應的快取,就直接反饋給,如果沒有就進行遞迴查詢,其先向根(.)請求,跟就會把.com的dns伺服器位址返回給請求者,然後本地的dns就會向.com的dns傳送解析請求,.com返回sohu.com的dns位址,原因同上,然後本地向.sohu.com的dns傳送解析請求,sohu.com的dns將mail.sohu.com對應ip位址返回給本地的dns,本地的dns再將對應的資訊返回給客戶機。這就是遞迴查詢的過程,實際應用中會有一些差別。具體可以從網上搜尋相關資料。
options ;
zone "." ;
在確定resolve.conf中定義的dns伺服器為本身,可以正常解析出網域名稱了
增加localhost域,開始就已經定義好了
named.conf 中
zone "localhost" ;
建立/var/named/named.local內容如下
@ in soa localhost. root (
2004081201 ;serial
1h ;refresh
15m ;retry
1w ;expire
1d ) ;ttl
in ns @
in a 127.0.0.1
第乙個字段一般為乙個網域名稱或者乙個主機名,這裡的@表示當前的local區區名"localhost"
第二個欄位指型別 in(internet網際網路型別)
第三欄位指記錄型別,是伺服器ns、位址、或者是檔案交換記錄。每個區都有乙個soa(起始授權機構)這樣的記錄記錄,內容包括:該區檔案是為哪個區(localhost.)定義的;後面
是該區域的管理者root是縮寫,完整的應該以點結尾,沒有以點結尾都會加上該區域的字尾,即完整的為root@localhost.,也以點結尾,但是@有定義為本區域,所以轉意為
named伺服器有快取功能,第一次解析會比較慢,後續會比較快!
如果有在named.conf中新增新的區域,配置好對應的區域檔案後需要執行
# rndc reload //重新載入配置檔案 使其生效
@ in soa @ root.localhost. ( 2004051201 1h 14m 1w 1d ) //注意這裡的@是代表反向區名0.0.127.in-addr.arpa.,root後面不能省略。
in ns localhost.
1 in ptr localhost. //ptr反向解析 ip放在前面,主機名放在後面,數字1完整寫法為1.0.0.127.in-addr.arpa.
;; question section:
;1.0.0.127.in-addr.arpa. in ptr
;; answer section:
1.0.0.127.in-addr.arpa. 86400 in ptr localhost.
;; authority section:
0.0.127.in-addr.arpa. 86400 in ns localhost.
;; additional section:
localhost. 86400 in a 127.0.0.1
;; query time: 9 msec
;; server: 127.0.0.1#53(127.0.0.1)
;; when: mon oct 1 14:12:42 2007
;; msg size rcvd: 93
(domain in ns domain
in a 192.168.2.1 //也可以簡單地寫成這樣兩行,domain為自己的ns記錄,ip指向為……)
在192.168.2.1 上配置bind伺服器,如下:
增加乙個子域:domain.v1.com,named.conf配置檔案增加:
zone "domain.v1.com" ;
子域伺服器的區檔案 domain.v1.com.zone如下:
@ in soa domain.v1.com. root.domain.v1.com.
(2004081201 36000 7200 3600000 86400 )
in ns ns.domain.v1.com.
ns in a 192.168.2.1
www in a 192.168.2.100
完成後測試方法同主伺服器,即將本地/etc/resolve.conf中的dns更改為127.0.0.1。# host www.domain.v1.com即可看到結果。
注意:這樣正確配置完成後在主伺服器192.168.0.200上也可以查到授權給子域伺服器192.168.2.1解析的domain.v1.com的內容。但是子網域名稱如果查詢父域還是要從根(.)域開始查
dns伺服器配置常用選項:
options ; //如果本身無法對某個網域名稱無法解析,將請求**給的伺服器,一般為外部dns伺服器,當該伺服器也無法解析就查詢根
allow-transfer ; //是否允許某乙個網段或某乙個位址同步該伺服器上的資料,一般指定輔伺服器位址
allow-query ; //允許查詢的客戶機位址或者範圍。非該範圍內的dns查詢請求會被拒絕,具體體現日誌中。
};zone "v1.com" ; //意義同options,只是這個是對這個域有效
};注意:bind的配置檔案格式是非常嚴格的,大括號前後的空格
Linux下建立DNS伺服器
在本學期第 6周的星期四中午,記錄一下本學期 網路作業系統 課程的八個伺服器配置。之linux下建立dns伺服器 用到的東西 vmware虛擬機器,redhat 7 以及安裝光碟映象1,映象2 1.以root使用者登陸,並修改為靜態ip位址。2.掛載映象 在虛擬機器中掛載第一張映象,安裝bind m...
Linux下搭建DNS伺服器
1 安裝需要的軟體 由於實驗過程是在自己電腦進行的,所以需要安裝bind bind chroot,以下為安裝過程。圖1 1 安裝bind 圖1 2 安裝bind chroot 2 修改dns主配置檔案 圖2 1 修改主配置檔案 3 修改named.rfc1912.zones檔案 圖3 1 編輯nam...
Linux下搭建DNS伺服器
1 安裝服務 yum y install bind 安裝dns 服務 yum install bind utils y 安裝dns 檢測工具 2 編輯配置檔案 3 檢查語法錯誤 named checkconf4 編輯配置檔案 vi etc named.rfc1912.zones最後新增 5 編寫正向...