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下也可以用。 在這裡插入圖片描述

在這裡插入圖片描述

易錯點

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

檔案路徑問題

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

反向解析記錄

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

記得更改DNS伺服器的地址

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