15: 快取DNS 、 Split分離解析 、 電子郵件通訊 、 Web伺服器專案實戰 、 總結和答疑

weixin_49048728發表於2020-11-16
Top

NSD SERVICES DAY04

  1. 案例1:搭建並測試快取DNS
  2. 案例2:配置並驗證Split分離解析
  3. 案例3:NTP時間同步
  4. 案例4:準備郵件案例環境

1 案例1:搭建並測試快取DNS

1.1 問題

本例要求熟悉快取DNS的工作過程,準備一臺可上網的RHEL7虛擬機器,並完成下列任務:

  1. 安裝 bind、bind-chroot 包
  2. 搭建並測試基於全域性轉發器的快取DNS

注意:若所在機房不具備訪問網際網路DNS條件,此案例改由學員自行在家完成。

1.2 方案

權威/官方DNS伺服器的特點:

  • 至少管理一個DNS區域,,需要IANA等官方機構授權
  • 典型應用:根域DNS、一級域DNS、二級域DNS、三級域DNS、.. ..

快取DNS伺服器的特點:

  • 不需要管理任何DNS區域,但是能夠替客戶機查詢,而且通過快取、複用查詢結果來加快響應速度
  • 典型應用:ISP服務商、企業區域網

快取DNS伺服器的解析記錄來源:

  • 方式1:全域性轉發:將請求轉發給指定的公共DNS(其他快取DNS),請求遞迴服務
  • 方式2:根域迭代:依次向根、一級、二級……域的DNS伺服器迭代

1.3 步驟

實現此案例需要按照如下步驟進行。

步驟一:為虛擬機器pc207提供上網條件

1)為虛擬機器新增一塊新的網路卡,選擇NAT或Bridge模式

若選擇NAT模式(地址轉換),則新加網路卡的上網引數由虛擬化平臺自動設定。

若選擇Bridge模式(橋接),則新加網路卡的上網引數需要參考真實網路的主機,必要時請網路管理員提供支援。

此處所列地址資訊可幫助大家理解上網條件,但不作為練習的配置依據:

[root@pc207 ~]# ifconfig  eth1  					//檢查新增網路卡的IP地址
eth1: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.70.129  netmask 255.255.255.0  broadcast 192.168.70.255
.. ..
[root@pc207 ~]# route  -n  						//確認已配好預設閘道器
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
0.0.0.0         192.168.70.2    0.0.0.0         UG    100    0        0 eth1
192.168.70.0    0.0.0.0         255.255.255.0   U     100    0        0 eth1
.. ..
[root@pc207 ~]# cat  /etc/resolv.conf  			//確認第一DNS為外部可用DNS地址
nameserver 192.168.70.2
.. ..

2)確保從主機pc207可訪問到外部DNS

訪問預設DNS可用(本機正常連網需要):

[root@pc207 ~]# host  www.qq.com
www.qq.com has address 111.30.132.101
www.qq.com has IPv6 address 240e:e1:8100:28::2:16

訪問指定DNS可用(全域性轉發的前提條件):

[root@pc207 ~]# host  www.qq.com  202.106.0.20  	//國內公共DNS伺服器之一
Using domain server:
Name: 202.106.0.20
Address: 202.106.0.20#53
Aliases: 

www.qq.com has address 111.30.132.101
www.qq.com is an alias for qq.com.edgesuite.net.
qq.com.edgesuite.net is an alias for a1574.b.akamai.net.
www.qq.com is an alias for qq.com.edgesuite.net.
qq.com.edgesuite.net is an alias for a1574.b.akamai.net.

步驟二:將pc207配置為快取DNS(全域性轉發式)


1)安裝bind、bind-chroot軟體包


[root@pc207 ~]# yum  -y  install  bind  bind-chroot
… …

2)建立主配置檔案/etc/named.conf


當收到來自客戶機的DNS查詢請求時,轉發到外網的其他DNS伺服器


[root@pc207 ~]# vim  /etc/named.conf
options {
forwarders { 202.106.0.20; };
};

3)啟動系統服務named,並設定開機自啟


[root@pc207 ~]# systemctl  restart  named
[root@pc207 ~]# systemctl enable named

4)可向快取DNS伺服器pc207查詢到公共域名(百度、網易等站點)


[root@pc207 ~]# host  www.baidu.com  192.168.4.207   		//查百度的站點IP
Using domain server:
Name: 192.168.4.207
Address: 192.168.4.207#53
Aliases:

www.baidu.com is an alias for www.a.shifen.com.
www.a.shifen.com has address 111.13.100.92
www.a.shifen.com has address 111.13.100.91

[root@pc207 ~]# host www.163.com 192.168.4.207 //查網易的站點IP
Using domain server:
Name: 192.168.4.207
Address: 192.168.4.207#53
Aliases:

