Linux,DNS伺服器基礎配置
寫在前面
環境用的redhat5.8,與dns主要相關的軟體bind和bind-chroot。bind-chroot會改變bind的配置目錄提高dns伺服器的安全性。基礎配置主要包括named.conf的配置,配置正向解析記錄和反向解析記錄。解析記錄一般包括A記錄,www,dns,ftp,mail等。
安裝bind,bind-chroot
-
查詢是否系統是否已經安裝對應軟體。
rpm -q bind rpm -q bind-chroot
我這樣的就是沒安裝,bind-libs,和bind-utils是系統自帶的。
-
安裝
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
找對地,起對名,寫對內容
-
編寫主配置檔案,直接複製下面內容,更改對應內容即可。 注意一點要切記此檔案的路徑並不是"/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後面有點 的地方,一定不能少。
-
-
編寫正向解析資料檔案 檔案目錄:/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伺服器的主機名,也是區域檔案中不可缺少的資源記錄。
-
-
編寫反向解析資料檔案 檔案目錄:/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