DNS總攬
1.權威名稱服務器
– 存儲並提供某區域 ( 整個 DNS 域或 DNS 域的一部分 ) 的實際數據。權威名稱服務器的類型包括:
• Master : 包含原始區域數據。有時稱作 “ 主要 ” 名稱服務器
• Slave : 備份服務器 , 通過區域傳送從 Master 服務器獲得的區域數據的副本。有時稱作 “ 次要 ”
名稱服務器
2.非權威 / 遞歸名稱服務器
– 客戶端通過其查找來自權威名稱服務器的數據。遞歸名稱服務器的類型包括:
• 僅緩存名稱服務器 : 僅用於查找 , 對於非重要數據之外的任何內容都不具有權威性
3.DNS查找
– 客戶端上的 Stub 解析器 將查詢發送至 /etc/resolv.conf 中的名稱服務器
– 如果名稱服務器對於請求的信息具有權威性 , 會將權威答案發送至客戶端
– 否則 , 如果名稱服務器在其緩存中有請求的信息 , 則會將非權威答案發送至客戶端
– 如果緩存只能該沒有信息 , 名稱服務器將搜索權威名稱服務器以查找信息 , 從根區域開始 , 按照DNS
層次結構向下搜素 , 直至對於信息具有權威性的名稱服務器 , 以此爲客戶端獲得答案。在此情況中,
名 ch 稱服務器將信息傳遞至客戶端並在自己的緩存中保留一個副本 , 以備以後查找。
4.DNS資源記錄
• DNS 區域採用資源記錄的形式存儲信息。每條資源記錄均具有一個類型 , 表明其保留的數據類型
– A : 名稱至 IPv4 地址
– AAAA : 名稱至 IPv6 地址
– CNAME : 名稱至 ” 規範名稱 “ ( 包含 A/AAAA 記錄的另一個名稱 )
– PTR : IPv4/IPv6 地址至名稱
– MX : 用於名稱的郵件交換器 ( 向何處發送其電子郵件 )
– NS : 域名的名稱服務器
– SOA :” 授權起始 “ , DNS 區域的信息 ( 管理信息 )
5.DNS排錯
• 它顯示來自 DNS 查找的詳細信息 , 其中包括爲什麼查詢失敗:
– NOERROR : 查詢成功
– NXDOMAIN : DNS 服務器提示不存在這樣的名稱
– SERVFAIL : DNS 服務器停機或 DNSSEC 響應
• 驗證失敗
– REFUSED : DNS 服務器拒絕回答 ( 也許是出於訪問控制原因 )
6.dig輸出的部分內容
• 標題指出關於查詢和答案的信息 , 其中包括響應狀態和設置的任何特殊標記 ( aa 表示權威答案 , 等等 )
– QUESTION : 提出實際的 DNS 查詢
– ANSWER : 響應 ( 如果有 )
– AUTHORITY : 負責域 / 區域的名稱服務器
– ADDITIONAL : 提供的其他信息 , 通常是關於名稱服務器
– 底部的註釋指出發送查詢的遞歸名稱服務器以及獲得響應所花費的時間
7.緩存DNS服務器
BIND是最廣泛使用的開源名稱服務器在RHEL中 , 通過bind軟件包提供防火牆開啓端口53/TCP和
53/UDPBIND的主配置文件是/etc/named.conf/var/named目錄包含名稱服務器所使用的其他數據文件
8./etc/named.conf的語法
• // 或 # 至行末尾是註釋 ; /* 與 */ 之間的文本也是註釋 (可以跨越多行)
• 指令以分號結束 (;)
• 許多指令認爲地址匹配列表放在大括號中、以CIDR表示法表示的IP地址或子網列表中 , 或者命名的ACL中
( 例如 any; [ 所有主機 ] 和none; [ 無主機 ] )
• 文件以 options 塊開始 , 其中包含控制 named如何運作的指令
• zone 塊控制 named 如何查對於其具有權威性的根名稱服務器和區域
演示:
1. 修改IP 與 hostname,並關閉firewall
2.安裝bind服務器
3.開啓named服務,生成rndc.key
4.vim /etc/named.conf修改配置文件
##listen port {any};允許任何人
systemcatl restart named
netstat -antple | grep named##查看端口狀態
5.正向解析
vim /etc/named.conf
##修改配置文件,加入westos.com.zone
cp -p /var/named/named.localhost /var/named/westos.com.zone
##以named.localhost爲模版創建westos.com.zone(連同權限)
vim /var/named/westos.com.zone
##NS:類型
systemctl restart named##重啓服務
客戶端:dig www.westos.com##測試
vim /etc/named.conf
##修改配置文件,將之前的zone(55到58行刪除)
vim /etc/named.rfc1912.zones##編輯
在上配置文件內配置如下:
修改配置文件
systemctl restart named
##重置後測試
dig -t mx westos.com
##測試MXDNS正向解析
6.反向解析
vim /etc/named.rfc1912.zones
##編輯配置文件如下
cp -p /var/named/named.loopback /var/named/westos.com.ptr
vim westos.com.ptr
PTR ##IPV4/IPV6地址至名稱
systemctl restart named
dig -x 172.25.254.111##重啓後測試,用地址dig時加 -x
7.不同IP的DNS解析
先將server與client配置雙網卡
設置IP
netstat -antlpe | grep named##查看端口狀態
將/etc/named.conf中49-56行註釋
加入新的配置如下 ##爲不同IP配置
cp -p named.rfc1912.zones named.rfc1912.inter
##創建新的配置文件爲named.conf中配置服務
編輯如下
cp -p /var/named/westos.com.zone /var/named/westos.inter
##複製(連同權限)
vim /var/named/westos.com.inter
##編輯解析
測試:172.25.254.0
測試:172.25.0.227
8.client爲server更新
cp -p westos.com.zone /mnt/
##試驗前將westos.com.zone備份
vim /etc/named.rfc1912.zones
##修改配置文件允許client客戶端更新server
給予/var/named/權限,使selinux布爾值 named_write_master_zones 1使client能夠爲server更新
client : nsupdate
##add:添加 86400:24*60 A:名稱至IPV4地址
測試:
9.DNS更新加密
rm -fr /var/named/westos.com.zone.jnl /var/named/westos.com.zone
systemctl restart named
dnssec-keygen -a HMAC-MD5 -b 128 -n HOST westoskey
##生成dns加密密碼westoskey
cp -p /etc/rndc.key /etc/westos.key
##以rndc.key爲模版創建westos.key加密文件
vim /etc/westos.key
##westoskey:所生成加密密碼名稱。 secret "...":密碼(創建時手動輸入)
vim /etc/named,conf
##編輯配置文件,include“”:包含/etc/westos.key,去讀
vim /etc/named.rfc1912.zones
##修改配置文件,allow-update { key westoskey } :只允許使用密碼更新
##將在server上生成的密匙給client
nsupdate
##自client更新
測試:REFUSED(需要密匙更新)
測試:
測試成功
10.DNS動態解析
yum install dhcp -y
##安裝dhcp
cp /usr/share/doc/dhcp-4.2.5/dhcpd.conf.example /etc/dhcp/dhcpd.conf
##引用模板
vim /etc/dhcp/dhcpd.conf
##編輯dhcp配置文件
修改如下:
服務器IP
更新方式:interim
##subnet:子網掩碼
##range 172.25.254.200 172.25.254.250 :ip分配範圍
修改客戶端主機名及網卡爲dhcp
vim ifcfg-eth0##修改如下
重啓network
172.25.254.200爲dhcp動態指定的IP
測試: