天天看點

Linux全攻略--DNS伺服器配置與管理(一)

      在LINUX中,域名服務是由BIND (Berkeley Internet Name Domain,柏克萊網間域名)軟體實作的.BIND是一個C/S系統,其用戶端稱為轉換程式(resolver),它負責産生域名資訊的查詢,将這類資訊發送給伺服器端.BIND的伺服器端是一個稱為named的守護程序.它負責回答轉換程式的查詢.作為DNS用戶端,第一步是在使用者的計算機上配置用戶端程式(轉換程式).即向域名伺服器獲得域名解析/反解析服務.

一.DNS的組成.

1)域名或資源記錄(Domain Name and Resource Records):用來指定結構化的域名空間和相應的資料.

2)域名伺服器.(Name Server):它是一個伺服器端的程式,包括域名空間樹結構的部分資訊.

3)解析器(Resolves):它是用戶端向域名伺服器送出解析請求的程式.

二.DNS的分類

1.Master Server(主伺服器)

2.Slave Server(輔助伺服器)

3.Caching only Server(緩存伺服器)

4.Forwarder Server(轉發伺服器)

三.BIND的安裝

通過下面的指令

這裡是安裝好了.

2.DNS的啟動

有兩種

1)使用圖形化方式啟動:選擇"應用程式|系統設定|伺服器設定|服務.

選中named可以執行關閉,啟動和重新啟動等操作.

2)在終端視窗用指令進行啟動

3.BIND常用的測試指令

有3種:

nslookup:DNS查詢指令

dig:DNS資訊收集指令

host:域名檢索指令

四.配置檔案和相關概念

DNS主要的配置檔案有4個:

1)主配置檔案:named.conf,路徑為/etc/named.conf.它用來設定全局參數.調配正向解析資料庫檔案和逆向資料庫檔案.

2)正向解析資料庫檔案:localhost.zone,路徑為/var/named/localhost.zone.該檔案用來将域名轉換成IP位址,是區域檔案的一部分.

3)逆向解析資料庫檔案:named.local,路徑為/var/named/named/local.該檔案用來将IP位址轉換成域名,也是區域檔案的一部分.

4)根域名伺服器指向檔案:named.ca,路徑為/var/named/named.ca.它用于緩存伺服器的初始配置.

下面首先來看轉換程式控制檔案---host.conf

檔案/etc/host.conf是用來控制本地轉換程式設定的檔案.該檔案夾告訴轉換程式使用哪些服務和按照什麼順序進行查詢.

看檔案:

#/etc/host.conf

order bind hosts :還有一個是nis

multi off 與host查詢一起用,用來确定一台主機是否在/etc/hosts檔案中.

nospoof on:若在反向解析找出與指定的位址比對的主機名,則對傳回的位址進行解析以确認它确實與你查詢的位址相比對.為了防止騙取IP位址,通過指定nospoof on來允許此功能

alert on:開啟則任何試圖騙取IP位址的行為都通過syslog工具進行記錄.

trim jamond.net:以域名為參數,在查找名字前先删除此域名,再從檔案/etc/hosts查找比對的主機名.

下面看轉換程式配置檔案--resolv.conf

當配置轉換程式使用BIND域名伺服器查詢主機時,必須告訴轉換程式使用哪一個域名伺服器.用來完成這項任務的工具就是/etc/resolv.conf檔案.

看配置檔案例子:

#/etc/resolv.conf

nameserver 192.168.1.1  列出域名伺服器的IP位址,最多可以出現三個

nameserver 192.168.1.2

domain dongguan.com  定義預設的域名

search haida.dongguan.com donggaun.com 指定域名搜尋表,最多六個域名參數

options nochecknames rotate 常用的選項有:rotate:打開用戶端輪詢查詢選項.當nameserver中定義多個域名伺服器時,進行輪詢查詢;nochecknames:禁止檢測被查詢的域名是否符合RFC952,當需要使用帶有下劃線"_"的域名時,需要該項.;inet6:可以使解析器查詢ipv6.

下面看主配置檔案夾/etc/named.conf

//

// named.conf for Red Hat caching-nameserver 

