今天繼續給大家介紹Linux基礎知識,本文主要內容是DNS的實戰配置,
一、DNS安裝與組態檔
如果采用YUM的安裝方式,DNS設計到三個包,相關命令如下:
yum install -y bind bind-chroot bind-utils
bind是DNS的服務端軟體,其中bind的英文全稱是Berkeley Internet Name Domain,即伯克利因特網域名,bind-chroot是DNS的補充軟體,主要實作了牢籠機制,所謂牢籠機制就是創建一個目錄,作為DNS服務的根目錄,以防止當DNS服務被攻擊后波及系統安全,bind-utils是DNS的客戶端軟體,主要是包含了nslookup等命令,
對于DNS客戶端而言,組態檔在/etc/目錄下,并且以named開頭,如下所示:

在上述檔案中,/etc/named.conf是全域組態檔,/etc/named.rfc1912.conf是區域組態檔,我們在配置DNS服務端時最主要使用的就是這兩個組態檔,
二、DNS組態檔重要引數介紹
在DNS的全域組態檔/etc/named.conf中,options選項是全域配置引數,其中重要引數如下:
listen-on port:指定DNS要監聽的IP地址和埠號,在配置時必須將原始組態檔中的127.0.0.1改為any或者指定網段的地址,否則DNS無法正常對外提供服務,
allow-query:指定允許訪問的客戶端網址,在配置時如同listen-on port引數一樣,也是必須將127.0.0.1修改稱為any或者別的網段的地址,
recursion:表示是否允許DNS服務器采用遞回查詢的方式,此選項默認是yes,表示支持遞回查詢的方式,但是如果配置時同時啟用了加密功能,則遞回配置不生效,
dnssec-enable、dnssec-validation:表示是否啟用DNS加密,
bind-keyfile:表示DNS加密時使用的加密檔案,
zone是區域配置引數,重要引數如下:
type:指定區域的型別,對于該區域有重要作用,type欄位的值可以為以下5種:
①Master:表示為主DNS服務器,擁有區域資料檔案,并向從DNS服務器進行檔案備份,
②Slave:表示為從DNS服務器,從DNS服務器上本身沒有區域資料檔案,但是該服務器會從主DNS服務器上下載區域資料檔案,也能夠提供DNS服務,
③Stub:stub區域與Slave區域類似,兩者之間的區別在于Stub只復制DNS服務器上的NS記錄而不是復制所有區域資料,
④Forward:forward區域是轉發區域,類似于一個DNS的快取服務器,采用該配置的DNS區域會從外網其他DNS服務器復制資料并起到向導的作用,一個forward區域可以包含一個forward或者forwards陳述句,這些陳述句指定了查詢的域,
⑤Hint:根域名服務器的初始化組指定使用的線索區域,當服務器啟動時,還會使用跟線索查找根域名服務器,并找到最近的根服務器串列,
file:配置DNS服務器生成的各項記錄資料檔案名稱
allow-update:當配置DNS主從架構時使用,在主服務器上配置允許進行同步的從服務器,
三、DNS組態檔示例
接下來,我們就來配置一個簡單的DNS服務,實作本地的DNS服務器搭建,要實作DNS服務器的運行,首先要實作的就是主組態檔的撰寫,具體內容如下(注釋內容略):
options {
listen-on port 53 { any; };
listen-on-v6 port 53 { ::1; };
directory "/var/named";
dump-file "/var/named/data/cache_dump.db";
statistics-file "/var/named/data/named_stats.txt";
memstatistics-file "/var/named/data/named_mem_stats.txt";
recursing-file "/var/named/data/named.recursing";
secroots-file "/var/named/data/named.secroots";
allow-query { any; };
recursion yes;
dnssec-enable yes;
dnssec-validation yes;
bindkeys-file "/etc/named.root.key";
managed-keys-directory "/var/named/dynamic";
pid-file "/run/named/named.pid";
session-keyfile "/run/named/session.key";
};
logging {
channel default_debug {
file "data/named.run";
severity dynamic;
};
};
zone "." IN {
type hint;
file "named.ca";
};
zone "pzz.com." IN {
type master;
file "pzz.com.zone";
};
zone "136.168.192.inaddr.arpa" IN {
type master;
file "192.168.136.arpa";
};
include "/etc/named.rfc1912.zones";
include "/etc/named.root.key";
之后,我們需要寫正向決議檔案和反向決議檔案,關于這兩個檔案,檔案名應該與主組態檔中的pzz.com.zone和192.168.136.arpa保持一致,并且在/var/named目錄下,正向決議檔案可以直接復制/var/named/named.localhost,反向決議檔案可以直接復制/var/named/named.loopback,我們在復制時,可以使用cp -a命令,連帶著檔案屬性一起復制,關于這兩個檔案,不管采用何種方式創建、授權,都必須要保證named用戶有讀的權限,否則DNS服務就會啟動失敗,
在本實驗中,pzz.com.zone檔案內容如下:
$TTL 1D
@ IN SOA ns.pzz.com. root.pzz.com. (
0 ; serial
1D ; refresh
1H ; retry
1W ; expire
3H ) ; minimum
NS ns.pzz.com.
ns.pzz.com. IN A 192.168.136.101
www.zzp.pzz.com. IN A 192.168.136.101
news.pzz.com. IN A 192.168.136.101
www.pzz.com. IN A 192.168.136.101
www.zzp.com. IN A 192.168.136.101
wwww.pzz.com. IN A 192.168.136.101
bbs.pzz.com. IN A 192.168.136.101
www1.pzz.com. CNAME www.pzz.com
abc IN A 192.168.136.101
在該組態檔第一行,TTL為外DNS服務器在本DNS服務器的查詢結果的快取時間,單位為秒,組態檔上半部分,為SOA記錄,serial為修改次序,如果做DNS主從架構,則每次修改該號碼加1,這樣DNS從服務器就可以通過號碼得知記錄的新舊,從而決定自身是否要同步資訊,refresh為DNS主從同步時的同步時間,retry表示DNS從服務器更新失敗后的重試時間,expire為資料過期時間,即當超過該時間后,從DNS服務器會放棄與主DNS服務器的重試鏈接,minimum為最小的TTL值,前面的單位D表示天,H表示小時,W表示周,后面的大都是NS記錄和A記錄需要注意的是每個域名的后面必須以“.”結束,
192.168.136.arpa檔案內容如下:
$TTL 1D
@ IN SOA pzz.com. root.pzz.com. (
0 ; serial
1D ; refresh
1H ; retry
1W ; expire
3H ) ; minimum
NS ns.pzz.com.
ns A 192.168.136.101
101 PTR www.pzz.com.
101 PTR bbs.pzz.com.
101 PTR qqq.pzz.com.
A 127.0.0.1
AAAA ::1
PTR localhost.
該組態檔的前半部分和正向組態檔類似,后版部分為PTR記錄,組態檔中的101為簡寫,實際上指的是組態檔中A記錄的網段,即192.168.136.101,我們也可以直接寫這個IP地址,
四、DNS服務運行與驗證
上述組態檔寫好后,我們啟動DNS服務,相關命令如下所示:
systemctl start named
完成后發現系統監聽53埠,如下所示:

接下來,我們選擇一臺主機(也可以是本機器),將其DNS服務器修改為192.168.136.101,修改方式有兩種,一種是通過修改網卡組態檔,然后重啟網卡,另一種是直接修改/etc/resolv.conf組態檔,將設備的DNS服務器指向本設備,之后,我們可以直接PING測驗www.pzz.com等我們前面配置的域名,觀察其決議后的IP地址,結果如下所示:

另外,我們也可以使用nslooup工具查詢DNS的反向記錄,查詢結果如下:

由上述驗證結果可知,我們的DNS服務器配置成功并且能夠正常運行了,
原創不易,轉載請說明出處:https://blog.csdn.net/weixin_40228200
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/356729.html
標籤:其他
