1. 程式人生 > >Linux,DNS伺服器配置

Linux,DNS伺服器配置

文章目錄

寫在前面

環境用的redhat5.8,與dns主要相關的軟體bind和bind-chroot。bind-chroot會改變bind的配置目錄提高dns伺服器的安全性。基礎配置主要包括named.conf的配置,配置正向解析記錄和反向解析記錄。解析記錄一般包括A記錄,www,dns,ftp,mail等。

安裝bind,bind-chroot

  1. 查詢是否系統是否已經安裝對應軟體。

    rpm -q bind
    rpm -q bind-chroot
    

    我這樣的就是沒安裝,bind-libs,和bind-utils是系統自帶的。
    在這裡插入圖片描述

  2. 安裝

    yum install bind
    yum install bind-chroot
    

    安裝完成後,查詢已安裝的軟體包所包含的所有檔案

    rpm -ql bind
    rpm -ql bind-chroot
    

    或者用下面的方式。
    在這裡插入圖片描述

DNS基本配置

設定域名為dnstest.com ,網路地址為192.168.64.0/24,新增dns,www,ftp主機名,新增別名記錄,這些主機對應的IP地址為自己機器的IP地址,反向區域檔案新增相應PTR記錄。
dns伺服器地址為本機ip地址:192.168.64.130

找對地,起對名,寫對內容

  1. 編寫主配置檔案,直接複製下面內容,更改對應內容即可。
    注意一點要切記此檔案的路徑並不是"/var/named",而是如下所示:
    因為bind-chroot的原因,所有的和bind有關的配置檔案都在chroot/路徑的類根目錄。這裡面只有和bind有關的配置,更安全一點。

    [[email protected] etc]# pwd
    /var/named/chroot/etc
    
    options{
    directory "/var/named"; 
    };
    zone "dnstest.com." IN {
        type master; 
        file "dnstest.zone";
    };
    zone "64.168.192.in-addr.arpa" IN {
        type master;
        file "reverse.zone";
    };
    

    具體解釋如下:

    • options{
      directory “/var/named”;
      };
      具體資訊含義:
      options定義伺服器的全域性配置選項,在一個named.conf檔案中只能有一個
      directory “/var/named”;區域檔案的存放位置,而這裡的/var/named預設是/var/named/chroot/var/named目錄下

    • zone “dnstest.com.” IN {
      type master;
      file “dnstest.zone”;
      };

      zone語句用於定義區域,其中必須說明域名、DNS伺服器的型別和區域文 件名等資訊。這是正向記錄。

    • zone “64.168.192.in-addr.arpa” IN {
      type master;
      file “reverse.zone”;
      };
      這是反向記錄,切記,“64.168.192.in-addr.arpa” 前面的ip一點要反著寫,原來是192.168.64. 一定要寫成64.168.192. 。
      注意com後面有點 的地方,一定不能少。

  2. 編寫正向解析資料檔案
    檔案目錄:/var/named/chroot/var/named/dnstest.zone

    $TTL    86400  
    @    IN SOA  dns.dnstest.com.   root.dnstest.com. (
                                           2015111701
                                            3H              
                                            15M           
                                            1W              
                                            1D )            
            IN NS           dns.dnstest.com.
    dns     IN A            192.168.64.130
    www     IN A            192.168.64.2
    ftp     IN A            192.168.64.131
    

    具體解釋如下:

    • @:指定域名
      dns.dnstest.com. 主機名,以.結尾,表示完整的主機名
      root.dnstest.com. 管理員的電子郵件地址
      IN:表示資源記錄使用TCP/IP地址
      在這裡插入圖片描述

    • ()部分指定SOA記錄各種選項的值,主要用於和輔助域名伺服器同步資料時使用。關於幾個時間的解釋,(從上到下一一對照):

      Serial﹕序列號,每次更新該檔案後,要將序列號增大,主要用master/slave模式的自動更新。其格式通常會是“年月日+修改次序”(但也不一定如此﹐您自己能夠記得就行)。當 slave(輔助域名伺服器) 要進行資料同步的時候﹐會比較這個號碼。如果發現在這裡的號碼比它那邊的數值“大”﹐就進行更新﹐否則忽略。不過設 serial 有一個地方您要留意:不能超過 10 位數字﹗

      Refresh﹕這裡是是告訴 slave 要隔多久要進行資料同步(是否同步要看 Serial 的比較結果)。

      Retry﹕如果 slave 在進行更新失敗後﹐要隔多久再進行重試。

      Expire﹕這是記錄逾期時間:當 slave 一直未能成功與 master 取得聯絡﹐那到這裡就放棄 retry﹐同時這裡的資料也將標識為過期( expired )。

      Minimum﹕指定資源記錄資訊存放在快取中的時間,這是最小預設 TTL 值﹐如果您在前面沒有用“$TTL”來定義﹐就會以此值為準。

    • NS記錄:名稱伺服器,指明區域中DNS伺服器的主機名,也是區域檔案中不可缺少的資源記錄。
      在這裡插入圖片描述

  3. 編寫反向解析資料檔案
    檔案目錄:/var/named/chroot/var/named/reverse.zone

    $TTL    86400
    @   IN   SOA  dns.dnstest.com.  root.dnstest.com. (
                                          2015111701
                                          3H              
                                          15M           
                                          1W              
                                          1D ) 
           IN      NS      dns.dnstest.com.
    130    IN      PTR     dns.dnstest.com.
    2		 IN      PTR     www.dnstest.com.
    131     IN      PTR     ftp.dnstest.com.
    

