天天看點

DNS基礎之緩存伺服器、主從伺服器

          # rpm -ql bind-utils

                  /usr/bin/dig             #dig測試指令工具

                /usr/bin/host            #host測試指令工具

               /usr/bin/nslookup        #nslookup測試指令工具

bind:

主配置檔案:named.conf,每個語句都要使用分号結尾;否則就是文法錯誤

程式檔案:/usr/sbin/named

 dig指令: dig -t 資源記錄類型  名稱 @server-ip

option:

[ -t type] 指定類型

[-x addr]  指定IP

資源記錄類型名稱:

      NS :對應DNS伺服器的FQDN

      A :代表"主機名稱"與"IP"位址的對應關系, 作用是把名稱轉換成IP位址

      PTR:代表"IP位址"與"主機名"的對應關系,作用剛好與A記錄相反

    [@server-ip]:

                不寫IP,預設是本地伺服器的IP

                用@server-ip,指定伺服器的IP

 # dig -x IP @server-ip查找反向解析

 dig +trace   跟蹤解析

     例如:  #dig -t NS badu.com @192.54.112.30 +trace

   #dig -t axfr zone  驗證完全區域傳送

例如:  #host -t A www.51cto.com 172.16.0.1

nslookup   FQDN   [server-ip]

 named-checkzone "zone_name" /path/to/zone_file檢測區域檔案文法錯誤

chroot /mnt/sysroot

  限定在/mnt/sysroot/目錄下,防止被劫持而造成嚴重後果,一般生産環境中應用。

bind-chroot: named, /var/named/chroot/

  一個FQDN可對應同多個IP:負載均衡

  多個FQDN可對應一個IP:一台主機可以有多個名稱

named -chechconf檢測主配置檔案文法錯誤

 named-checkzone "magedu.com" /var/named/magedu.com.zone檢測區域檔案文法錯誤

 修改完如果service named restart會使服務終止,是以service named reload 重新加載檔案

   #dig -t A www.magedu.com @172.16.100.1   檢視A記錄

   #dig -t NS magedu.com @172.16.100.1      不能加www,因為NS後面是區域名稱

   #host -t A www.magedu.com @172.16.100.1 檢視A記錄

   #dig -t CNAME ftp.magedu.com @172.16.100.1 檢視别名

   #dig -t axfr magedu.com @172.16.100.1      完全區域傳送   顯示所有資訊

編輯vim /etc/resolv.conf  

  修改直接指向本機ip位址, 這樣就不用每次都指向本機了

1、緩存伺服器;

如果沒有安裝bind包,就自己配置yum源,然後安裝bind包,例如:

#vim /etc/yum.repos.d/ yum.repo

【base】

name=RHEL6.4 x86_64

baseurl=http://172.16.0.1/cobbler/ks_mirror/centos-6.4-x86_64/

gpgcheck=0

安裝bind

#yum -y install bind

主配置檔案/etc/named.conf的修改:注釋掉options段中如下選項,也可以修改

  //listen-on port 53 { 127.0.0.1; };被注釋掉

  //listen-on-v6 port 53 { ::1; };被注釋掉

  //allow-query     { localhost; };定義允許誰查詢

     forwarders { 127.16.0.1; };定義轉發的伺服器的ip,一般為營運商的ip位址

   啟動named服務:緩存DNS伺服器; service named start

第一次需要開啟服務,之後隻需要加載配置檔案即可

     # service named reload (rndc reload)

   # rndc status 顯示DNS伺服器的工作屬性

2、主伺服器

     //listen-on port 53 { 127.0.0.1; };

    //listen-on-v6 port 53 { ::1; };

    //allow-query     { localhost; };

  啟動named服務: service named start

正向的主DNS伺服器

在區域配置檔案/etc/named.rfc1912.zones建立一個區域:

zone "區域名稱" IN {

type master|slave|forward;

file "ZONE_NAME.zone";

};

       例如 zone "magedu.com" IN {

                  type master;

             file "magedu.com.zone";        /var/named為預設存放路徑

                  allow-transfer { allowxfer }  允許定義在allowxfer 的主機做區域傳送

           };                                      指定從伺服器的ip位址

 檢測主配置檔案文法錯誤:named-checkconf

在/var/named下建立“ZONE_NAME.zone”檔案,通常隻包含宏定義和資源記錄,而第一個記錄必須是SOA記錄;例如:

$TTL 600

$ORIGIN magedu.com.

@      IN   SOA     dns.magedu.com.    admin.magedu.com. (

                    2013081201

                    2H

                    10M

                    7D

                    6H )

      IN   NS       dns.magedu.com.(或dns不加點)

      IN   MX   10  mail                           10表示優先級

dns    IN   A       172.16.100.1

mail   IN   A       172.16.100.2

www  IN   A        172.16.100.6

ftp    IN   CNAME    www                别名

    確定屬組為named ,權限為640

    named-checkzone "magedu.com" magedu.com.zone  檢查區域解析庫檔案

反向的主DNS伺服器

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

                  file "172.16.100.zone";        /var/named預設存放路徑

        };

檢查主配置檔案  #named-checkconf

 #cp -p magedu.com.zone 172.16.100.zone檢視屬性資訊

編輯檔案/var/named/172.16.100.zone

$TTL 600;

$ORIGIN 100.16.172.in-addr.arpa.

     IN   NS       dns.magedu.com.

1     IN  PTR   dns.magedu.com.不能寫dns 因為會自動補成  dns.100.16.172.in-addr.arpa.                      

2    IN   PTR       mail.magedu.com.

6    IN   PTR       www.magedu.com.

8    IN  PTR        www.magedu.com.

8     IN  PTR       pop.magedu.com.    

 #named-checkzone "100.16.172.in-addr.arpa." /var/named/172.16.100.zone 檢查區域解析庫檔案

測試  #host -t PTR 172.16.100.1    解析172.16.100.1得主機名

3、輔助伺服器

如何建立從伺服器?(slave)

如果有多台DNS伺服器,必須為每個DNS伺服器建立NS記錄,否則主DNS将不向發送通知;

區域定義:

type slave;

file "slaves/ZONE_NAME.zone";     /var/named/slaves下儲存從伺服器檔案

masters {

        MASTER_DNS_IP;

        MASTER_DNS2_IP;

正向的從伺服器

 #vim /etc/named.conf:注釋掉options段中如下選項,也可以修改

   //listen-on port 53 { 127.0.0.1; };

   //listen-on-v6 port 53 { ::1; };

   //allow-query     { localhost; };

例如:在/etc/named.rfc1912.zones裡

zone "magedu.com" IN {

                  type slave;             指定類型為從伺服器

                  file "slaves/magedu.com.zone"; 指定檔案路徑

                  allow-transfer { none } 一般從伺服器不允許任何人做區域傳送

                  masters { 172.16.100.1; };      指定主伺服器ip

 #named-checkconf檢測主配置檔案是否有錯誤

在主伺服器上加一個記錄  vim magedu.com.zone

        IN   NS    ns2

ns2     IN    A      172.16.100.17

 #named-checkzone "magedu.com" magedu.com.zone

 #rndc reload

檢測一下  #dig -t NS magedu.com

 #service named start啟動服務

可以看到 /var/named/下  有magedu.com

反向的從伺服器

vim /etc/named.rfc1912.zones

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

                  type slave;

                  file "slaves/172.16.100.zone";

                  masters { 172.16.100.1; };

};

在主伺服器上添加上:

       IN   NS    ns2.magedu.com

17      IN   PTR   ns2.magedu.com

 #named-checkzone “100.16.172.in-addr.arpa.” /var/named/172.16.100.zone

序列号加一表示修改過的

主和從伺服器都要重新加載、同步  #service named start ;(rndc reload)

驗證在windows上面的

打開輸入指令nslookup 進入交換式模式

 #server 172.16.100.17  伺服器變成了172.16.100.17 啟動服務

    檢視A記錄   set q=A

                www.magedu.com

   檢視NS    set q=NS

              magedu.com

    MX記錄     set q=MX  

本文轉自 宋鵬超 51CTO部落格,原文連結:http://blog.51cto.com/qidian510/1274631,如需轉載請自行聯系原作者

上一篇: 軟Raid
下一篇: HTTP入門知識