1. 程式人生 > >centos7_bind_DNS 配置master、slave、緩存、轉發

centos7_bind_DNS 配置master、slave、緩存、轉發

apache服務 data 檢測 配置文件 管理員 ria 特定 date bind

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、緩存、轉發