www.163.com is an alias for www.163.com.lxdns.com.
www.163.com.lxdns.com is an alias for 163.xdwscache.ourglb0.com.
163.xdwscache.ourglb0.com has address 111.11.31.104
163.xdwscache.ourglb0.com has address 111.11.31.114



2 案例2:配置並驗證Split分離解析


2.1 問題


本例要求配置一臺智慧DNS伺服器,針對同一個FQDN,當不同的客戶機來查詢時能夠給出不同的答案。需要完成下列任務:



  1. 從主機192.168.4.207查詢時,結果為:www.tedu.cn —> 192.168.4.100
  • 從其他客戶端查詢時,www.tedu.cn ---> 1.2.3.4
  • 2.2 方案

    在配置DNS伺服器時,通過view檢視設定來區分不同客戶機、不同地址庫:

    view  "檢視1" {
        match-clients { 客戶機地址1; .. .. ; };  		//匹配第1類客戶機地址
        zone "目標域名" IN {  							//同一個DNS區域
            type master;
            file "地址庫1"; 							//第1份地址庫
        };
    };
    view  "檢視2" {
        match-clients { 客戶機地址2; .. .. ; };  		//匹配第2類客戶機地址
        match-clients { any; };  						//匹配任意地址
        zone "目標域名" IN {  							//同一個DNS區域
            type master;
            file "地址庫2"; 							//第2份地址庫
        };
    };
    .. ..
    view  "檢視n" {
        match-clients { any; };  						//匹配任意地址
        zone "目標域名" IN {  							//同一個DNS區域
            type master;
            file "地址庫n"; 							//第n份地址庫
        };
    };
    

    2.3 步驟

    實現此案例需要按照如下步驟進行。

    步驟一:配置Split分離解析

    1)為tedu.cn區域建立兩份解析記錄檔案

    第一份解析記錄檔案提供給客戶機192.168.4.207、網段192.168.7.0/24,對應目標域名www.tedu.cn的A記錄地址為192.168.4.100。相關操作及配置如下:

    [root@svr7 ~]# cd  /var/named/
    [root@svr7 named]# cp  -p  tedu.cn.zone  tedu.cn.zone.lan
    [root@svr7 named]# vim  tedu.cn.zone.lan
    $TTL 1D
    @   IN SOA  @ rname.invalid. (
                        0   ; serial
                        1D  ; refresh
                        1H  ; retry
                        1W  ; expire
                        3H )    ; minimum
    @       NS  svr7.tedu.cn.
    svr7    A   192.168.4.7
    pc207   A   192.168.4.207
    www     A   192.168.4.100
    

    第二份解析記錄檔案提供給其他客戶機,對應目標域名www.tedu.cn的A記錄地址為1.2.3.4。相關操作及配置如下:

    [root@svr7 named]# cp  -p  tedu.cn.zone  tedu.cn.zone.other
    [root@svr7 named]# vim  tedu.cn.zone.other
    $TTL 1D
    @   IN SOA  @ rname.invalid. (
                        0   ; serial
                        1D  ; refresh
                        1H  ; retry
                        1W  ; expire
                        3H )    ; minimum
    @       NS  svr7.tedu.cn.
    svr7    A   192.168.4.7
    pc207   A   192.168.4.207
    www     A   1.2.3.4
    

    2)修改named.conf配置檔案,定義兩個view,分別呼叫不同解析記錄檔案

    [root@svr7 ~]# vim  /etc/named.conf
    options {
            directory  "/var/named";
    };
    acl "mylan" {  									//名為mylan的列表
            192.168.4.207; 192.168.7.0/24;
    };
    .. ..
    view "mylan" {
        match-clients { mylan; };  					//檢查客戶機地址是否匹配此列表
        zone "tedu.cn" IN {
            type master;
            file "tedu.cn.zone.lan";
        };
    };
    view "other" {
        match-clients { any; };  						//匹配任意客戶機地址
        zone "tedu.cn" IN {
            type master;
            file "tedu.cn.zone.other";
        };
    };
    

    3)重啟named服務

    [root@svr7 ~]# systemctl  restart  named
    

    步驟二:測試分離解析效果

    1)從mylan地址列表中的客戶機查詢

    在客戶機192.168.4.207(或網段192.168.7.0/24內的任意客戶機)上查詢www.tedu.cn,結果是 192.168.4.100:

    [root@pc207 ~]# host  www.tedu.cn 192.168.4.7
    Using domain server:
    Name: 192.168.4.7
    Address: 192.168.4.7#53
    Aliases: 
    

    www.tedu.cn has address 192.168.4.100

    2)從其他客戶機查詢


    在DNS伺服器本機或CentOS真機上查詢www.tedu.cn時,結果為 1.2.3.4:


    [root@svr7 ~]# host  www.tedu.cn 192.168.4.7
    Using domain server:
    Name: 192.168.4.7
    Address: 192.168.4.7#53
    Aliases:

    www.tedu.cn has address 1.2.3.4



    3 案例3:NTP時間同步


    3.1 問題


    本例要求配置一臺NTP時間伺服器,需要完成下列任務:



    1. 部署一臺NTP時間伺服器
  • 設定時間伺服器上層與0.centos.pool.ntp.org同步
  • 設定本地伺服器層級數量為10
  • 允許192.168.4.0/24網路的主機同步時間
  • 客戶端驗證時間是否同步
  • 3.2 步驟

    實現此案例需要按照如下步驟進行。

    步驟一:虛擬機器A構建NTP時間伺服器

    1)使用yum安裝bind、bind-chroot軟體包

    [root@svr7 ~]# yum -y install chrony
    已載入外掛:fastestmirror, langpacks
    Loading mirror speeds from cached hostfile
    dvd                                               | 3.6 kB     00:00     
    軟體包 chrony-3.2-2.el7.x86_64 已安裝並且是最新版本
    無須任何處理
    [root@svr7 ~]# rpm -q chrony
    chrony-3.2-2.el7.x86_64
    [root@svr7 ~]#
    

    2)修改配置檔案/etc/chrony.conf

    [root@proxy ~]# vim  /etc/chrony.conf
    server 0.centos.pool.ntp.org iburst         //server使用者客戶端指向上層NTP伺服器
    allow 192.168.4.0/24		//允許那個IP或網路訪問NTP
    local stratum 10			//設定NTP伺服器的層數量
    .. ..
    

    3)重啟chronyd服務

    [root@mail ~]# systemctl  restart chronyd
    [root@svr7 ~]# firewall-cmd --set-default-zone=trusted   #設定防火牆
    

    步驟二:虛擬機器B構建NTP時間同步的客戶端

    1)修改/etc/chrony.conf檔案

    [root@pc207 ~]# vim /etc/chrony.conf
    server 192.168.4.7 iburst
    

    2)重啟chronyd服務

    [root@pc207 ~]# systemctl  restart chronyd
    [root@svr7 ~]# firewall-cmd --set-default-zone=trusted  #設定防火牆
    

    3)修改時間進行測試

    [root@pc207 ~]# date -s "2008-9-1"
    2008年 09月 01日 星期一 00:00:00 CST
    [root@pc207 ~]# date
    2008年 09月 01日 星期一 00:00:01 CST
    [root@pc207 ~]# systemctl restart chronyd
    [root@pc207 ~]# date
    2008年 09月 01日 星期一 00:01:42 CST
    [root@pc207 ~]# date
    2020年 04月 13日 星期一 18:44:56 CST
    [root@pc207 ~]# chronyc  sources –v     #專業檢視時間服務端資訊命令
    

    4 案例4:準備郵件案例環境

    4.1 問題

    本例要求配置一臺智慧DNS伺服器,針對同一個FQDN,當不同的客戶機來查詢時能夠給出不同的答案。需要完成下列任務:

    1. 準備DNS伺服器
    2. 主機名:mail.example.com
    3. IP地址:192.168.4.7/24
    4. 為 example.com 域提供郵件相關解析

    4.2 步驟

    實現此案例需要按照如下步驟進行。

    步驟一:為tedu.cn域搭建DNS服務

    1)使用yum安裝bind、bind-chroot軟體包

    [root@mail ~]# yum -y install bind bind-chroot
    .. ..
    

    2)建立配置檔案named.conf

    [root@mail ~]# mv /etc/named.conf /etc/named.conf.bak 	//備份預設配置
    [root@mail ~]# vim /etc/named.conf
    options  {
            directory  "/var/named";
    };
    zone "example.com" IN {  								//定義DNS父域
            type master;
            file "example.com.zone";
    };
    

    3)建立解析記錄檔案

    注意新增mail.tedu.cn的解析記錄:

    [root@mail ~]# vim /var/named/example.com.zone
    $TTL   86400
    @   IN   SOA   @    root.example.com.  (
        2015052201 
        4H 
        15M 
        4H
        1D
    )
    example.com.      IN      NS        svr7.example.com.
    example.com.   	IN      MX   10  	mail.example.com.
    svr7    IN      A       192.168.4.7 
    mail    IN      A       192.168.4.7
    

    4)啟動named服務

    [root@mail ~]# systemctl  restart named
    

    5)將本機配置為DNS客戶端,測試域名解析

    修改/etc/resolv.conf檔案,新增本機作為DNS伺服器:

    [root@mail ~]# vim /etc/resolv.conf
    nameserver 192.168.4.7
    

    查詢區域example.com的MX記錄,結果為mail.example.com.:

    [root@pc205 ~]# host -t mx example.com
    tedu.cn mail is handled by 10 mail.example.com.
    

    查詢域名mail.example.com的A記錄,結果為192.168.4.7:

    [root@pc205 ~]# host mail.example.com
    mail.example.com has address 192.168.4.7
    

相關文章