DNS部署(二)DNS的解析(正向、反向、雙向、郵件解析及域名轉換)

1.DNS的正向解析

1.DNS中的配置文件:
#主配置文件:/etc/named.conf
#子配置文件:/etc/name.rfc1912.zones
#數據目錄:/var/named
2.當DNS客戶端請求解析某個域名時,DNS服務器通過正向查找,並返回給DNS客戶端對應的IP地址

客戶主機中進行:
<1>進入主配置文件中將forwarders這行的內容刪除或註釋掉,並使服務重啓

[[email protected] named]# vim /etc/named.conf
[[email protected] named]# systemctl restart named

在這裏插入圖片描述
<2>進入數據目錄並進行查看,然後將正向解析配置模板在此目錄下複製以便於創建解析庫文件

[[email protected] ~]# cd /var/named
[[email protected] named]# ls
[[email protected] named]# cp -p named.localhost westos.com.zone

在這裏插入圖片描述
注意:
1.複製時一定要注意加-p,因爲要將其權限和屬性一起復制
2.named.localhost中放的時172.0.0.1這個dns服務器
<3>進入到子配置文件中修改配置文件

[[email protected] named]# vim /etc/named.rfc1912.zones

在這裏插入圖片描述
在配置文件中增加以下內容:

zone "westos.com" IN {
        type master;
        file "westos.com.zone";
        allow-update { none; };
};

在這裏插入圖片描述
<4>進入解析庫文件,修改其中的內容,其解析庫文件中的語法相當嚴格,故意不在域名後加上點,利用日誌文件查看其錯誤並解決
-1-修改解析庫文件並生效,會發現無法重新啓動服務

[[email protected] named]# vim westos.com.zone
[[email protected] named]# systemctl restart named

在這裏插入圖片描述在這裏插入圖片描述
查看配置文件,內容如下:

$TTL 1D
@       IN SOA  dns.westos.com. bai.westos.com. (
                                        0       ; serial
                                        1D      ; refresh
                                        1H      ; retry
                                        1W      ; expire
                                        3H )    ; minimum
        NS      dns.westos.com
dns     A       172.25.254.166
www     CNAME   bbs.a.westos.com.
bbs.a   A       172.25.254.222

在這裏插入圖片描述

-2-清空日誌文件後,再次重啓服務,報錯後,查看日誌文件下的內容

[[email protected] named]# > /var/log/messages
[[email protected] named]# systemctl restart named
[[email protected] named]# cat /var/log/messages

在這裏插入圖片描述
分析:報錯的原因是因爲在域名後少加了個點,日誌中的報錯說明由於沒有加點,故不認爲字符串結束,會繼續爲其補充。
-3-根據日誌中的報錯再次修改後,重新啓動服務成功

[[email protected] named]# vim westos.com.zone
[[email protected] named]# systemctl restart namedi

在這裏插入圖片描述
正確的配置文件中的內容如下:

$TTL 1D
@       IN SOA  dns.westos.com. bai.westos.com. (
                                        0       ; serial
                                        1D      ; refresh
                                        1H      ; retry
                                        1W      ; expire
                                        3H )    ; minimum
        NS      dns.westos.com.
dns     A       172.25.254.166
www     CNAME   bbs.a.westos.com.
bbs.a   A       172.25.254.222

在這裏插入圖片描述
測試主機上:
<5>進入/etc/resolv.conf中,併爲其添加解析域以及ip

[[email protected] ~]# vim /etc/resolv.conf

添加解析域以及ip:
在這裏插入圖片描述
<6>使用dig命令可以查看到www.westos.com解析的ip以及dns服務器名稱和dns服務器ip

[[email protected] ~]# dig www.westos.com

在這裏插入圖片描述
分析:
1.DNS的正相解析
1.維護的域名叫.(即根)
2.域的設定相當於分離出來了,在主配置文件裏面 include 「/etc/named.rfc1912.zones「更好的被讀取,在主配置文件裏寫的和在全局裏寫的一樣
3.複製時要加-p(重啓會報錯,查詢),權限參數
[email protected]:變量,在維護的域裏面,引號中的內容,會自動填充
5.如果字符串的值不以.結尾,例如haha(即代表haa.westos.con),把域名省略掉,告訴字符串已經完成,不需要再補齊了
6.語法非常嚴格,一點都不能錯
7.解析庫文件中的解釋:客戶可以把信息保存1天,給當前維護的人查看,refresh刷新主機的緩存時間,retry1個小時之後可以重新測試,expire過期時間1萬,minimum最小緩存時間是3小時,NS:nameserver(看到的服務器的名字)

