centos7_bind_DNS 配置master、slave、緩存、轉發
DNS系統的作用
正向解析:域名到IP的解析過程
反向解析:IP到域名的解析過程,反向解析的作用為服務器身份驗證
DNS系統的工作模式:
遞歸查詢:DNS 服務器可使用其自身的資源記錄信息緩存來應答查詢,也可代表請求客戶機來查詢或聯系其他 DNS 服務器,並隨後將應答返回至客戶機
叠代查詢:如果沒有查詢到所需數據,該DNS服務器會告訴客戶機另一臺DNS服務器地址。客戶機自己嘗試聯系其他的 DNS 服務器來解析名稱,使用基於服務器應答的獨立和附加的查詢
主域名服務器:特定DNS區域的官方服務器,具有唯一性。負責維護該區域所有域名->IP的映射記錄
從域名服務器:維護的域名->IP來源於主域名服務器
軟件包:bind
服務名:named
端口:53
master主DNS配置
1、安裝Bind軟件包。
yum install -y bind
2、修改主DNS服務器配置文件。
vim /etc/named.conf
13 listen-on port 53 { 192.168.200.101; }; #監聽網卡及端口
directory "/var/named"; #DNS解析記錄位置
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"; #內存狀態備份
19 allow-query { any; }; #允許所有人訪問
recursion yes; #遞歸查詢,刪除是叠代查詢
zone "." IN { #根DNS配置
type hint; #服務器類型:根DNS
file "named.ca"; #根DNS信息保存位置/var/named/named.ca
};
#包含子配置,把下列文件加載到主配置文件中
include "/etc/named.rfc1912.zones"; #聲明DNS區域文件
include "/etc/named.root.key"; #訪問根DNS需要的秘鑰
3、修改主DNS服務器區域文件。
vim /etc/named.rfc1912.zones
zone "a.com" IN { #正向解析域名
type master; #類型:主DNS
file "a.com.localhost"; #主機名與IP對應關系配置文件
allow-update { none; }; #不允許客戶端動態升級
};
zone "200.168.192.in-addr.arpa" IN { #反向解析域名的IP地址,應把網絡位反寫,不寫主機位
type master; #類型:主DNS
file "192.168.200.empty";
allow-update { none; };
};
cd /var/named/ #copy模板文件,-p保留文件屬性(文件所屬組必須是named)
cp -p named.localhost a.com.localhost
cp -p named.empty 192.168.200.empty
4. 主DNS服務器正向區域文件。
vim /var/named/a.com.localhost
$TTL 1D #生存周期一天
@ IN SOA a.com. rname.invalid. (
# @代表域名,IN跳轉指針,引出後面內容;SOA起始授權記錄,引出後面參數;域名要在末尾加“.”
rname.invalid.表示管理員郵箱“.”代表了郵箱符號“@”
0 ; serial #序列號,更改一次+1
1D ; refresh #每隔一天檢查序列號更新
1H ; retry #同步失敗每隔一小時檢查序列號更新
1W ; expire #輔DNS與主DNS斷開連接一周後不響應客戶端解析
3H ) ; minimum #最小生存周期(緩存最大生存時間)
NS ns1.a.com.
ns1 A 192.168.200.101
www A 192.168.200.104
5. 主DNS服務器反向區域文件。
vim /var/named/192.168.200.empty
$TTL 3H
@ IN SOA a.com. rname.invalid. (
0 ; serial
1D ; refresh
1H ; retry
1W ; expire
3H ) ; minimum
NS ns1.a.com.
101 PTR ns1.a.com. #101是主機位IP地址
104 PTR www.a.com.
6. 主DNS服務器配置文件和區域文件語法檢測。
named-checkconf /etc/named.conf
named-checkzone a.com /var/named/a.com.localhost
named-checkzone 200.168.192.in-addr.arpa /var/named/192.168.200.empty
7. 啟動Bind服務。
systemctl start named
systemctl enable named
ss -ntlu | grep 53
udp UNCONN 0 0 192.168.200.101:53 *:*
8. 在Web服務器上安裝apache安裝包。
yum install -y httpd
9. 修改apache配置文件。
vim /etc/httpd/conf/httpd.conf
95 ServerName www.a.com:80
10. 創建apache默認文檔。
echo "apache ip:192.168.200.104" > /var/www/html/index.html
11. 啟動apache服務。
httpd -t
systemctl start httpd
systemctl enable httpd
ss -ntlu | grep 80
tcp LISTEN 0 128 :::80 :::*
12. 訪問測試
master主DNS + slave輔DNS
1. 安裝Bind軟件包。
yum install -y bind
2. 修改主DNS服務器配置文件,允許區域傳輸。
vim /etc/named.rfc1912.zones
16 allow-update { 192.168.200.102; };
23 allow-update { 192.168.200.102; };
3. 修改主DNS服務器正向區域文件和反向區域文件,添加輔助DNS相關記錄。
vim /var/named/a.com.localhost
$TTL 1D
@ IN SOA a.com. rname.invalid. (
0 ; serial
1D ; refresh
1H ; retry
1W ; expire
3H ) ; minimum
NS ns1.a.com.
NS ns2.a.com.
ns1 A 192.168.200.101
ns2 A 192.168.200.102
www A 192.168.200.104
vim /var/named/192.168.200.empty
$TTL 3H
@ IN SOA a.com. rname.invalid. (
0 ; serial
1D ; refresh
1H ; retry
1W ; expire
3H ) ; minimum
NS ns1.a.com.
NS ns2.a.com
101 PTR ns1.a.com.
102 PTR ns2.a.com.
104 PTR www.a.com.
然後重新啟動named服務
systemctl restart named
4. 修改輔助DNS服務器配置文件。
vim /etc/named.conf
12 options {
13 listen-on port 53 { 192.168.200.102; };
14 listen-on-v6 port 53 { ::1; };
15 directory "/var/named";
16 dump-file "/var/named/data/cache_dump.db";
17 statistics-file "/var/named/data/named_stats.txt";
18 memstatistics-file "/var/named/data/named_mem_stats.txt";
19 allow-query { any; };
5. 修改輔助DNS服務器配置文件。
vim /etc/named.rfc1912.zones
zone "a.com" IN {
type slave; #類型設置為輔DNS服務器
file "slaves/a.com.localhost";
masters { 192.168.200.101; }; #指定主服務器地址
};
zone "200.168.192.in-addr.arpa" IN {
type slave;
file "slaves/192.168.200.empty";
masters { 192.168.200.101; };
};
6. 檢測輔助DNS服務器配置文件和區域文件語法。
named-checkconf /etc/named.conf
named-checkconf /etc/named.rfc1912.zones
7. 啟動輔助DNS服務。
systemctl restart named
systemctl enable named
ss -ntlu | grep 53
udp UNCONN 0 0 192.168.200.102:53 *:*
ll /var/named/slaves/ #發現此目錄有了主DNS的服務器中的配置文件
8. 客戶端基於域名訪問apache站點。
客戶端dns指向192.168.200.102
master主DNS + slave輔DNS + 緩存DNS
1. 修改主DNS服務器正向區域文件和反向區域文件,添加緩存DNS相關記錄。
vim /var/named/a.com.localhost
$TTL 1D
@ IN SOA a.com. rname.invalid. (
0 ; serial
1D ; refresh
1H ; retry
1W ; expire
3H ) ; minimum
NS ns1.a.com.
NS ns2.a.com.
NS ns3.a.com.
ns1 A 192.168.200.101
ns2 A 192.168.200.102
ns3 A 192.168.200.103
www A 192.168.200.104
vim /var/named/192.168.200.empty
$TTL 3H
@ IN SOA a.com. rname.invalid. (
0 ; serial
1D ; refresh
1H ; retry
1W ; expire
3H ) ; minimum
NS ns1.a.com.
NS ns2.a.com.
NS ns3.a.com.
101 PTR ns1.a.com.
102 PTR ns2.a.com.
103 PTR ns3.a.com.
104 PTR www.a.com.
然後重新啟動named服務
systemctl restart named
2. 在緩存DNS服務器上安裝Bind軟件包。
yum install -y bind bind-devel bind-chroot
3. 修改緩存DNS服務器配置文件。
vim /etc/named.conf
listen-on port 53 { 192.168.200.103; };
allow-query { any; };
forward only;
forwarders { 192.168.200.101;192.168.200.102; };
4. 檢測緩存DNS服務器配置文件和區域文件語法。
named-checkconf /etc/named.conf
5. 啟動Bind服務。
systemctl restart named
systemctl enable named
ss -ntlu | grep 53
udp UNCONN 0 0 192.168.200.103:53
6. 客戶端基於域名訪問apache站點。
客戶端dns指向192.168.200.103
不能解析:vim /etc/named.conf yes更改為no
dnssec-enable no;
dnssec-validation no;
DNS轉發
1. 添加主DNS服務器和輔助DNS服務器配置文件。
vim /etc/named.conf
forward first;
forwarders { 119.29.29.29;114.114.114.114 };
systemctl restart named
2. 客戶端dns指向192.168.200.103
centos7_bind_DNS 配置master、slave、緩存、轉發