企業DNS伺服器部署

CHIBOHANDONG發表於2023-03-03

     域名系統(英文:Domain Name System,縮寫:DNS)是網際網路的一項服務。它作為將域名和IP地址相互對映的一個分散式資料庫,能夠使人更方便地訪問網際網路。


       雖然因特網上的節點都可以用IP地址標識,並且可以透過IP地址被訪問,但即使是將32位的二進位制IP地址寫成4個0~255的十位數形式,也依然太長、太難記。因此,人們發明瞭域名(Domain Name),域名可將一個IP地址關聯到一組有意義的字元上去。使用者訪問一個網站的時候,既可以輸入該網站的IP地址,也可以輸入其域名,對訪問而言,兩者是等價的。例如:微軟公司的Web伺服器的IP地址是207.46.230.229,其對應的域名是,不管使用者在瀏覽器中輸入的是207.46.230.229還是,都可以訪問其Web網站。


實驗環境配置

配置雙網路卡主機westosa


兩個ip 分別為172.25.254.100 、172.25.26.100


開啟真實主機防火牆的地址偽裝功能,將真實主機變為路由器(真實主機聯網),使得虛擬主機westosa(雙網路卡:172.25.254.100 和 172.25.26.100)、westosb(172.25.254.200)能夠連線外網

  firewall-cmd  --permanent  --add-masquerade    ##不用reload

  firewall-cmd  --list-all


為westosa、westosb設定閘道器為真實主機ip,此時westosa、westosb可以ping通


[root@westoslinux ~]# cd /etc/sysconfig/network-scripts/

[root@westoslinux network-scripts]# ls

ifcfg-westos

[root@westoslinux network-scripts]# vim ifcfg-westos  ##編寫網路卡配置檔案

//

TYPE=Ethernet

BOOTPROTO=none

IPADDR=172.25.254.100

PREFIX=24

NAME=westos

DEVICE=ens3

>

GATEWAY=172.25.254.77  ##新增閘道器

//

  route -n   ##查詢網路,閘道器設定完成


[root@westoslinux ~]# route -n

Kernel IP routing table

Destination     Gateway         Genmask         Flags Metric Ref    Use Iface

0.0.0.0         172.25.254.77   0.0.0.0         UG    100    0        0 ens3

172.25.254.0    0.0.0.0         255.255.255.0   U     100    0        0 ens3

**將westosa作為客戶端主機進行域名解析測試,編輯westosa的dns指向檔案/etc/resolv.conf,在其中設定向其提供域名解析服務的伺服器192.168.43.169,與真實機的nameserver一致。


 vim /etc/resolv.conf

//編寫內容

search westos.org

nameserver 192.168.43.169

//

host www.qq.com對www.qq.com進行地址解析得到對應IP, dig www.qq.com得到域名www.qq.com的地址詳細解析資訊,NOERROR表示解析成功


[root@westoslinux ~]# host www.qq.com

www.qq.com is an alias for ins-r23tsuuf.ias.tencent-cloud.net.

ins-r23tsuuf.ias.tencent-cloud.net has address 183.194.238.117

ins-r23tsuuf.ias.tencent-cloud.net has address 183.194.238.19

ins-r23tsuuf.ias.tencent-cloud.net has IPv6 address 2402:4e00:1430:1301:0:9227:79cc:76f2

ins-r23tsuuf.ias.tencent-cloud.net has IPv6 address 2402:4e00:1430:1301:0:9227:79d3:ffd1

 

[root@westoslinux ~]# dig www.qq.com

 

; <<>> DiG 9.11.13-RedHat-9.11.13-3.el8 <<>> www.qq.com

;; global options: +cmd

;; Got answer:

;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 55114

;; flags: qr rd ra; QUERY: 1, ANSWER: 3, AUTHORITY: 0, ADDITIONAL: 1

 

;; OPT PSEUDOSECTION:

; EDNS: version: 0, flags:; udp: 512

;; QUESTION SECTION:

;www.qq.com. IN A

 

;; ANSWER SECTION:

www.qq.com. 172 IN CNAME ins-r23tsuuf.ias.tencent-cloud.net.

ins-r23tsuuf.ias.tencent-cloud.net. 38 IN A 183.194.238.19

ins-r23tsuuf.ias.tencent-cloud.net. 38 IN A 183.194.238.117

 

;; Query time: 39 msec