2.DNS域名轉換(相當於一個域名對應兩個ip,進行輪循)

<1>進入解析庫文件修改文件內容並使服務生效(在客戶端進行)

[[email protected] named]# vim westos.com.zone
[[email protected] named]# systemctl restart named

在這裏插入圖片描述
文件中修改的內容如下:

$TTL 1D
@       IN SOA  dns.westos.com. bai.westos.com. (
                                        0       ; serial
                                        1D      ; refresh
                                        1H      ; retry
                                        1W      ; expire
                                        3H )    ; minimum
                NS      dns.westos.com.
dns             A       172.25.254.166
www             CNAME   bbs.a.westos.com.
bbs.a           A       172.25.254.222	
bbs.a           A       172.25.254.111

在這裏插入圖片描述
<2>檢測域(在測試端進行)

[[email protected] ~]# dig www.westos.com	##首先檢測域
[[email protected] ~]# dig www.westos.com	##過一會再檢測域,發現ip的順序發生了改變(有延時)

第一次檢測:
在這裏插入圖片描述
第二次檢測:
在這裏插入圖片描述

3.DNS郵件解析

<1>進入正向解析庫文件,對文件的內容進行修改並進行生效

[[email protected] named]# vim westos.com.zone(在/var/named)
[[email protected] named]# systemctl restart named

在這裏插入圖片描述
添加MX記錄,修改後的內容如下:

$TTL 1D
@       IN SOA  dns.westos.com. bai.westos.com. (
                                        0       ; serial
                                        1D      ; refresh
                                        1H      ; retry
                                        1W      ; expire
                                        3H )    ; minimum
                NS      dns.westos.com.
dns             A       172.25.254.166
www             CNAME   bbs.a.westos.com.
bbs.a           A       172.25.254.222
bbs.a           A       172.25.254.11
westos.com.     MX 1    mail.westos.com.	##域名westos.com代表「發送郵件」的ip
mail            A       172.25.254.155		##mail代表郵件發送的ip爲172.25.254.155(注意:ip爲172.25.254.155的主機一定要關閉防火牆)

<2>給ip爲172.25.254.155的主機發送郵件內容(輸入一個域名,即會依次類推到最終要到達的ip)

[[email protected] named]# mail [email protected]

在這裏插入圖片描述
注意:輸入「.」之後便會退出郵件的寫入
<3>查看郵件是否發送,發現mail中沒有郵件,說明郵件已經發送

[[email protected] named]# > /var/log/maillog	##清空郵件發送的日誌
[[email protected] named]# mail	##查看郵件是否發送,當顯示No mail for root說明郵件已經發送

在這裏插入圖片描述
<4>查看郵件隊列。此時連接顯示的剛纔指定的ip,發現主機的ip爲172.25.254.155的主機拒絕接收(如果要使郵件可以接收,需要配置信息,這裏就不說了)

[[email protected] named]# mailq

在這裏插入圖片描述
<5>刪除郵件隊列中的內容並進行查看

[[email protected] named]# postsuper -d EBC70289921	##刪除郵件隊列中指定的Queue ID
[[email protected] named]# mailq

在這裏插入圖片描述
<6>檢測要維護的域,發現成功

[[email protected] named]# dig -t mx westos.com

在這裏插入圖片描述
補充:
MX的記錄也可以寫成如下格式
<1>進入配置文件修改內容並使服務生效

[[email protected] named]# vim westos.com.zone
[[email protected] named]# systemctl restart named

在這裏插入圖片描述

配置文件中的內容如下:

$TTL 1D
@       IN SOA  dns.westos.com. bai.westos.com. (
                                        0       ; serial
                                        1D      ; refresh
                                        1H      ; retry
                                        1W      ; expire
                                        3H )    ; minimum
                NS      dns.westos.com.
dns             A       172.25.254.166
www             CNAME   bbs.a.westos.com.
bbs.a           A       172.25.254.222
bbs.a           A       172.25.254.11
westos.com.     MX 10   mx1.westos.com.	##MX x(隨意)
mx1             A       172.25.254.155

在這裏插入圖片描述
<8>檢測要維護的域

[[email protected] named]# dig -t mx westos.com

在這裏插入圖片描述
注意:最後的dig一定要輸入正確的域名

4.DNS反向解析

解釋:用於IP地址到域名的映射,當DNS客戶端請求解析某個IP地址時,DNS服務器通過反向查找,並返回給DNS客戶端對應的域名
<1>進入/etc/named.rfc1912.zones進行修改

[[email protected] ~]# vim /etc/named.rfc1912.zones

在這裏插入圖片描述
在配置文件中加入以下內容:

zone "254.25.172.in-addr.arpa" IN {
        type master;
        file "172.25.254.ptr";
        allow-update { none; };
};

在這裏插入圖片描述
<2>進入/var/named目錄,將反向解析的模板複製到172.25.254.ptr文件

[[email protected] ~]# cd /var/named
[[email protected] named]# cp -p named.loopback 172.25.254.ptr

在這裏插入圖片描述
<3>編輯172.25.254.ptr文件並生效

[[email protected] named]# vim 172.25.254.ptr
[[email protected] named]# systemctl restart named

編輯的內容如下:

$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.128
100     PTR     dns.westos.com.
111     PTR     www.westos.com.
222     PTR     bbs.westos.com.

在這裏插入圖片描述
<4>試圖解析172.25.254.111,發現可以成功解析(要開啓name的服務)

[[email protected] named]# dig -x 172.25.254.111

在這裏插入圖片描述
<5>試圖解析172.25.254.222,發現可以成功解析

[[email protected] named]# dig -x 172.25.254.222

在這裏插入圖片描述

5.DNS雙向解析

解釋:雙向解析即在不同的主機中,當訪問同一個域名時,會出現不同的ip
<1>將正向解析庫進行復制,並編輯文件中的內容(即修改別的主機訪問時的ip)

[[email protected] named]# cp -p westos.com.zone westos.com.inter
[[email protected] named]# ls
[[email protected] named]# vim westos.com.inter

在這裏插入圖片描述
修改westos.com.inter中的內容(將所有的172.25.254修改成192.168.0)

$TTL 1D
@       IN SOA  dns.westos.com. bai.westos.com. (
                                        0       ; serial
                                        1D      ; refresh
                                        1H      ; retry
                                        1W      ; expire
                                        3H )    ; minimum
                NS      dns.westos.com.
dns             A       192.168.0.166
www             CNAME   bbs.a.westos.com.
bbs.a           A       192.168.0.222
bbs.a           A       192.168.0.11
westos.com.     MX 1    mail.westos.com.
mail1           A       192.168.0.155

在這裏插入圖片描述
<2>將子配置文件進行復制,並編輯文件中的內容

[[email protected] named]# cp -p /etc/named.rfc1912.zones /etc/named.rfc1912.inters
[[email protected] named]# vim /etc/named.rfc1912.inters

在這裏插入圖片描述
修改的內容如下:

zone "westos.com" IN {
        type master;
        file "westos.com.inter";
        allow-update { none; };
};

在這裏插入圖片描述
<3>在服務端中進入主配置文件修改以下內容並生效

[[email protected] named]# vim /etc/named.conf
[[email protected] named]# systemctl restart named

在這裏插入圖片描述
修改的內容如下(將域的解析分成兩部分,一部分爲本機訪問時的解析域名的配置,一部分爲除了本機外的所有人訪問時的解析域名的配置,根域名必須包含在view內):

/*
zone "." IN {	##將其根域名註釋掉,分別放到以下兩部分的域的解析
        type hint;
        file "named.ca";
};
*/
view localhost{
        match-clients {localhost;};
         zone "." IN {
          type hint;
          file "named.ca";
         };
        include "/etc/named.rfc1912.zones";	##將子配置文件分開放置
};
 view internet{
          match-clients {any;};
           zone "." IN {
            type hint;
            file "named.ca";
           };
          include "/etc/named.rfc1912.inters";	##將子配置文件分開放置
  };

在這裏插入圖片描述
<4>查看服務端和客戶端的域名是否都是服務端

[[email protected] ~]# vim /etc/resolv.conf
[[email protected] ~]# vim /etc/resolv.conf

在這裏插入圖片描述
服務端解析文件:
在這裏插入圖片描述
客戶端解析文件:
在這裏插入圖片描述
<5>查看服務端的火牆,如果是開着的,則關閉服務端的火牆

[[email protected] named]# systemctl status firewalld

在這裏插入圖片描述
<6>在服務端進行域名的解析,發現解析的網段與設置的localhost一樣

[[email protected] ~]# dig www.westos.com

在這裏插入圖片描述
<7>在客戶端進行域名的解析,發現同一個域名,但解析的內容不同,因爲是文件中是除了本機外的所有主機,在訪問時,都是另外一個網段

[[email protected] ~]# dig www.westos.com

在這裏插入圖片描述 注意: 實驗做完後,一定要將主配置文件中的域的解析進行還原,否則會影響接下來的實驗