1. 程式人生 > >模擬DNS網絡訪問正向解析

模擬DNS網絡訪問正向解析

DNS;菜雞日常;

模擬網絡訪問解析
搭建局域網DNS解析,具體實現功能如下圖
註:該測試只有正向解析
項目流程圖

技術分享圖片
1. 項目前準備關閉防火墻和SELINUX,配置網絡

    ①開啟8臺機器
    ②關閉防火墻及selinux
                iptables -vnL                   #查看防火墻狀態
                systemctl stop firewall         #關閉防火墻
                getenforce                  #查看SELinux狀態
                setenforce 0                    #禁用SELinux
    ③示例配置網絡後面依此類推,不再演示
                vim > /etc/sysconfig/network-scripts <<EOF
                        DEVICE=ens37
                        ONBOOT=yes
                        BOOTPROTO=static
                        IPADDR=172.20.29.201
                        PREFIX=16
                        DNS1=114.114.114.114
                        DNS2=1.1.1.1
                        GATEWAY=172.20.0.1
                EOF
    上述基本環境搭建完成

2. 配置web網站信息

    ① 安裝httpd包
                配置172.20.29.201機器
                yum clean all                       #清除yum緩存
                yum install httpd -y                    #安裝httpd服務包
                cat > /var/www/html/index.html <EOF #添加一個頁面顯示作為查看測試結果
                    welcome magedu.com web1
                EOF
                systemctl start httpd               #開啟httpd服務
                systemctl enable httpd              #開機自動啟動httpd服務
    ② 打開網頁查看web1能否訪問
                curl 172.20.29.201

    ① 安裝httpd包
                配置172.20.29.202機器
                yum clean all                       #清除yum緩存
                yum install httpd -y                    #安裝httpd服務包
                cat > /var/www/html/index.html <EOF #添加一個頁面顯示作為查看測試結果
                    welcome magedu.com web2
                EOF
                systemctl start httpd               #開啟httpd服務
                systemctl enable httpd              #開機自動啟動httpd服務
    ② 打開網頁查看web2能否訪問
                curl 172.20.29.201

技術分享圖片

        到此,web網站基本搭建成功

3. 配置DNS主服務器

    ①安裝bind包
                配置172.20.29.203機器為DNS主服務器
                yum clean all                   #清除yum緩存
                yum install bind -y             #安裝bind包

    ②修改DNS主配置文件
                vim /etc/named.conf         #修改主配置文件
                    options {
                                    listen-on port 53 { localhost; };       #修改監聽地址為本機所有地址
                     #修改為默認所有人通過域名訪問,解析庫文件對應的單條A記錄
                                    allow-query     { any; };   
                     #指定204IP才能查詢解析本機所有的A記錄     
                                    allow-transfer  {172.20.29.204;};   
                    }

技術分享圖片

        vim /etc/named.rfc1912.zone         #修改主配置文件
                zone "magedu.com" IN {          #添加magedu.com域
                                type master;                #定於域類型為主域
                                file "magedu.com.zone";     #定義magedu.com域的解析庫文件
                };

    ③添加解析庫文件
                cat > /var/named/magedu.com.zone <<EOF
                $TTL 1D                     #定義服務器響應時間
                #定義主域名,郵件服務器域名,(版本號 拉取數據時間,拉取數據失敗重試時間,緩存過期時間,錯誤緩存存放時間)
                @ IN SOA dns1.magedu.com. admin.magedu.com. ( 1 1D 2H 3D 1H )
                                 NS  dns1       #定義DNS1服務器名稱
                                 NS  dns2       #定義DNS2服務器名稱
                dns1 A  172.20.29.205   #解析DNS1為com地址
                dns2 A  172.20.29.206   #解析DNS2為根地址
                websrv A        172.20.29.201   #解析2個web服務器實現負載均衡
                websrv A        172.20.29.202   
                www CNAME websrv        #定義別名
                EOF

    ④修改解析庫文件權限
                    chgrp named magedu.com.zone     #修改屬組為named
                    chmod 640 magedu.com.zone       #修改權限為640
                修改完成後如下:
                    -rw-r----- 1 root  named  201 Jun  1 21:16 magedu.com.zone

    ⑤開啟,調試服務
                systemctl start named               #開啟DNS服務
                systemctl enable named              #開機自動啟動DNS服務
                systemctl status named              #查看DNS服務狀態是否有錯誤

4. 配置DNS從服務器

    ①安裝bind包
                配置172.20.29.204機器為DNS從服務器
                yum clean all                   #清除yum緩存
                yum install bind -y             #安裝bind包
    ②修改DNS主配置文件
                vim /etc/named.conf         #修改主配置文件
                options {
                                listen-on port 53 { localhost; };       #修改監聽地址為本機所有地址
                 #修改為默認所有人通過域名訪問,解析庫文件對應的單條A記錄
                                allow-query     { any; };    
                #不允許任何端口解析本機所有的A記錄          
                                allow-transfer  {none;};                
                }

技術分享圖片

    vim /etc/named.rfc1912.zone         #修改主配置文件
                zone "magedu.com" IN {          #添加magedu.com域
                                type slave;             #類型定義為從域
                                masters { 172.20.29.203;};  #指定主域IP地址
                                file "slaves/magedu.com.zone.slave";    #定義magedu.com域的解析庫文件
                };

    ③開啟,調試服務
                systemctl start named               #開啟DNS服務
                systemctl enable named              #開機自動啟動DNS服務
                systemctl status named              #查看DNS服務狀態是否有錯誤
    ④查看從DNS服務器是否從主DNS服務器拉取解析庫文件
                ls -l /var/named/slaves/
    同步完成後如下:
                -rw-r--r-- 1 named named 377 Jun  1 21:37 magedu.com.zone.slave

