- DNS簡(jiǎn)介
- DNS解析關(guān)鍵概念
- BIND
一、DNS簡(jiǎn)介:
(一)DNS服務(wù)
- DNS:Domain Name Service,域名解析服務(wù),服務(wù)于應(yīng)用層的協(xié)議
- 端口:TCP的53端口和UDP的53端口
- 主流軟件實(shí)現(xiàn):BIND(Berkeley Internet Name Domain)
- 域名解析方式:
- 本地解析:hosts文件,每一行格式
IP地址 域名 - 網(wǎng)絡(luò)分層解析:DNS服務(wù)
- 域名解析時(shí)先查詢本機(jī)hosts文件,匹配則直接使用文件中的域名;若無匹配項(xiàng),再使用DNS服務(wù)
- 本地解析:hosts文件,每一行格式
(二)DNS域名
- 分層設(shè)計(jì),自上而下分為:根域、一級(jí)域名、二級(jí)域名、三級(jí)域名......,最多127級(jí)
- 一級(jí)域名:
- 組織域名:com, edu, mil, gov, net, org
- 國(guó)家地區(qū)域名:cn, uk, hk
- 反向域名:arpa
(三)DNS解析
-
按查詢類型分為:遞歸解析和迭代解析
- 遞歸解析:客戶端向所在網(wǎng)絡(luò)DNS服務(wù)器發(fā)起請(qǐng)求,DNS服務(wù)器發(fā)回解析結(jié)果的過程
- 迭代解析:當(dāng)某個(gè)DNS服務(wù)器無法解析客戶端的請(qǐng)求時(shí),從根域名服務(wù)器開始,向每層DNS服務(wù)器發(fā)出請(qǐng)求,并接收每層DNS服務(wù)器的查詢結(jié)果,直至找到權(quán)威DNS服務(wù)器(存儲(chǔ)主機(jī)準(zhǔn)確IP地址的服務(wù)器)的過程
一次完整的查詢請(qǐng)求經(jīng)過的流程:
Client -->hosts文件-->DNS Service Local Cache(本地DNS緩存,Windows有,Linux沒有)--> DNS Server (recursion, 遞歸) --> Server Cache --> iteration(迭代) --> 根--> 頂級(jí)域名DNS-->二級(jí)域名DNS…-
按解析方向解析:
- FQDN(Fully Qualified Domain Name):完全合格域名,主機(jī)+全域名路徑,邏輯上能夠準(zhǔn)確表達(dá)主機(jī)的位置
- 正向解析:FQDN解析為IP
- 反向解析:IP解析為FQDN
- 正向解析和反向解析是兩個(gè)不同的名稱空間,兩個(gè)不同的解析樹
(四)DNS服務(wù)器類型
主服務(wù)器:管理和維護(hù)所在域的解析服務(wù)
-
從服務(wù)器:主服務(wù)器解析庫的鏡像,復(fù)制和更新的過程稱為區(qū)域傳輸,涉及的概念有:
- 序列號(hào)(serial):解析庫版本號(hào),主服務(wù)器解析庫變化時(shí),其序列遞增,從服務(wù)器從序列號(hào)判斷主服務(wù)器的解析庫是否發(fā)生變化,最長(zhǎng)10位數(shù)字
- 刷新時(shí)間間隔(refresh):從服務(wù)器從主服務(wù)器請(qǐng)求同步解析的時(shí)間間隔
- 重試時(shí)間間隔(retry):從服務(wù)器請(qǐng)求同步失敗時(shí),再次嘗試時(shí)間間隔
- 過期時(shí)長(zhǎng)(expire):從服務(wù)器聯(lián)系不到主服務(wù)器時(shí),多久后停止服務(wù)
緩存服務(wù)器:轉(zhuǎn)發(fā)器
-
主從服務(wù)器解析庫更新機(jī)制:Push和Pull
- Push:推送,主服務(wù)器解析庫發(fā)生變化時(shí),主動(dòng)通知從服務(wù)器更新
- Pull:拉取,從服務(wù)器按照設(shè)置每隔一定時(shí)間主動(dòng)同步主服務(wù)器的解析庫
二、DNS解析關(guān)鍵概念:
(一)資源記錄(RR, Resource Record)
每個(gè)DNS服務(wù)器的解析庫由各類RR組成
-
資源記錄的類型:
- SOA:Start Of Authority,起始授權(quán)記錄;一個(gè)區(qū)域解析庫有且僅能有一個(gè)SOA記錄,必須位于解析庫的第一條記錄
- A:Internet Address,F(xiàn)QDN --> IP
- AAAA:FQDN --> IPv6
- PTR:PoinTeR,IP --> FQDN
- NS:Name Server,專用于標(biāo)明當(dāng)前區(qū)域的DNS服務(wù)器
- CNAME:別名記錄
- MX:Mail eXchanger,郵件交換器
-
資源記錄定義的格式:
- 語法:name [TTL] IN rr_type value
- 注意:
(1) TTL(緩存的生命期)可從全局繼承,如:$TTL 1d
(2) @可用于引用當(dāng)前域的名字
(3) 同一個(gè)名字可以通過多條記錄定義多個(gè)不同的IP,此時(shí)DNS服務(wù)器會(huì)以輪詢方式響應(yīng),這種方式實(shí)現(xiàn)了簡(jiǎn)單的平衡負(fù)載
(4) 同一個(gè)值也可能有多個(gè)不同的定義名字;通過多個(gè)不同的名字指向同一個(gè)值進(jìn)行定義,此僅表示通過多個(gè)不同的名字可以找到同一個(gè)主機(jī)
(5) 相鄰資源記錄的name相同時(shí),后續(xù)的name可以省略
(二)SOA記錄
name:當(dāng)前域名,可用"@"代替
value:包含多部分內(nèi)容
(1) 當(dāng)前區(qū)域的主DNS服務(wù)器的FQDN(無命名要求,只要和相應(yīng)的A記錄匹配即可)
(2) 當(dāng)前區(qū)域管理員的郵箱地址;但地址中不能使用"@"符號(hào),一般用"."替換,例如linuxedu.hellopeiyang.com.
(3) 主從服務(wù)器區(qū)域傳輸相關(guān)定義,否定結(jié)果緩存統(tǒng)一的TTL
(三)NS記錄
- name:當(dāng)前域名,可用"@"代替,常省略
- value:當(dāng)前域DNS服務(wù)器的主機(jī)名
- 一個(gè)域可以有多條NS記錄,每條記錄都應(yīng)該匹配一條A記錄
(四)MX記錄
- name:當(dāng)前域名,可用"@"代替,常省略
- value:當(dāng)前域的郵件服務(wù)器的主機(jī)名,格式:
## mail_server_addr
##表示數(shù)字(1-99),數(shù)字越小優(yōu)先級(jí)越高 - 一個(gè)域可以有多條MX記錄,每條記錄都應(yīng)該匹配一條A記錄
(五)A記錄和AAAA記錄
- name:主機(jī)的FQDN
- value:主機(jī)的IP地址
- 特殊寫法:
$GENERATE 1-254 HOST$ A 1.2.3.$:按照序號(hào)排列規(guī)律的FQDN與IP的對(duì)應(yīng)關(guān)系
*.magedu.com. IN A 5.5.5.5:泛域名解析,當(dāng)用戶輸錯(cuò)地址時(shí),統(tǒng)一解析至某個(gè)地址
magedu.com. IN A 6.6.6.6:當(dāng)用戶沒有輸入www主機(jī)名時(shí)解析至地址 - AAAA記錄與A記錄相似,只是IP地址為IPv6地址
(六)CNAME記錄
- name:別名QFDN
- value:真實(shí)名QFDN
(七)PTR記錄
- name:特定格式IP+特定后綴
IP地址反過來寫:如1.2.3.4寫作4.3.2.1
特定后綴:in-addr.arpa.
完整寫法:4.3.2.1.in-addr.arpa. - value:FQDN
三、BIND:
(一)BIND的安裝
- 安裝:
yum install BIND - 列出BIND有關(guān)程序包名:
yum list all BIND*
bind:服務(wù)器
bind-libs:相關(guān)庫
bind-utils:客戶端
bind-chroot:遷移BIND目錄至深層目錄,減少BIND被黑客攻破對(duì)系統(tǒng)的影響 - 程序名:named
- 服務(wù)腳本:
/etc/rc.d/init.d/namedCentOS 6
/usr/lib/systemd/system/named.serviceCentOS 7 - 主要配置文件:
/etc/named.conf,/etc/named.rfc1912.zones,/etc/rndc.key - 解析庫文件
/var/named/ZONE_NAME.ZONE
(二)BIND的配置
(1)配置主配置文件:/etc/named.conf
- 全局配置:options {};
- 日志子系統(tǒng)配置:logging {};
- 區(qū)域定義:zone "ZONE_NAME" IN {};
- 定義本機(jī)能夠提供解析的zone
- dnssec:dns的安全選項(xiàng),建議關(guān)閉dnssec,設(shè)為no
(2)配置解析庫文件:按照資源記錄的格式定義
(3)格式檢查:
- 主配置文件語法檢查:
named-checkconf - 解析庫文件語法檢查:
named-checkzone zone_name PATH_TO_ZONE_NAME
(4)重載配置:
rndc reload 或 service named reload
(5)實(shí)驗(yàn):配置基本的DNS服務(wù),DNS正向解析
將192.168.136.230配置為"hellopeiyang.com"域的DNS服務(wù)器,本區(qū)域主機(jī)"websrv"的IP地址為192.168.136.229,"www"是"websrv"的別名,郵件服務(wù)器"mailsrv1"的IP地址為192.168.136.100,郵件服務(wù)器"mailsrv2"的IP地址為192.168.136.101,mailsrv1的優(yōu)先級(jí)更高
- 第1步,配置主配置文件/etc/named.conf,修改options字段,修改部分如下:
vim /etc/named.conf
options {
listen-on port 53 { localhost; };
//修改監(jiān)聽主機(jī)IP為localhost,這樣網(wǎng)絡(luò)上的其他主機(jī)可以連接本機(jī)的DNS服務(wù)
//也可以通過注釋本條語句達(dá)到相同效果
allow-query { any; };
//修改允許查詢的客戶端網(wǎng)段,any表示任意客戶端可以向本機(jī)發(fā)起DNS請(qǐng)求,并得到查詢結(jié)果
};
- 第2步,修改獨(dú)立區(qū)域配置文件,添加區(qū)域配置信息:
vim /etc/named.rfc1912.zones
zone "hellopeiyang.com" IN {
type master; //類型為主服務(wù)器
file "hellopeiyang.com.zone"; //必須與/var/named下的文件名相同
};
- 第3步,配置解析庫文件
解析庫文件可以手動(dòng)編輯,也可以復(fù)制類似文件修改,這里將/var/named目錄下的named.localhost文件復(fù)制并重命名為hellopeiyang.com.zone文件,并作出相應(yīng)修改
cp -p /var/named/named.localhost /var/named/hellopeiyang.com.zone //復(fù)制時(shí)保留所屬組權(quán)限
vim /var/named/hellopeiyang.com.zone
$TTL 1D //DNS緩存生命期的全局設(shè)置
@ IN SOA dns1 admin.hellopeiyang.com. (
//dns1:主DNS服務(wù)器域名
//本配置文件中凡是域名處若末尾不加"."系統(tǒng)識(shí)別時(shí)自動(dòng)認(rèn)為其后增加當(dāng)前域名,
如這里"dns1"視作"dns1.hellopeiyang.com."
100 ; serial //序列號(hào),不多于10位
1D ; refresh //從DNS服務(wù)器更新時(shí)間
1H ; retry //從DNS服務(wù)器重試時(shí)間
1W ; expire //從DNS服務(wù)器失效時(shí)間
3H ) ; minimum //錯(cuò)誤的DNS緩存生命期
NS dns1 //DNS服務(wù)器主機(jī)名
dns1 A 192.168.136.230 //DNS服務(wù)器的IP地址
websrv A 192.168.136.229 //本域下的主機(jī)websrv的IP地址
www CNAME websrv //主機(jī)websrv的別名
@ MX 10 mailsrv1 //郵件服務(wù)器mailsrv1.hellopeiyang.com
@ MX 20 mailsrv2 //郵件服務(wù)器mailsrv2.hellopeiyang.com
mailsrv1 A 192.168.136.100 //郵件服務(wù)器mailsrv1.hellopeiyang.com的IP
mailsrv2 A 192.168.136.101 //郵件服務(wù)器mailsrv2.hellopeiyang.com的IP
- 第4步,格式檢查:
檢查主配置文件:named-checkconf
檢查解析庫文件:named-checkzone hellopeiyang.com hellopeiyang.com.zone

第5步,重新載入配置:
rndc reload或者systemctl reload named第6步,測(cè)試:
dig www.hellopeiyang.com @192.168.136.230
測(cè)試成功,返回結(jié)果中NS、A、CNAME記錄與設(shè)置相同,同時(shí)aa標(biāo)簽表明指定的DNS服務(wù)器192.168.136.230是www.hellopeiyang.com網(wǎng)路主機(jī)的權(quán)威服務(wù)器

(6)只允許DNS返回本機(jī)存在的DNS記錄(適用于企業(yè)內(nèi)網(wǎng))
修改/etc/named.conf文件options字段recursion選項(xiàng),修改如下:
recursion no;
此時(shí),請(qǐng)求一個(gè)DNS服務(wù)器不知道的域名,服務(wù)器直接拒絕

(三)測(cè)試命令
(1)dig命令
- 語法:
dig [-t type] name [@SERVER]
dig只用于測(cè)試dns系統(tǒng),不會(huì)查詢hosts文件進(jìn)行解析 - 查詢選項(xiàng):
+[no]trace:跟蹤解析過程
+[no]recurse:進(jìn)行遞歸解析 - 測(cè)試反向解析:
dig -x IP
dig -t ns . @114.114.114.114 //查詢根DNS服務(wù)器域名
dig -t mx hellopeiyang.com @192.168.136.230 //查詢hellopeiyang.com域的郵件服務(wù)器

(2)host命令
- 語法:
host [-t type] name [SERVER]
host -t ns . 114.114.114.114 //查詢根DNS服務(wù)器域名
dig -t mx hellopeiyang.com 192.168.136.230 //查詢hellopeiyang.com域的郵件服務(wù)器

(3)nslookup命令
- 交互式命令:
- server IP:指定DNS服務(wù)器地址
- 域名:查找域名的A記錄
- set type=TYPE_NAME:設(shè)置之后查詢信息的記錄類型

(四)反向區(qū)域解析
反向區(qū)域解析與正向區(qū)域解析類似,同樣需要修改/etc/named.rfc1912.zones和建立/var/named目錄下的解析庫文件
第1步,修改獨(dú)立區(qū)域配置文件,添加區(qū)域配置信息:
vim /etc/named.rfc1912.zones
zone "136.168.192.in-addr.arpa"{ //反向解析域,IP需要倒寫
type master;
file "192.168.136.zone";
};
- 第2步,配置解析庫文件:
vim /var/named/192.168.136.zone
$TTL 1d
@ IN SOA dns1.hellopeiyang.com. admin.hellopeiyang.com. (100 3h 1h 12h 1d )
NS dns1.hellopeiyang.com.
230 PTR dns1.hellopeiyang.com.
229 PTR websrv.hellopeiyang.com.
100 PTR mailsrv1.hellopeiyang.com.
101 PTR mailsrv2.hellopeiyang.com.
注意:NS和PTR記錄的域名應(yīng)該寫全并以"."結(jié)束,以防止系統(tǒng)自動(dòng)視作在其后添加反向解析域
第3步,格式檢查:
named-checkconf
named-checkzone 192.168.136.zone /var/named/192.168.136.zone第4步,重新載入配置:
rndc reload第5步,測(cè)試:
dig -x 192.168.136.229 @192.168.136.230或者下條命令
dig -t ptr 229.136.168.192.in-addr.arpa @192.168.136.230

