LINUX下DNS伺服器的安裝

2021-06-17 21:55:59 字數 3612 閱讀 7304

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 編寫正向...