options { //定義伺服器區配置檔案的工作目錄

 directory "/var/named";

 dump-file "/var/named/data/cache_dump.db";

        statistics-file "/var/named/data/named_stats.txt";

 /*

  * If there is a firewall between you and nameservers you want

  * to talk to, you might need to uncomment the query-source

  * directive below.  Previous versions of BIND always asked

  * questions using port 53, but BIND 8.1 uses an unprivileged

  * port by default.

  */

  // query-source address * port 53;

};

// 

// a caching only nameserver config

// 定義rndc指令使用的控制通道

controls {

 inet 127.0.0.1 allow { localhost; } keys { rndckey; };

//定義根區聲明

zone "." IN {

 type hint;

 file "named.ca";

zone "localdomain" IN {

 type master;

 file "localdomain.zone";

 allow-update { none; };

//定義正向解析區

zone "localhost" IN {

 file "localhost.zone";

//定義反向解析區

zone "0.0.127.in-addr.arpa" IN {

 file "named.local";

zone "0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.ip6.arpa" IN {

        type master;

 file "named.ip6.local";

zone "255.in-addr.arpa" IN {

 file "named.broadcast";

zone "0.in-addr.arpa" IN {

 file "named.zero";

include "/etc/rndc.key";

DNS BIND區域類型

master 主DNS區域

slave 從DNS區域,由主DNS區域控制

stub 與從區域類似,但隻儲存DNS伺服器的名字

forward  将任何詢問請求轉發給其它伺服器

hint 根DNSINTERNET伺服器集

正向解析檔案/var/named/localhost.zone

$TTL 86400  //864000秒=1天

//設定SOA RR

@  IN SOA @       root (

     42  ; serial (d. adams)

     3H  ; refresh

     15M  ; retry

     1W  ; expiry

     1D )  ; minimum

//設定NS RR

         IN NS  @

//設定A RR

   IN A  127.0.0.1

  IN AAAA  ::1

逆向解析檔案/var/named/named.local

$TTL 86400

@   IN  SOA  localhost. root.localhost. (

                                                        1997022700;Serial

                                                         28800;Refresh

                                                         14400;Retry

                                                         3600000;Expire

                                                         86400);Minimum

                              IN        NS         localhost.

//設定PTR RR

1                     IN     PTR    localhost.

先來看區檔案:

1資源記錄

基本格式:[name] [ttl] IN type rdata

name是以下:"."是根域;

@:是預設域,可以在檔案中使用$ORIGIN domain 來說明預設域

标準域名:或是以"."結束的域名,或是一個相對域名

空:該記錄适用于最後一個帶有名字的域對象.

ttl:壽命字段.它以秒為機關定義該資源記錄中的資訊存放在高速緩存中的時間長度.通常該字段為空,表示采用SOA中的最小TTL值.

IN:将該記錄辨別為一個INTERNET DNS資源記錄

type:有A CNAME HINFO MX NS PTR SOA

rdata:指定與這個資源記錄有關的資料.

最後來看DNS伺服器的配置

由于本機是新安裝的,先來修改下主機名

先來修改network檔案.這裡主機名是完整域名.

然後是修改下HOSTS.不然開機時會經常有提示找不到主機名對應的網絡位址.

這裡是主域名的配置,指定正向解析區域聲明.類型為主域名伺服器.定義正向解析檔案.這裡是預設的解析檔案,可修改.反向解析區同樣.

這裡還設定了别名.

說明"@"符号用在SOA記錄中,代表區域的域名.任何沒有以點号結尾的主機名或域名會自動追加域名.如haida後面沒有點号,會自動追加為haida.dongguan.com

設定反向解析.

然後重新啟動.

啟動後來進行測試了.

重新啟動服務或

#rndc reload

#rndc status

用nslookup,反向解析成功.查詢域名haida.dongguan.com.

反向查詢域名xinxi.dongguan.com.

正向查詢域名haida.dongguan.com

正向查詢域名xinxi.dongguan.com

顯示目前設定的所有數值

檢視域dongguan.com域的NS資源記錄配置

檢視域dongguan.com域的别名資源記錄配置

檢視反向區的所有設定情況.

有關更詳細的内容請看WIN2003的配置.這裡相同的就不說明那麼清楚了.

     本文轉自yangming1052 51CTO部落格,原文連結:http://blog.51cto.com/ming228/107382,如需轉載請自行聯系原作者