5. 配置COM服務器

    ①安裝bind包
                配置172.20.29.205機器為com服務器
                yum clean all                   #清除yum緩存
                yum install bind -y             #安裝bind包

    ②修改DNS主配置文件
                vim /etc/named.conf         #修改主配置文件
                options {
                                listen-on port 53 { localhost; };       #修改監聽地址為本機所有地址
                 #修改為默認所有人通過域名訪問,解析庫文件對應的單條A記錄
                                allow-query     { any; };           
                }
                dnssec-enable no;   #關閉安全協議功能
                dnssec-validation no;

技術分享圖片

                vim /etc/named.rfc1912.zone         #修改主配置文件
                    zone "com" IN {                 #添加com域
                                    type master;                    #定義類型為主域
                                    file "com.zone";                #定義com.com域的解析庫文件
                    };

    ③添加解析庫文件
                cat > /var/named/com.zone <<EOF
                            $TTL 1D                     #定義服務器響應時間
                            #定義主域名,郵件服務器域名,(版本號 拉取數據時間,拉取數據失敗重試時間,緩存過期存放時間,錯誤緩存存放時間)                    
                            @ IN SOA dns.com. admin.com. ( 1 1D 2H 3D 1H )
                             NS  dns1            #定義DNS1服務器名稱 
                            magedu   NS  dns2               #定義DNS2服務器名稱 
                            magedu   NS  dns3               #定義DNS3務器名稱 
                            dns1 A  172.20.29.205           #解析DHS1為本機地址
                            dns2 A  172.20.29.203           #解析DHS2為主DNS服務器
                            dns3 A  172.20.29.204           #解析DHS3為從DNS服務器
                            EOF

    ④修改解析庫文件權限
                chgrp named com.zone        #修改屬組為named
                chmod 640 com.zone      #修改權限為640
                修改完成後如下:
                    -rw-r----- 1 root  named  167 Jun  1 22:02 com.zone

⑤開啟調試服務
systemctl start named #開啟DNS服務
systemctl enable named #開機自動啟動DNS服務
systemctl status named #查看DNS服務狀態是否有錯誤

6. 配置根域

    ①安裝bind包
                配置172.20.29.206機器為根服務器
                yum clean all                   #清除yum緩存
                yum install bind -y             #安裝bind包
    ②修改DNS主配置文件
                vim /etc/named.conf         #修改主配置文件
                options {
                                listen-on port 53 { localhost; };       #修改監聽地址為本機所有地址
                 #修改為默認所有人通過域名訪問,解析庫文件對應的單條A記錄
                                allow-query     { any; };           
                }
                dnssec-enable no;   #關閉安全協議功能
                dnssec-validation no;
刪除/etc/named.conf裏定義的根記錄,定義本機為根
                #zone "." IN {
                #       type hint;
                #       file "named.ca";
                #};

技術分享圖片

        vim /etc/named.rfc1912.zone         #修改主配置文件
                zone "." IN {                       #添加根域
                                type master;                    #定義根域為主服務器
                                file "root.zone";               #定義com.com域的解析庫文件
                };

    ③添加解析庫文件
                cat > /var/named/root.zone <<EOF
                $TTL 1D                     #定義服務器響應時間
                #定義主域名,郵件服務器域名,(版本號 拉取數據時間,拉取數據失敗重試時間,緩存過期存放時間,錯誤緩存存放時間)
                @ IN SOA dns1. admin. ( 1 1D 2H 3D 1H )
                                        NS  dns1                #定義DNS1服務器名稱
                com     NS  dns2                #定義DNS2服務器名稱
                dns1 A  172.20.29.206           #解析DHS2為根域服務器
                dns2 A  172.20.29.205           #解析DHS2為com服務器
                EOF

    ④修改解析庫文件權限
                chgrp named com.zone        #修改屬組為named
                chmod 640 com.zone      #修改權限為640
                修改完成後如下:
                    -rw-r----- 1 root  named  167 Jun  1 22:02 com.zone
    ⑤開啟,調試服務
                systemctl start named               #開啟DNS服務
                systemctl enable named              #開機自動啟動DNS服務
                systemctl status named              #查看DNS服務狀態是否有錯誤

7. 配置電信服務器

    ①安裝bind包
                配置172.20.29.207機器為轉發服務器
                yum clean all                   #清除yum緩存
                yum install bind -y             #安裝bind包

    ②修改DNS主配置文件
                vim /etc/named.conf         #修改主配置文件
                options {
                                listen-on port 53 { localhost; };       #修改監聽地址為本機所有地址
                 #修改為默認所有人通過域名訪問,解析庫文件對應的單條A記錄
                                allow-query     { any; };
                }
                dnssec-enable no;
                dnssec-validation no;

    ③開啟,調試服務
                systemctl start named               #開啟DNS服務
                systemctl enable named              #開機自動啟動DNS服務
                systemctl status named              #查看DNS服務狀態是否有錯誤

8. 用戶訪問電信服務器查看結果

    ①修改DNS指向電信服務器
                cat > /etc/resolv.conf <<EOF
                search localdomain
                nameserver 172.20.29.207
                EOF
    ②測試訪問結果
                curl www.magedu.com

模擬DNS網絡訪問正向解析