;; SERVER: 192.168.43.169#53(192.168.43.169)

;; WHEN: Thu Aug 12 08:48:16 CST 2021

;; MSG SIZE  rcvd: 119


伺服器端名詞解釋

                伺服器端名詞                        解釋

                     bind                           dns服務安裝包

                  named                          dns服務名稱

            /etc/named.conf                dns服務主配置檔案

              /var/named                         資料目錄

                      53                            預設服務埠

              /etc/resolv.conf                dns指向檔案


安裝啟用dns服務

在雙網路卡虛擬主機westosa中安裝dns服務軟體包bind,安裝完成後啟動dns服務named,在防火牆中新增dns服務,重新整理火牆使設定生效


dnf install bind -y  下載dns服務

systemctl enable --now named    ##啟動dns服務named

firewall-cmd  --permanent  --add-service=dns    ##在防火牆中新增dns服務

firewall-cmd  --reload     ##重新整理火牆使設定生效

編輯修改dns服務的配置檔案 /etc/named.conf,內容如下:


            options {

 11         listen-on port 53 { any; };    ##在本地所有網路介面上開啟53埠

 

 19         allow-query     { any; };    ##允許查詢A記錄的客戶端列表

 

 20         forwarders { 114.114.114.114; };   ##使用國內域名解析伺服器源114.114.114.114進行資料快取(而不是根dns伺服器,節省時間)

 

 34         dnssec-validation no;    ##禁用dns合法檢測功能使dns伺服器能夠快取外部資訊到本機

編寫完成後重啟dns服務named


systemctl restart named

dns正向解析

編輯dns服務的配置檔案


vim /etc/named.conf 

//編輯內容

  # forwarders { 114.114.114.114; };   ##註釋掉

//

編輯記錄維護域名的語句塊的檔案


 vim /etc/named.rfc1912.zones   

//編輯內容

 29  zone "westos.org" IN {        ##編寫要維護的域名,設定當前伺服器型別為主dns

 30           type master;

 31           file "westos.org.zone";    ##指定進行解析動作時讀取的域名A記錄檔案

 32           allow-update { none; };     ##允許更新主機列表

 33   };

//

在dns服務的資料目錄/var/named下,複製域名A記錄檔案模板


33  cd /var/named/

35  cp -p named.localhost westos.org.zone

編輯複製的域名A記錄檔案westos.org.zone


37  vim /var/named/westos.org.zone  

//

$TTL 1D

@       IN SOA dns.westos.org. root.westos.org. (       ##修改@符號的值等於檔案中書寫的維護域名

                                        0       ; serial

                                        1D      ; refresh

                                        1H      ; retry

                                        1W      ; expire

                                        3H )    ; minimum

        NS      dns.westos.org.

dns     A       172.25.254.100      ##新增正向解析A記錄

www     A       172.25.254.200

www     A       172.25.254.77

//

此時可以dig書寫的域名,當同一個域名對應兩個ip時,dig時兩個ip會輪換


[root@westosb named]# dig

 

; <<>> DiG 9.11.13-RedHat-9.11.13-3.el8 <<>>

;; global options: +cmd

;; Got answer:

;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 12315

;; flags: qr aa rd ra; QUERY: 1, ANSWER: 2, AUTHORITY: 1, ADDITIONAL: 2

 

;; OPT PSEUDOSECTION:

; EDNS: version: 0, flags:; udp: 4096

; COOKIE: bf312063896e2484b41d08c0611484b485ff28d9836a33d8 (good)

;; QUESTION SECTION:

;. IN A

 

;; ANSWER SECTION:

. 86400 IN A 172.25.254.77 ##這樣輪換,別誤會 ^-^

. 86400 IN A 172.25.254.200

 

;; AUTHORITY SECTION:

westos.org. 86400 IN NS dns.westos.org.

 

;; ADDITIONAL SECTION:

dns.westos.org. 86400 IN A 172.25.254.100

 

;; Query time: 0 msec

;; SERVER: 127.0.0.1#53(127.0.0.1)

;; WHEN: Thu Aug 12 10:17:24 CST 2021

;; MSG SIZE  rcvd: 137

 

[root@westosb named]# dig

 

; <<>> DiG 9.11.13-RedHat-9.11.13-3.el8 <<>>

;; global options: +cmd

;; Got answer:

;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 47674

;; flags: qr aa rd ra; QUERY: 1, ANSWER: 2, AUTHORITY: 1, ADDITIONAL: 2

 

;; OPT PSEUDOSECTION:

; EDNS: version: 0, flags:; udp: 4096

; COOKIE: f56768c1f8a841a9f87f2373611484f7ed1c4a9affd41529 (good)

;; QUESTION SECTION:

;. IN A

 

;; ANSWER SECTION:

. 86400 IN A 172.25.254.200  ##這樣輪換,別誤會 ^-^

. 86400 IN A 172.25.254.77

 

;; AUTHORITY SECTION:

westos.org. 86400 IN NS dns.westos.org.

 

;; ADDITIONAL SECTION:

dns.westos.org. 86400 IN A 172.25.254.100

 

;; Query time: 0 msec

;; SERVER: 127.0.0.1#53(127.0.0.1)

;; WHEN: Thu Aug 12 10:18:31 CST 2021

;; MSG SIZE  rcvd: 137


dns規範域名轉換CNAME

編輯dns伺服器westosa的域名A記錄檔案


vim /var/named/westos.org.zone   

//

        NS      dns.westos.org.

dns     A       172.25.254.100

www     CNAME     ####新增規範域名轉換及對應的正向解析A記錄

   A       172.25.254.200

   A       172.25.254.77

//

重啟dns服務named


systemctl restart named 

此時在westosb中dig ,dns伺服器westosa會先對進行規範域名轉換


[root@westosb ~]# vim /etc/resolv.conf 

//修改DNS服務主機ip為DNS主服務機172.25.254.100的ip

nameserver 172.25.254.100

//

[root@westosb ~]# dig

 

; <<>> DiG 9.11.13-RedHat-9.11.13-3.el8 <<>>

;; global options: +cmd

;; Got answer:

;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 40358

;; flags: qr aa rd ra; QUERY: 1, ANSWER: 3, AUTHORITY: 1, ADDITIONAL: 2

 

;; OPT PSEUDOSECTION:

; EDNS: version: 0, flags:; udp: 4096

; COOKIE: dbde288f30205c9f0ac8706a61149bcc96437ead5e207ed3 (good)

;; QUESTION SECTION:

;. IN A

 

;; ANSWER SECTION:

. 86400 IN CNAME

86400 IN A 172.25.254.200

86400 IN A 172.25.254.77

 

;; AUTHORITY SECTION:

westos.org. 86400 IN NS dns.westos.org.

 

;; ADDITIONAL SECTION:

dns.westos.org. 86400 IN A 172.25.254.100

 

;; Query time: 0 msec

;; SERVER: 172.25.254.100#53(172.25.254.100)

;; WHEN: Thu Aug 12 11:55:56 CST 2021

;; MSG SIZE  rcvd: 157


 dns郵件記錄的正向解析

在郵件發westosb送方中安裝postfix、mailx


dnf install postfix mailx -y 

開啟postfix服務


systemctl start postfix.service 

編輯dns伺服器westosa的域名A記錄檔案,新增郵件解析記錄MX(1表示優先順序為1)


vim /var/named/westos.org.zone 

//新增內容

westos.org. MX 1  172.25.254.100.

//

重啟dns服務named


systemctl restart named

此時可以在westosb中傳送郵件給westos.org並檢視郵件的日誌檔案


[root@westosb ~]# mail root@westos.org 

Subject: dtd

wrgah

.

EOT

You have mail in /var/spool/mail/root

[root@westosb ~]# mailq

-Queue ID-  --Size-- ----Arrival Time---- -Sender/Recipient-------

EC75295995      430 Thu Aug 12 12:14:11  root@westosb.westos.org

              (connect to 172.25.254.100[172.25.254.100]:25: No route to host)

                                         root@westos.org

 

-- 0 Kbytes in 1 Request.

dns反向解析

dns反向解析ptr與正向解析是完全獨立的,在dns伺服器westosa中編寫/etc/named.rfc1912.zones指定反向解析ptr的維護網段和反向解析記錄檔案


vim /etc/named.rfc1912.zones

//編寫內容

53 zone "254.25.172.in-addr.arpa" IN {

 54           type master;

 55           file "172.25.254.ptr";

 56           allow-update { none; };

 57  };

//

重啟dns服務named


chibohandong

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/70026609/viewspace-2938049/,如需轉載,請註明出處,否則將追究法律責任。

相關文章