一.DNS伺服器的搭建與配置
dig(域資訊搜尋器)指令是一個用于詢問 DNS 域名伺服器的靈活的工具。它執行 DNS 搜尋,顯示從受請求的域名伺服器傳回的答複。
1.服務端安裝高速緩存服務 yum install bind -y
2.服務端開啟高速緩存服務 systemctl start named
開機自啟 systemctl enable named
注意:開啟服務時,若因為加密字元不夠,無法正常開啟;敲擊鍵盤或移動滑鼠即可
正常開啟後生成檔案 /etc/rndc.key
3.防火牆配置
firewall-cmd --permanent --add-service=dns
firewall-cmd --reload
firewall-cmd --list-all
netstat -antlpe | grep named //檢視named服務監聽的端口為53
4.用戶端修改DNS配置檔案 /etc/resolv.conf ##臨時的
nameserver 172.25.254.124 ##dns伺服器
5.修改配置檔案/etc/named.conf
@@@
11 listen-on port 53 { any; }; //服務監聽端口
17 allow-query { any; }; //允許連接配接的客戶機
31 dnssec-enable no; //dns加密不啟用
34 forwarders {172.25.254.77;};
//轉發請求到172.25.254.77主機
@@@
用戶端修改DNS配置檔案 /etc/resolv.conf
指向124主機
第二次耗時比第一次耗時要短
狀态:
二.本地正向解析
vim /etc/named.conf ##注釋掉18行
cp -p named.localhost westos.com.zone
vim /etc/named.rfc1912.zones
vim /var/named/westos.com.zone ##更改配置
檢測westos.com域是否有文法錯誤:
named-checkzone "westos.com" westos.com.zone
systemctl restart named
本機測試: dig www.westos.com
三.本地反向解析
1). named的配置檔案/etc/named.rfc1912.zones
@@@
43 zone "254.25.172.in-addr.arpa" IN {
44 type master;
45 file "westos.com.ptr";
46 allow-update { none; };
47 };
@@@
2). 配置westos.com.ptr檔案:
cd /var/named/
cp -p named.loopback westos.com.ptr ##westos.com.ptr反向解析檔案
vim westos.com.ptr
@@
$TTL 1D
@ IN SOA dns.westos.com. root.westos.com. (
0 ; serial
1D ; refresh
1H ; retry
1W ; expire
3H ) ; minimum
NS dns.westos.com.
dns A 172.25.254.124
111 PTR linux.westos.com.
122 PTR hello.westos.com.
@@
[[email protected] named]# systemctl restart named
dig -x 172.25.254.111
dig -x 172.25.254.122
四.輪詢
vim westos.com.zone
@@@@@@
$TTL 1D
@ IN SOA dns.westos.com. root.westos.com. (
0 ; serial
1D ; refresh
1H ; retry
1W ; expire
3H ) ; minimum
NS dns.westos.com.
dns A 172.25.254.124
www CNAME linux
linux A 172.25.254.111
linux A 172.25.254.222
@@@@@
systemctl restart named
dig www.westos.com ##即可輪詢
五.DNS的雙向解析
cp -p /etc/named.rfc1912.zones /etc/named.rfc1912.inter
vim /etc/named.rfc1912.inter
cd /var/named
cp -p westos.com.zone westos.com.inter
vim westos.com.inter
修改主配置檔案 vim /etc/named.conf
注釋原來的zone
新增本地(local)域名解析和其他主機(any)域名解析
重新開機named服務後實驗
systemctl restart named
本地域名解析時 ##本機DNS配置為172.25.254.124
其他主機域名解析時 ##其他主機DNS配置為172.25.254.124
六.主從DNS,搭建DNS叢集
1.輔助主機配置yum源,安裝bind,打開named服務
yum install bind -y
systemctl start named
systemctl enable named
firewall-cmd --permanent --add-service=dns
firewall-cmd --reload
2.輔助主機修改DNS配置檔案
3.輔助主機修改配置檔案vim /etc/named.rfc1912.zones
@@
25 zone "westos.com" IN {
26 type slave; //指定為輔dns
27 masters { 172.25.254.124; }; //主dns的ip
28 file "slaves/westos.com.zone"; //主dns傳輸的内容存放位置
29 allow-update { none; };
30 };
@@
4.輔助主機修改配置檔案vim /etc/named.con
systemctl restart named
5.本地主機修改配置檔案vim /etc/named.rfc1912.zones
@@@
25 zone "westos.com" IN {
26 type master; //該服務為主dns
27 file "westos.com.zone";
28 allow-update { none; }; //哪台主機可對westos.org域進行更新
29 allow-transfer { 172.25.254.224; }; //允許傳輸區域資訊到哪台伺服器上
30 also-notify { 172.25.254.224; }; //當主dns變化時自動通知哪台主機
31 };
@@@
systemctl restart named
6.slave用戶端dig www.westos.com
- 修改dns-server端對應的ip,并修改序列号,重新開機服務後自動更新到slave端
[[email protected] named]# systemctl restart named
slave用戶端再次dig www.westos.com發現salve用戶端的ip會随之變化
七.遠端更新DNS(認證機制)
1. 非認證機制遠端更新dns
1.進行備份
cp -p /var/named/westos.com.zone /mnt
2.修改本地配置檔案 /etc/named.rfc1912.zones
allow-update { 172.25.254.224; }; ##允許224主機遠端更新
systemctl restart named
chmod g+w /var/named ##給目錄/var/named/中組内使用者w權限,不然會發送失敗
遠端主機可以實作dns更新 nsupdate
[[email protected] ~]# nsupdate
> server 172.25.254.124
> update add hello.westos.com 86400 A 172.25.254.111
> send
> quit
dns-server 中生成 westos.com.zone.jnl
vim westos.com.zone
2.基于key認證遠端更新dns
1.還原配置檔案 mv /mnt/westos.com.zone /var/named/
2.生成加密鑰匙
dnssec-keygen -a hmac-md5 -n HOST -b 128 westos
-a ##加密方式 -b ##密碼大小bits -n ##nametype,域名解析
cat Kwestos.+157+03010.private//檢視生成的key内容
cp -p /etc/rndc.key /etc/westos.key
vim /etc/westos.key
@@@
key "westos" {
algorithm hmac-md5;
secret "GoL0AzUtAAAdDlrUaDLiXA==";
};
@@@
vim /etc/named.conf //注意:該配置放在logging子產品前面,配置是按順序讀取的;
vim /etc/named.rfc1912.zones
//隻允許有鑰匙的主機對該dns進行動态更新;
systemctl restart named
把密鑰檔案傳送給遠端主機 ##實驗環境為/mnt
scp Kwestos.+157+03010.* [email protected]:/mnt/
測試:
[[email protected] mnt]# nsupdate -k Kwestos.+157+03010.private
> server 172.25.254.124
> update add hello.westos.com 86400 A 172.25.254.111
> send
> quit
出現了jnl檔案
八.DNS的動态域名解析----花生殼
該實驗是基于7-2實驗的基礎上操作的,要確定基于key認證遠端更新dns成功。
1.服務端:
安裝dhcp服務,在Linux網絡管理中有詳細做法。
yum install dhcp -y
cp /usr/share/doc/dhcp-4.2.5/dhcpd.conf.example dhcpd.conf
vim /etc/dhcp/dhcpd.conf
@@@@@@@@@@@
# Use this to enble / disable dynamic dns updates globally.
ddns-update-style interim; ##開啟DHCP更新DNS功能
key westos {
algorithm hmac-md5; ##DHCP更新DNS時key的加密方式
secret Wv1RydX1hvVgzd+t7oi5dQ==; ##key的密匙
};
zone westos.com. {
primary 127.0.0.1; ##主機内部回環接口
key westos; ###指定更新用的key名稱
}
@@@@@@@@@@@
systemctl restart dhcpd
2.用戶端:
systemctl restart network
ifconfig ##分得ip172.25.254.145
更改主機名稱 test.westos.com
dig test.westos.com
服務端主機也同步更新
更改服務端ip位址池範圍
[[email protected] named]# vim /etc/dhcp/dhcpd.conf
[[email protected] named]# systemctl restart dhcpd
用戶端分到ip發生變化
systemctl restart network
ifconfig
dig test.westos.com 随之也發生變化