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
測試: