Linux DNS服务详解——DNS实战配置
今天繼續(xù)給大家介紹Linux基礎(chǔ)知識(shí),本文主要內(nèi)容是DNS的實(shí)戰(zhàn)配置。
一、DNS安裝與配置文件
如果采用YUM的安裝方式,DNS設(shè)計(jì)到三個(gè)包,相關(guān)命令如下:
yum install -y bind bind-chroot bind-utilsbind是DNS的服務(wù)端軟件,其中bind的英文全稱(chēng)是Berkeley Internet Name Domain,即伯克利因特網(wǎng)域名,bind-chroot是DNS的補(bǔ)充軟件,主要實(shí)現(xiàn)了牢籠機(jī)制,所謂牢籠機(jī)制就是創(chuàng)建一個(gè)目錄,作為DNS服務(wù)的根目錄,以防止當(dāng)DNS服務(wù)被攻擊后波及系統(tǒng)安全,bind-utils是DNS的客戶(hù)端軟件,主要是包含了nslookup等命令。
對(duì)于DNS客戶(hù)端而言,配置文件在/etc/目錄下,并且以named開(kāi)頭,如下所示:
在上述文件中,/etc/named.conf是全局配置文件,/etc/named.rfc1912.conf是區(qū)域配置文件,我們?cè)谂渲肈NS服務(wù)端時(shí)最主要使用的就是這兩個(gè)配置文件。
二、DNS配置文件重要參數(shù)介紹
在DNS的全局配置文件/etc/named.conf中,options選項(xiàng)是全局配置參數(shù),其中重要參數(shù)如下:
listen-on port:指定DNS要監(jiān)聽(tīng)的IP地址和端口號(hào),在配置時(shí)必須將原始配置文件中的127.0.0.1改為any或者指定網(wǎng)段的地址,否則DNS無(wú)法正常對(duì)外提供服務(wù)。
allow-query:指定允許訪(fǎng)問(wèn)的客戶(hù)端網(wǎng)址,在配置時(shí)如同listen-on port參數(shù)一樣,也是必須將127.0.0.1修改稱(chēng)為any或者別的網(wǎng)段的地址。
recursion:表示是否允許DNS服務(wù)器采用遞歸查詢(xún)的方式,此選項(xiàng)默認(rèn)是yes,表示支持遞歸查詢(xún)的方式,但是如果配置時(shí)同時(shí)啟用了加密功能,則遞歸配置不生效。
dnssec-enable、dnssec-validation:表示是否啟用DNS加密。
bind-keyfile:表示DNS加密時(shí)使用的加密文件。
zone是區(qū)域配置參數(shù),重要參數(shù)如下:
type:指定區(qū)域的類(lèi)型,對(duì)于該區(qū)域有重要作用。type字段的值可以為以下5種:
①M(fèi)aster:表示為主DNS服務(wù)器,擁有區(qū)域數(shù)據(jù)文件,并向從DNS服務(wù)器進(jìn)行文件備份。
②Slave:表示為從DNS服務(wù)器,從DNS服務(wù)器上本身沒(méi)有區(qū)域數(shù)據(jù)文件,但是該服務(wù)器會(huì)從主DNS服務(wù)器上下載區(qū)域數(shù)據(jù)文件,也能夠提供DNS服務(wù)。
③Stub:stub區(qū)域與Slave區(qū)域類(lèi)似,兩者之間的區(qū)別在于Stub只復(fù)制DNS服務(wù)器上的NS記錄而不是復(fù)制所有區(qū)域數(shù)據(jù)。
④Forward:forward區(qū)域是轉(zhuǎn)發(fā)區(qū)域,類(lèi)似于一個(gè)DNS的緩存服務(wù)器,采用該配置的DNS區(qū)域會(huì)從外網(wǎng)其他DNS服務(wù)器復(fù)制數(shù)據(jù)并起到向?qū)У淖饔谩R粋€(gè)forward區(qū)域可以包含一個(gè)forward或者forwards語(yǔ)句,這些語(yǔ)句指定了查詢(xún)的域。
⑤Hint:根域名服務(wù)器的初始化組指定使用的線(xiàn)索區(qū)域,當(dāng)服務(wù)器啟動(dòng)時(shí),還會(huì)使用跟線(xiàn)索查找根域名服務(wù)器,并找到最近的根服務(wù)器列表。
file:配置DNS服務(wù)器生成的各項(xiàng)記錄數(shù)據(jù)文件名稱(chēng)
allow-update:當(dāng)配置DNS主從架構(gòu)時(shí)使用,在主服務(wù)器上配置允許進(jìn)行同步的從服務(wù)器。
三、DNS配置文件示例
接下來(lái),我們就來(lái)配置一個(gè)簡(jiǎn)單的DNS服務(wù),實(shí)現(xiàn)本地的DNS服務(wù)器搭建。要實(shí)現(xiàn)DNS服務(wù)器的運(yùn)行,首先要實(shí)現(xiàn)的就是主配置文件的編寫(xiě),具體內(nèi)容如下(注釋內(nèi)容略):
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";之后,我們需要寫(xiě)正向解析文件和反向解析文件,關(guān)于這兩個(gè)文件,文件名應(yīng)該與主配置文件中的pzz.com.zone和192.168.136.arpa保持一致,并且在/var/named目錄下。正向解析文件可以直接復(fù)制/var/named/named.localhost,反向解析文件可以直接復(fù)制/var/named/named.loopback。我們?cè)趶?fù)制時(shí),可以使用cp -a命令,連帶著文件屬性一起復(fù)制,關(guān)于這兩個(gè)文件,不管采用何種方式創(chuàng)建、授權(quán),都必須要保證named用戶(hù)有讀的權(quán)限,否則DNS服務(wù)就會(huì)啟動(dòng)失敗。
在本實(shí)驗(yàn)中,pzz.com.zone文件內(nèi)容如下:
在該配置文件第一行,TTL為外DNS服務(wù)器在本DNS服務(wù)器的查詢(xún)結(jié)果的緩存時(shí)間,單位為秒。配置文件上半部分,為SOA記錄,serial為修改次序,如果做DNS主從架構(gòu),則每次修改該號(hào)碼加1,這樣DNS從服務(wù)器就可以通過(guò)號(hào)碼得知記錄的新舊,從而決定自身是否要同步信息。refresh為DNS主從同步時(shí)的同步時(shí)間,retry表示DNS從服務(wù)器更新失敗后的重試時(shí)間,expire為數(shù)據(jù)過(guò)期時(shí)間,即當(dāng)超過(guò)該時(shí)間后,從DNS服務(wù)器會(huì)放棄與主DNS服務(wù)器的重試鏈接。minimum為最小的TTL值。前面的單位D表示天,H表示小時(shí),W表示周。后面的大都是NS記錄和A記錄需要注意的是每個(gè)域名的后面必須以“.”結(jié)束。
192.168.136.arpa文件內(nèi)容如下:
該配置文件的前半部分和正向配置文件類(lèi)似,后版部分為PTR記錄,配置文件中的101為簡(jiǎn)寫(xiě),實(shí)際上指的是配置文件中A記錄的網(wǎng)段,即192.168.136.101,我們也可以直接寫(xiě)這個(gè)IP地址。
四、DNS服務(wù)運(yùn)行與驗(yàn)證
上述配置文件寫(xiě)好后,我們啟動(dòng)DNS服務(wù),相關(guān)命令如下所示:
systemctl start named完成后發(fā)現(xiàn)系統(tǒng)監(jiān)聽(tīng)53端口,如下所示:
接下來(lái),我們選擇一臺(tái)主機(jī)(也可以是本機(jī)器),將其DNS服務(wù)器修改為192.168.136.101。修改方式有兩種,一種是通過(guò)修改網(wǎng)卡配置文件,然后重啟網(wǎng)卡,另一種是直接修改/etc/resolv.conf配置文件,將設(shè)備的DNS服務(wù)器指向本設(shè)備。之后,我們可以直接PING測(cè)試www.pzz.com等我們前面配置的域名,觀(guān)察其解析后的IP地址,結(jié)果如下所示:
另外,我們也可以使用nslooup工具查詢(xún)DNS的反向記錄,查詢(xún)結(jié)果如下:
由上述驗(yàn)證結(jié)果可知,我們的DNS服務(wù)器配置成功并且能夠正常運(yùn)行了。
原創(chuàng)不易,轉(zhuǎn)載請(qǐng)說(shuō)明出處:https://blog.csdn.net/weixin_40228200
總結(jié)
以上是生活随笔為你收集整理的Linux DNS服务详解——DNS实战配置的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: c语言自动贩卖机设计报告,自动贩卖机电子
- 下一篇: linux下修改DNS服务