(五)bind-chroot程序包
功能:將DNS服務(wù)的相關(guān)文件移至更深的目錄中,減少DNS被攻破時(shí)對(duì)系統(tǒng)的影響
安裝并啟動(dòng)服務(wù):
yum install bind-chroot
systemctl start named-chroot發(fā)現(xiàn)/var/named/chroot目錄下有很多與named服務(wù)相關(guān)文件,并且文件的inode相同而硬連接數(shù)都只是1

- 這種情況只能是文件目錄掛載所形成的,執(zhí)行
mount命令發(fā)現(xiàn)大量相關(guān)文件的掛載記錄,證明bind-chroot程序?qū)崿F(xiàn)遷移文件至更深目錄的實(shí)質(zhì)是將文件掛載至更深的目錄下

(六)允許動(dòng)態(tài)更新
- 功能:允許客戶端通過命令更新解析庫資源記錄信息
- 準(zhǔn)備工作:
- 指定的zone語句塊中修改allown-update選項(xiàng)
例如:allow-update {192.168.136.229;};:只允許192.168.136.229主機(jī)能夠動(dòng)態(tài)更新本機(jī)DNS解析庫指定zone的資源記錄 - chmod770 /var/named:增加寫權(quán)限
- 指定的zone語句塊中修改allown-update選項(xiàng)
- 動(dòng)態(tài)更新命令:nsupdate
nsupdate
>server 192.168.136.230
>zone hellopeiyang.com
>update add ftp.hellopeiyang.com 86400 IN A 192.168.136.150
>send
>update delete ftp.hellopeiyang.com A
>send
(七)從服務(wù)器
從DNS服務(wù)器從主DNS服務(wù)器拷貝解析庫文件,共同提供DNS服務(wù),提升DNS服務(wù)的可靠性
第1步,從服務(wù)器:配置主配置文件,修改options字段的如下內(nèi)容:
options {
listen-on port 53 { localhost; };
allow-query { any; };
};
- 第2步,從服務(wù)器:修改獨(dú)立區(qū)域配置文件,添加區(qū)域配置信息
zone "hellopeiyang.com" IN {
type slave;
masters {192.168.136.230;};
file "slaves/hellopeiyang.com.slave.zone";
};
- 第3步,主服務(wù)器:添加解析庫文件NS記錄,修改后如下
vim /var/named/hellopeiyang.com.zone
$TTL 1D
@ IN SOA dns1 admin.hellopeiyang.com. (
101 ; serial //只要解析庫更新,一定要更新序列號(hào)
1D ; refresh
1H ; retry
1W ; expire
3H ) ; minimum
NS dns1
NS dns2 //增加的NS記錄
dns1 A 192.168.136.230
dns2 A 192.168.136.130 //增加的A記錄
websrv A 192.168.136.229
www CNAME websrv
@ MX 10 mailsrv1
@ MX 20 mailsrv2
mailsrv1 A 192.168.136.100
mailsrv2 A 192.168.136.101
-
第4步,主服務(wù)器、從服務(wù)器:設(shè)置防止黑客窺視DNS信息
為了防止黑客通過建立從服務(wù)器,獲得主服務(wù)器的解析庫信息,需要在主服務(wù)器和從服務(wù)器的主配置文件/etc/named.conf中options條目中增加"allow-transfer"選項(xiàng)
主服務(wù)器增加內(nèi)容:
allow-transfer {192.168.136.130;};:只允許從服務(wù)器IP復(fù)制解析庫文件從服務(wù)器增加內(nèi)容:
allow-transfer {none;};:不允許任何IP復(fù)制解析庫文件
第5步,主服務(wù)器、從服務(wù)器:格式檢查
分別在主服務(wù)器和從服務(wù)器上執(zhí)行named-checkconf命令
在主服務(wù)器上執(zhí)行named-checkzone hellopeiyang.com /var/named/hellopeiyang.com.zone第6步,主服務(wù)器、從服務(wù)器:重新載入配置
rndc reload第7步,測(cè)試
dig www.hellopeiyang.com @192.168.136.130

