DNS高速緩存服務器
一、DNS高速緩存
(一)服務端
1.設置網絡:ifconfig eth0 172.25.254.109/24
systemctl start network
2.systemctl stop firewalld
3.配置yum 源指向
yuminstall bind.x86_64 -y
4.systemctl start named
5.修改主配置文件
初始內容如下:
vim /etc/named.conf #修改主配置文件
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";
allow-query {any; }; #允許任何客戶端訪問
6.systemctlretart named #一定要重啓服務
7.在服務器端可以使用如下命令查看服務是否開放
netstat antlpe | grep named
(二)測試端配置
1.編輯/etc/resolve.conf 解析文件,解析地址指向服務端
2.使用如下命令,查看該服務器是否可以解析
dig網址 #查看該網址的解析地址
(三)高速緩存
圖中可以看到解析結果中顯示服務失敗,因爲該服務器中沒有該網址的A記錄,因此需要繼續修改主配置文件,給出更高級的服務器端口。在文件加入命令
forwarders {172.25.254.250;}; #查找更高級的DNS解析服務器
systemctl retart named #一定要重啓服務
先在一個客戶端訪問某一網址,看解析時間
再用同一網段的另一客戶端訪問同一網址,發現解析時間變短甚至爲0
二、搭建權威DNS
(一)修改配置文件
1.修改主配置文件
vim /etc/named.conf
zone"." IN { #該域名所包含的內容
type hint; #類型
file "named.ca"; #DNS域名解析表
};
include"/etc/named.rfc1912.zones"; #DNS表格位置
include "/etc/named.root.key";
如主配置文件中格式,先將需要建立的DNS表格寫在字配置文件/etc/named.rfc1912.zones中
2.vim /etc/named.rfc1912.zones
添加如下內容
zone "westos.com" IN { #"westos.com"將要建立的域名
type master; #類型
file "westos.com.zone";#域名解析表在文件/var/named/westos.com.zone中
allow-update { none; }; #不允許更新
};
注意:爲保持文件權限及文件中表格格式一致,可以用如下方式新建westos.com.zone。
cd/var/named
ll #可以查看文件權限
cp -p name.local westos.com.zone #新建文件,文件內容格式與.name.local中格式相同
3.vim /var/named/westos.com.zone #寫域名解析表
原內容顯示如下
$TTL 1D #該文件內容即該解析表格可以維持使用的有效時長是一天
@ ##該符號表示域名 IN SOA @ rname.invalid. ( #授權起始,
0 ; serial
1D ; refresh
1H ; retry
1W ; expire
3H) ; minimum
NS @
A 127.0.0.1
AAAA ::1
修改後內容顯示如下:
$TTL 1D #表示該表格可以維持使用一天
@ IN SOA dns.westos.com.rname.invalid. (
0 ; serial
1D ; refresh
1H ; retry
1W ; expire
3H) ; minimum
NS dns.westos.com.
dns A 172.25.254.109 #A記錄
www A 172.25.254.200
其中:@ 表示westos.com
Root.westos.com #該文件維護的用戶
注意:在編輯時若域名後不加. 時,系統將會在域名後自動補齊westos.com;加 . 則表示不再自動補齊。
如:dns 表示dns.westos.com
www 表示www.westos.com
dns.westos.com. 表示dns.westos.com,不再自動補齊
3.systemcl restart named #重起服務
4檢測:dig www.westos.com #在服務端或客戶端均可檢測
三、CNAME域名規範
1.vim /var/name/westos.com.zone #編輯域名解析表
$TTL 1D
@ IN SOA dns.westos.com.rname.invalid. (
0 ; serial
1D ; refresh
1H ; retry
1W ; expire
3H) ; minimum
NS dns.westos.com.
dns A 172.25.254.109
www A 172.25.254.202
edu CNAME edu.cn.westos.com. #edu.cn.wetos.com並不是edu.westos.com的規範域名
edu.cn A 172.25.254.209 #edu.cn.wetos.com的A記錄文件位置
2.systemctl restart named #重啓服務
3.檢測:dig deu.westos.com #客戶端或服務端執行均可
四、MX郵件解析記錄
1.vim /var/name/westos.com.zone #編輯域名解析表
在解析表在中增加內容:
westos.com. MX 1 172.25.254.109. #westos.com郵箱解析記錄在172.25.254.109這臺主機中
其中““1”表示優先級。
2.客戶端測試:dig -t mx westos.com
注意: vim /var/named/westos.comz.zone
westos.com. A 172.25.254.100. #解析地址一定要加點,否則重啓服務後該地址會自動補齊westos.com
五、DNS多方向解析--視圖方式
1.服務端添加網卡eth1,並設置網絡
vim /etc/sysconfig/network-scripts/eyh1 #設置新增網卡的IP地址
sytemctl restart network
2.修改主配置文件先註釋掉如下解析方式
/*zone "." IN {
type hint;
file "named.ca";
};
include"/etc/named.rfc1912.zones";
include "/etc/named.root.key";
*/
添加內容如下:實現解析兩個網段
view clientnet {
match-clients {172.25.9.0/24;}; #與172.25.9.0/24網段的主機進行匹配
zone "." IN {
type hint;
file "named.ca";
};
include"/etc/named.rfc1912.inter"; #該段網址的解析內容包含在/etc/name.rfc1912.inter文件中
};
view localnet {
match-clients {172.25.254.0/24; }; #與該網段主機進行匹配
zone "." IN {
type hint;
file "named.ca";
};
include"/etc/named.rfc1912.zones"; #該段網址的解析內容包含在/etc/name.rfc1912.inter文件中
};
3.cp -p /var/named/westos.com.zone /var/named/westos.com.inter #使用cp -p 命令複製文件內容,避免文件權限改變
cp -p /etc/named.rfc1912.zones /etc/named.rfc1912.inter #新建文件
4.vim /etc/named.rfc1912.inter
vim /var/named/westos.com.inter
5.systemctl restart named #重啓服務
6.客戶端172.25.9.10 #172.25.9.0/24網段
vim /etc/resolve
namesever 172.25.9.109
7.測試命令:dig 域名
8.在172.25.254.0/24網段的客戶端測試
vim /etc/resols.conf #先修改解析文件
nameserver 172.25.254.109
:wq
六、反向解析--由IP得到域名
1.vim /etc/named.rfc1912.zone
修改第43行,原內容顯示如下
43 zone "0.in-addr.arpa" IN{
44 type master;
45 file "named.empty";
46 allow-update { none; };
47};
修改後內容如下顯示:
43 zone "254.25.172.in-addr.arpa"IN { #反向解析IP地址,注意書寫順序
44 type master;
45 file "westos.com.ptr"; #反向解析文件類型爲ptr
46 allow-update { none; };
47};
2.cp -p /var/named/named.loopback westos.com.ptr
3.vim /var/named/nwestos.com.ptr
4.systemctl restart named #重啓服務
5.使用同一網段的客戶端測試 #172.25.254.0/24
dig -x 172.25.254.111
七、DNS更新
(一)客戶端更新解析域名
先在服務器端執行如下命令
1.getsebool -a | grep named #查看服務
setsebool -P named_write_master_zones 1 #打開服務
2.cp -p /var/named/westos.com.zone/mnt/westos.com.zone #備份
chmod 770 /var/named
3.vim /etc/named.rfc1912.zones
zone "westos.com"IN {
type master;
file "westos.com.zone";
allow-update {172.25.254.209;}; #允許指定的主機去更新DNS域名解析表
};
4.systemctl restart named
5.客戶端測試,使用命令nsupdate
(1)添加域名解析
[root@localhost ~]# nsupdate
> server 172.25.254.109
> update add hello.westos.com 86400 A172.25.254.222
#add 表示添加;
#hello.westos.com 新增的域名
#86400 即TTL 1D, 表示該有效期保持一天
#A 172.25.254.222 A記錄文件,解析地址是172.25.254.222
> send
在服務器端重啓服務並查看是否有更新
systemctl restart named
ll /var/named/
cat /var/named/westos.com.zone
(2)刪除域名解析
[root@localhost ~]# nsupdate
> update delete hello.westos.com #刪除該域名解析
> send
在服務器端重啓服務並查看是否有更新
systemctl restart named
ll /var/named/
cat /var/named/westos.com.zone
(二)在服務端恢復更新
1.rm -fr /var/named/westos.* #刪除更新後所生成的文件
2.cp -p /mnt/westos.com.zone /var/named/westos.com.zone
3.systemctl restart named
八、加密更新
1.增加key,可以先查看系統默認生成的key文件格式,根據該格式來生成key文件
cat /etc/rndc.key #查看系統默認生成的key文件
其中 -a #加密類型,系統默認類型是hmac-md5
-b #密碼長度
-n #用戶
cd /mnt
dnssec-keygen -a HMAC-MD5 -b 256 -n HOST westoskey #鑰匙名
ls #查看生成的鑰匙及加密字符文件
注:在執行生成westoskey這條命令時,若westoskey 不能及時生成,則可以任意敲鍵盤或移動鼠標來完成命令。
3.編輯key 的配置文件
cp -p /etc/rndc.key /etc/westos.key #以系統生成的默認加密格式生活曾加密文件
vim /etc/westos.key
[root@localhost ~]# cat /etc/westos.key
key "westoskey" { # "key名稱"
algorithm hmac-md5; #加密類型是hmac-md5
secret "加密字符串"; #生成的加密字符,即公鑰
};
4.設置DNS更新權限
(1)vim /etc/named.conf
42行以下的位置添加如下命令:
include "/etc/westos.key"
(2)vim /etc/named.rfc1912.zones
修改域名解析內容,顯示如下
zone "westos.com" IN {
type master;
file "westos.com.zone";
allow-update {key westoskey;}; #指定有公鑰文件的主機可以更新
};
(3)重啓服務
4.客戶端無公鑰時測試,更新失敗
5.服務端分配鑰匙
ls /mnt
scp /mnt/Kwestoskey.* root@客戶端ip:/mnt/
如:scp /mnt/Kwestoskey.* [email protected]:/mnt/
6.有公鑰文件的客戶端測試,命令格如下:
nsupdate -k /mnt/Kwestos.private
九、DNS動態解析
當域名的解析地址是動態IP時,應允許dhcpd服務器去更新
(一)服務端
1.yum install dhcp -y
2.[root@localhost ~]# cp -p /usr/share/doc/dhcp-4.2.5/dhcpd.conf.example /etc/dhcp/dhcp.conf
#生成配置文件,系統會提醒是否覆蓋原配置文件,輸入y
3.vim /etc/dhcp/dhcp.conf
刪除36之後的內容以及27、28行的內容,修改後文件內容顯示如下:
[root@localhost ~]# cat/etc/dhcp/dhcpd.conf -n
7 option domain-name"westos.com"; #域名westos.com
8 option domain-name-servers172.25.254.109; #dhcpd服務器主機IP
10 default-lease-time 600;
11 max-lease-time 7200;
14 ddns-update-styleinterim; #DNS動態更新格式
22 log-facility local7;
30 subnet 172.25.254.0 netmask255.255.255.0 { #dhcp動態分配的IP地址的網段、子網掩碼、
31 range 172.25.254.30 172.25.254.40; #分配的IP地址的範圍
32 option routers 172.25.254.250; #分配的IP地址的網關
33 }
34 key westoskey {
35 algorithm hmac-md5;
36 secretYlWN2shjPdRIG98QBySfHLKncCnxHW+u88riAhIotpM=;
37 };
38
39 zone westos.com. { #指定更新的IP
40 primary 127.0.0.1; #迴環接口:實現高效且安全地更新
41 key westoskey; #westoskey更新127.0.0.1中的westos.com的域
42 }
4.重啓dhcpd服務
systemctl start dhcpd
5.爲實現更新westos.com域,則在/var/named/westos.com中一定不能有westos.com的域名解析
設置完域名解析文件後,一定要重啓named服務
systemctl restart named
(二)客戶端
1.更改主機名,格式:xxx.westos.com
2.vim /etc/systconfig/network-scripts/eth0
DEVICE=eth0
BOOTPROT=dhcp
ONBOOT=yes
3.systemctl restart network
4.dig xxx.westos.com #測試是否可以解析出主機名及該主機IP