第三單元--DNS設置
##DNS 總攬
1 權威名稱服務器– 存儲並提供某區域 ( 整個 DNS 域或 DNS 域的一部分 ) 的實際數據。權威名稱服務器的類型包括:
Master : 包含原始區域數據。有時稱作 “ 主要 ” 名稱服務器
Slave : 備份服務器 , 通過區域傳送從 Master 服務器獲得的區域數據的副本。有時稱作“ 次要 ” 名稱服務器
2 非權威 / 遞歸名稱服務器
– 客戶端通過其查找來自權威名稱服務器的數據。遞歸名稱服務器的類型包括僅緩存名稱服務器 : 僅用於查找 , 對於非重要數據之外的任何內容都不具有權威性
3 DNS 查找
-客戶端上的 Stub 解析器 將查詢發送至 /etc/resolv.conf 中的名稱服務器
-如果名稱服務器對於請求的信息具有權威性 , 會將權威答案發送至客戶端
-否則 , 如果名稱服務器在其緩存中有請求的信息 , 則會將非權威答案發送至客戶端
-如果緩存只能該沒有信息 , 名稱服務器將搜索權威名稱服務器以查找信息 , 從根區域開始 ,按照DNS 層
-次結構向下搜素 , 直至對於信息具有權威性的名稱服務器 , 以此爲客戶端獲得答案。在此情況中,名 ch 稱服務器將信息傳遞至客戶端並在自己的緩存中保留一個副本 , 以備以後查找
##DNS 排錯
• 它顯示來自 DNS 查找的詳細信息 , 其中包括爲什麼查詢失敗 :– NOERROR : 查詢成功
– NXDOMAIN : DNS 服務器提示不存在這樣的名稱
– SERVFAIL : DNS 服務器停機或 DNSSEC 響應驗證失敗
– REFUSED : DNS 服務器拒絕回答 ( 也許是出於訪問控制原因 )
##DNS 資源記錄
1 DNS 區域採用資源記錄的形式存儲信息。每條資源記錄均具有一個類型 , 表明其保留的數據類型
– AAAA : 名稱至 IPv6 地址
– CNAME : 名稱至 ” 規範名稱 “ ( 包含 A/AAAA 記錄的另一個名稱 )
– PTR : IPv4/IPv6 地址至名稱
– MX : 用於名稱的郵件交換器 ( 向何處發送其電子郵件 )
– NS : 域名的名稱服務器
– SOA :” 授權起始 “ , DNS 區域的信息 ( 管理信息 )
###dig 輸出的部分內容
• 標題指出關於查詢和答案的信息 , 其中包括響應狀態和設置的任何特殊標記 ( aa 表示
– QUESTION : 提出實際的 DNS 查詢
– ANSWER : 響應 ( 如果有 )
– AUTHORITY : 負責域 / 區域的名稱服務器
– ADDITIONAL : 提供的其他信息 , 通常是關於名稱服務器
– 底部的註釋指出發送查詢的遞歸名稱服務器以及獲得響應所花費的時間
#####前言:安裝DNS
yum clean allyum search dns
示圖:搜索結果
yum install bind.x86_64 -y
systemctl stop firewalld
systemctl start named ##DNS服務的名字爲named
一、DNS高速緩存器設置
vim /etc/sysconfig/network-scripts/ifcfg-eth0
1 DEVICE=eth0
2 BOOTPROTO=none
3 IPADDR=172.25.254.244
4 NETMASK=255.255.255.0
5 DNS1=172.25.254.244
systemctl restart network
示圖:網絡配置文件中添加DNS
cat /etc/resolv.conf -b ##查看新添加的DNS是否成功,-b參數用來顯示行號
1 # Generated by NetworkManager
2 search westos.com
3 nameserver 172.25.254.244
示圖:resolv文件設置
2.修改DNS服務配置文件
初始文件內容:
vim /etc/named.conf
10 options {
11 listen-on port 53 { 127.0.0.1; }; ##環型接口
12 listen-on-v6 port 53 { ::1; };
13 directory "/var/named";
14 dump-file "/var/named/data/cache_dump.db";
15 statistics-file "/var/named/data/named_stats.txt";
16 memstatistics-file "/var/named/data/named_mem_stats.txt";
17 allow-query { localhost; }; ##只許本機測試
測試:dig baidu.com
示圖:初始測試反饋,顯示狀態:無服務器可連接
**1>環形接口改變爲對外接口
vim /etc/named.conf
示圖:接口修改
netstat -antlpe | grep named ##查看本機DNS網絡接口狀態
示圖:修改前後對比
測試: dig baidu.com
示圖:接口測試結果,顯示狀態:SERVFAIL
**2>修改訪問用戶人限
vim /etc/named.conf
示圖:訪問用戶人限修改
systemctl restart named
客戶端測試:dig baidu.com
示圖:修改前後訪問測試結果對比,狀態由REFUSED變爲SERVFAIL
**3>添加外源權威DNS訪問設備
vim /etc/named.conf18 forwarders {172.25.254.250; }; ##當服務器無要訪問信息的內容時,可以向172.25.254.250訪問得到答案,再告訴訪問服務器的用戶,在外源DNS上訪問得到的內容會自動作爲緩存留在服務器的DNS中,在下次有用戶再次需要時便會很快給出答案,大大縮短了訪問時間,也因此成爲高速緩存器
systemctl restart named
二、權威DNS單向解析設置
vim /etc/named.conf
示圖:查看DNS配置文件庫
2.修改庫文件
vim /etc/named.rfc1912.zones
示圖:庫文件添加內容
3.製作DNS表格
cd /var/named
ls
cp -p named.localhost westos.com.zone
vim westos.com.zone
1 $TTL 1D
2 @ IN SOA dns.westos.com. root.westos.com. ( ##@代表westos.com,所以在字符後邊若沒有"."結尾,將會自動補齊westos.com
3 0 ; serial
4 1D ; refresh
5 1H ; retry
6 1W ; expire
7 3H ) ; minimum
8 NS dns.westos.com.
9 dns A 172.25.254.244
10 www A 172.25.254.111 ##設置www.westos.com的IP指向爲172.25.254.111
11 music CNAME music.a.westos.com. ##設置標識名稱music的DNS名稱爲music.a.westos.com
12 music.a A 172.25.254.222
13 music.a A 172.25.254.111
14 westos.com. MX 1 172.25.254.244.
示圖:表格內容
4. systemctl restart named
5.測試:
dig www.westos.com
dig music.westos.com
示圖:
dig -t mx westos.com
mail [email protected]
mailq
示圖:
三、雙網口單向解析設置
添加hardware,添加新的network
示圖:添加網口
cp -p /etc/sysconfig/network-scripts/ifcfg-eth0 /etc/sysconfig/network-scripts/ifcfg-eth1
vim /etc/sysconfig/network-scripts/ifcfg-eth1
示圖:網口2配置文件修改
systemctl restart network
2.修改DNS配置文件
vim /etc/named.conf
示圖:註釋內容
示圖:添加內容
vim /etc/named.rfc1912.inter
示圖:修改內容
3.添加網段2DNS的表格
cd /var/named
cp -p westos.com.zone westos.com.inter
vim westos.com.inter
可視模式下(ctrl+V):%s/254/98/g ##將所有指向的IP網段改爲98
4. systemctl restart named
5.測試
網段爲172.25.254.0客戶測試
示圖:
網段爲172.25.98.0客戶測試
示圖:
四、單向反向解析設置
vim /etc/named.rfc1912.zones
示圖:添加內容
2.設置反向解析表格
cd /var/named
ls
cp -p named.loopback westos.com.ptr
vim westos.com.ptr
1 $TTL 1D
2 @ IN SOA dns.westos.com. root.westos.com. ( ##@代表172.25.254
3 0 ; serial
4 1D ; refresh
5 1H ; retry
6 1W ; expire
7 3H ) ; minimum
8 NS dns.westos.com.
9 dns A 172.25.254.244
10 111 PTR www.westos.com.
11 222 PTR bbs.westos.com.
示圖:修改內容
3.systemctl restart named
4.測試
dig -x 172.25.254.111
示圖:測試結果
五、指定用戶進行DNS刷新
cp -p /var/named/westos.com.zone /mnt ##將表格備份一份在/mnt下,方便恢復
vim /etc/named.rfc1912.zones
示圖:修改內容
2.設置用戶可以修改的權限
chmod 770 /var/named
setsebool -P named_write_master_zones 1
3.systemctl restart named
4.測試
[root@desktop98 ~]# nsupdate
> server 172.25.254.244
> update add hello.westos.com 86400 A 172.25.254.111 ##添加hello.westos.com,IP爲172.25.254.111,時間爲1天,86400爲一天的秒數
> send
> quit
示圖:dig測試添加
示圖:服務端重啓後的表格內容變化
[root@desktop98 ~]# nsupdate
> server 172.25.254.244
> update delete hello.westos.com ##刪除hello.westos.com
> send
> quit
示圖:刪除後dig測試
六、鑰匙DNS刷新
dnssec-keygen -a HMAC-MD5 -b 256 -n HOST westoskey ##在服務器終端隨意輸入字符,可以被取爲鑰匙的內容,鑰匙的內容是隨機生成
ls
cat Kwestoskey.+157+02601.key ##查看生成的密碼字符
cp -p /etc/rndc.key /etc/westos.key
vim /etc/westos.key ##修改鑰匙配置文件
示圖:鑰匙配置文件內
2.修改DNS配置文件
vim /etc/named.conf
示圖:修改內容
3.修改庫文件
vim /etc/named.rfc1912.zones
示圖:修改內容
4.systemctl restart named
5.測試
scp /var/named/Kwestoskey.+157+02601.* [email protected]:/mnt/ ##將鑰匙發送給指定用戶下的/mnt下
客戶端測試:
[root@desktop98 ~]# nsupdate -k /mnt/Kwestoskey.+157+02601.private
> server 172.25.254.244
> update add hello.westos.com 86400 A 172.25.254.111 ##可添加可刪除
> send
> quit
示圖:dig測試hello.westos.com
七、DHCP動態刷新DNS
yum install dhcp -y
2.製作並修改DHCP配置文件
cp /usr/share/doc/dhcp-4.2.5/dhcpd.conf.example /etc/dhcp/dhcpd.conf
vim /etc/dhcp/dhcpd.conf
刪除36行以後所有的,刪除27和28行
7 option domain-name "westos.com";
8 option domain-name-servers 172.25.254.244;
14 ddns-update-style interim;
30 subnet 172.25.254.0 netmask 255.255.255.0 {
31 range 172.25.254.200 172.25.254.250;
32 option routers 172.25.254.250;
33 }
34
35 key westoskey {
36 algorithm hmac-md5;
37 secert TGnGuujdrrws9Clyhtih+DRZBito7DwzKhzJ8hxl6n0=;
38 };
39
40 zone westos.com. {
41 primary 127.0.0.1;
42 key westoskey;
43 }
2. systemctl restart named
3.測試
關掉之前原有的DHCP服務器的DHCP服務
systemctl start dhcp ##開啓服務器的DHCP
客戶端:
hostnamectl set-hostname test,westos.com ##修改用戶端主機名,方便查看
vim /etc/sysconfig/network-scripts/ifcfg-eth0 ##修改客戶端網絡
示圖:修改內容
systemctl restart network ##重啓客戶端網絡服務
ifconfig ##查看客戶端當前IP,得到當前分配的IP爲172.25.254.200
dig test.westos.com
示圖:測試結果