- 注意:客戶端查詢過程通過UDP的53端口進(jìn)行,主、從服務(wù)器之間的解析庫同步操作需要通過TCP和UDP的53端口聯(lián)合進(jìn)行。
(八)子域
(1)子域與父域在一臺(tái)主機(jī)上(適用于子域的流量比較小時(shí))
- 第1步,修改獨(dú)立區(qū)域配置文件,添加子域配置信息,增加的信息如下:
zone "zhengzhou.hellopeiyang.com" IN {
type master;
file "zhengzhou.hellopeiyang.com.zone";
};
- 第2步,添加子域解析庫文件,內(nèi)容如下:
cp -p /var/named/hellopeiyang.com.zone /var/named/zhengzhou.hellopeiyang.com.zone
復(fù)制一份父域的解析庫文件,在其上做修改
vim /var/named/zhengzhou.hellopeiyang.com.zone
$TTL 1D
@ IN SOA dns1 admin.hellopeiyang.com. (
101 ; serial
1D ; refresh
1H ; retry
1W ; expire
3H ) ; minimum
NS dns1
dns1 A 192.168.136.230
websrv A 192.168.136.160
www CNAME websrv
@ MX 10 mailsrv1
mailsrv1 A 192.168.136.170
第3步,檢查語法
named-checkconf
named-checkzone zhengzhou.hellopeiyang.com /var/named/zhengzhou.hellopeiyang.com.zone第4步,重新載入配置
rndc reload第5步,測(cè)試
dig www.zhengzhou.hellopeiyang.com @192.168.136.230

(2)子域與父域不在一臺(tái)主機(jī)上(適用于子域的流量比較大時(shí))
又稱作:父域DNS服務(wù)器將DNS管理權(quán)委派給子域DNS服務(wù)器
- 第1步,父域DNS:在解析庫文件中增加子域的NS記錄
vim /var/named/hellopeiyang.com.zone
$TTL 1D
@ IN SOA dns1 admin.hellopeiyang.com. (
101 ; serial
1D ; refresh
1H ; retry
1W ; expire
3H ) ; minimum
NS dns1
henan NS dns2
dns1 A 192.168.136.230
dns2 A 192.168.136.130
websrv A 192.168.136.229
www CNAME websrv
@ MX 10 mailsrv1
@ MX 20 mailsrv2
mailsrv1 A 192.168.136.100
mailsrv2 A 192.168.136.101
named-checkzone hellopeiyang.com /var/named/hellopeiyang.com.zone //檢查語法
rndc reload //重新載入配置
- 第2步,子域DNS:創(chuàng)建子域shanghai.hellopeiyang.com
//步驟1:修改主配置文件
vim /etc/named.conf //修改的內(nèi)容如下
options {
listen-on port 53 { localhost; };
allow-query { any; };
};
//步驟2:修改獨(dú)立區(qū)域配置文件
vim /etc/named.rfc1912.zones //增加的內(nèi)容如下
zone "henan.hellopeiyang.com" IN {
type master;
file "henan.hellopeiyang.com.zone";
};
//步驟3:創(chuàng)建解析庫文件
vim /var/named/henan.hellopeiyang.com.zone
$TTL 1D
@ IN SOA dns1 admin.hellopeiyang.com. (
101 ; serial
1D ; refresh
1H ; retry
1W ; expire
3H ) ; minimum
NS dns1
dns1 A 192.168.136.130
websrv A 192.168.136.133
www CNAME websrv
chgrp named /var/named/henan.hellopeiyang.com.zone //更改所屬組
//步驟4:檢查語法
named-checkconf
named-checkzone henan.hellopeiyang.com /var/named/henan.hellopeiyang.com.zone
//步驟5:重新載入配置
rndc roload
- 第3步,測(cè)試
dig www.henan.hellopeiyang.com @192.168.136.230

(九)轉(zhuǎn)發(fā)服務(wù)器
(1) 全局轉(zhuǎn)發(fā): 對(duì)非本機(jī)所負(fù)責(zé)解析區(qū)域的請(qǐng)求,全轉(zhuǎn)發(fā)給指定的服務(wù)器
實(shí)現(xiàn):修改/etc/named.conf文件
options {
forward first|only;
//first:轉(zhuǎn)發(fā)到達(dá)的DNS服務(wù)器若解析失敗,則自身直接發(fā)起DNS解析請(qǐng)求
//only:轉(zhuǎn)發(fā)到達(dá)的DNS服務(wù)器若解析失敗,則自身不再發(fā)起請(qǐng)求,本次DNS解析結(jié)果為失敗
forwarders { ip;};
};
(2) 特定區(qū)域轉(zhuǎn)發(fā):僅轉(zhuǎn)發(fā)對(duì)特定的區(qū)域的請(qǐng)求,比全局轉(zhuǎn)發(fā)優(yōu)先級(jí)高
實(shí)現(xiàn):修改/etc/named.rfc1912.zones文件
zone "ZONE_NAME" IN {
type forward;
forward first|only;
forwarders { ip;};
};
(3)實(shí)驗(yàn)一:實(shí)現(xiàn)全局轉(zhuǎn)發(fā)
- 第1步,轉(zhuǎn)發(fā)服務(wù)器的設(shè)置:
vim /etc/named.conf
options{
forward first;
forwarders {192.168.136.139;}; //凡是不在本區(qū)域DNS服務(wù)器中的請(qǐng)求一律轉(zhuǎn)發(fā)給192.168.136.139
dnssec-enable no;
dnssec-validation no;
};
named-checkconf
rndc reload
- 第2步,被轉(zhuǎn)發(fā)服務(wù)器:設(shè)置DNS服務(wù)
//步驟1:修改主配置文件
vim /etc/named.conf
options {
listen-on port 53 { localhost;};
allow-query { any; };
};
//步驟2:修改獨(dú)立區(qū)域配置文件
vim /etc/named.rfc1912.zones
zone "byebye.com" IN {
type master;
file "byebye.com.zone";
};
//步驟3:創(chuàng)建解析庫文件
vim /var/named/byebye.com.zone
$TTL 1D
@ IN SOA dns1 admin.hellopeiyang.com. (
101 ; serial
1D ; refresh
1H ; retry
1W ; expire
3H ) ; minimum
NS dns1
dns1 A 192.168.136.139
websrv A 192.168.136.66
www CNAME websrv
chgrp named /var/named/beijing.hellopeiyang.com.zone //更改所屬組
//步驟4:檢查語法
named-checkconf
named-checkzone byebye.com /var/named/byebye.com.zone
//步驟5:重新載入配置
rndc reload
- 第3步,測(cè)試
dig www.byebye.com @192.168.136.230

(4)實(shí)驗(yàn)二:實(shí)現(xiàn)特定區(qū)域轉(zhuǎn)發(fā)
- 第1步,轉(zhuǎn)發(fā)服務(wù)器的設(shè)置:
vim /etc/named.rfc1912.zones
zone "byebye.com" IN {
type forward;
forward first;
forwarders {192.168.136.139;};
//僅當(dāng)請(qǐng)求解析beijing.hellopeiyang.com區(qū)域時(shí),轉(zhuǎn)發(fā)給192.168.136.224
};
named-checkconf
rndc reload
第2步,被轉(zhuǎn)發(fā)服務(wù)器:設(shè)置DNS服務(wù),與實(shí)驗(yàn)一:實(shí)現(xiàn)全局轉(zhuǎn)發(fā)過程完全相同
第3步,測(cè)試
dig www.byebye.com @192.168.136.230

(十)bind中的acl
acl:把一個(gè)或多個(gè)地址歸并為一個(gè)集合,并通過一個(gè)統(tǒng)一的名稱調(diào)用
語法:
acl acl_name{
ip;
net/prelen;
……
};
acl只能先定義后使用,因此一般定義在/etc/named.conf文件中options前面
-
bind的內(nèi)置acl
- none:沒有一個(gè)主機(jī)
- any:任意主機(jī)
- localhost:本機(jī)
- localnet:本機(jī)的IP同掩碼運(yùn)算后得到的網(wǎng)絡(luò)地址
-
訪問控制的指令
- allow-query {}:允許查詢的主機(jī);白名單
- allow-transfer {}:允許區(qū)域傳送的主機(jī);白名單
- allow-recursion {}:允許遞歸的主機(jī),建議全局使用
- allow-update {}:允許更新區(qū)域數(shù)據(jù)庫中的內(nèi)容
實(shí)驗(yàn):使用acl功能只允許192.168.136.0網(wǎng)段的主機(jī)查詢DNS服務(wù)
編輯/etc/named.conf文件,添加acl設(shè)置,并且在allow-query字段中添加acl
vim /etc/named.conf
acl lan {
192.168.136.0/24;
};
options {
listen-on port 53 { localhost; };
allow-query { lan;localhost; }; //添加名為lan的acl
};
named-checkconf
rndc reload
此時(shí),只有192.168.136.0/24的網(wǎng)段可以查詢DNS其他網(wǎng)段的請(qǐng)求會(huì)被服務(wù)器拒絕
