模拟DNS网络访问正向解析

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了模拟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网络访问正向解析的主要内容,如果未能解决你的问题,请参考以下文章

DNS域名解析服务(正向解析反向解析)

CentOS7简单搭建DNS服务

使用Bind提供域名解析服务(正向解析)

DNS域名解析服务 -----正向解析反向解析简介

搭建DNS服务,正向解析和反向解析搭建DNS服务器

CentOS 7系统搭建DNS服务(正向解析反向解析主从同步)