啟動DNS伺服器

service named start
service named restart

在這裡插入圖片描述

更改本機DNS伺服器地址

/etc/resolv.conf,該檔案是DNS客戶端配置檔案,修改 nameserver 的地址為你剛配置dns伺服器的地址即可。
在這裡插入圖片描述

測試DNS伺服器

測試DNS的命令有,nslookup,host,dig,一般最常用的nslookup,windows下也可以用。
在這裡插入圖片描述

在這裡插入圖片描述

資源記錄

  1. 別名記錄CNAME
    如下為www.dnstest.com新增CNAME記錄之後,www.dnstest.com就可以用abc.dnstest.com訪問。
    abc     IN CNAME        www.dnstest.com.
    
  2. 郵件解析記錄
    host -t dnstest.com 用該命令測試郵件交換記錄。
    mail                IN A            [ip add(郵件伺服器地址)]
    dnstest.com.  IN MX 10  mail.dnstest.com.
    

DNS其他配置

  1. 泛域名解析記錄
    所有的解析記錄中沒有的全都指向下面這個IP地址。
    *.dnstest.com.     IN A            IP地址
    
  2. 實現直接解析域名
    直接訪問dnstest.com解析的IP地址。
    dnstest.com.     IN A            【IP地址】
    
  3. 實現負載均衡功能
    三臺FTP伺服器內容相同,DNS伺服器將為客戶的每個ftp.dnstest.com 查詢按順序返回不同的解析結果,將客戶訪問引導到不同計算機上,使客戶訪問不同的伺服器。如下:
    ftp     IN A            192.168.64.50
    ftp     IN A            192.168.64.51
    ftp     IN A            192.168.64.52
    

DNS輔助域名伺服器的配置

輔助域名伺服器只需要修改named.conf檔案即可,不需要建立區域檔案,因為區域檔案將從主域名伺服器上自動複製到輔助域名伺服器的slave目錄下。
named.conf

options{
directory "/var/named";
};
zone "zhoudi.com." IN {
        type slave;
        file "slaves/正向解析(自定義).zone";
        masters {主dns的ip;};
};
zone "132.17.172.in-addr.arpa" IN {
        type slave;
        file "slaves/反向解析(自定義).zone";
        masters {主dns的ip;};
};


易錯點

我在學習的過程中遇到以下錯誤,如果不幸你也遇到,可以參考參考。

檔案路徑問題

如下圖,保錯找不到dnstest.zone,最後發現是路徑問題,可以仔細參考上面教程,就能解決。
在這裡插入圖片描述

反向解析記錄

如果你路徑正確,但是就是nslookup解析不出來,可以看這裡。
在named.conf中,這裡的ip要反著寫。
在這裡插入圖片描述

記得更改DNS伺服器的地址

配置檔案是這個哦:/etc/resolv.conf