DNS域名解析的分离解析

一.DNS介绍

        DNS域名解析是一种将域名转换为IP地址的服务,在互联网上访问网站时,输入的通常是网站的域名,而计算机在通信时则使用IP地址。因此,DNS域名解析就是将用户输入的域名解析为对应的IP地址,以便计算机能够找到并访问目标网站。

具体来说,DNS域名解析的过程如下:

  1. 当用户输入一个域名并尝试访问时,计算机会首先向本地DNS服务器发出查询请求。
  2. 本地DNS服务器会检查其缓存中是否有该域名的解析记录。如果有,则直接返回对应的IP地址;如果没有,则向根域名服务器发出查询请求。
  3. 根域名服务器会返回该域名所属顶级域名(如.com、.cn等)的权威DNS服务器的地址。
  4. 本地DNS服务器再向该权威DNS服务器发出查询请求,获取该域名的IP地址。
  5. 权威DNS服务器会返回该域名的IP地址给本地DNS服务器。
  6. 本地DNS服务器将获取到的IP地址缓存起来,并返回给用户计算机。

这样,用户计算机就可以根据获取的IP地址访问目标网站了。同时,由于本地DNS服务器已经缓存了该域名的解析记录,所以下次用户再次访问该网站时,可以直接从缓存中获取IP地址,提高了访问速度。

二.分离解析简介

        分离解析的域名服务器实际也是主域名服务器,这里主要是指根据不同的客户端提供不同的域名解析记录。如来自内网和来自外网的客户端(不同网段)请求解析同一域名时,为其提供不同的解析结果。

 如何进行相关配置呢?在下面我将在一个地址为192.168.10.101/24的主服务器上演示相关配置。

三.实现分离解析

1.部署环境

  • ifconfig命令查看网卡的名称
  • 为服务器添加两个网卡

        ens33网卡的桥接不变(NAT模式)→内网客户机192.168.10.106(NAT模式)

        ens36网卡桥接到仅主机模式→外网客户机172.16.16.106,桥接也为仅主机模式

  • 修改两个网卡的IP地址
[root@localhost ~]# cp /etc/sysconfig/network-scripts/ifcfg-ens33 /etc/sysconfig/network-scripts/ifcfg-ens36
[root@localhost ~]# vim /etc/sysconfig/network-scripts/ifcfg-ens33         //修改其IP地址为192.168.10.101
[root@localhost ~]# vim /etc/sysconfig/network-scripts/ifcfg-ens36         //修改其IP地址为173.16.16.101
[root@localhost ~]# systemctl restart network

注意修改完成后要使用systemctl restart network 重启网络

  • 安装bind软件包

bind软件包提供了完整的DNS功能,包括域名解析、区域管理和反向解析等;是目前世界上使用最为广泛的DNS服务器软件。

[root@localhost ~]# yum -y install bind
[root@localhost ~]# systemctl enable named            //设置开机自启

安装完成后就到了要配置DNS服务器的时候了。

  • 修改DNS配置文件
    [root@localhost ~]# vim /etc/named.conf 
    options {
            listen-on port 53 { any; };                            //将监听地址修改位任何地址
            listen-on-v6 port 53 { ::1; };
            directory       "/var/named";
            dump-file       "/var/named/data/cache_dump.db";
            statistics-file "/var/named/data/named_stats.txt";
            memstatistics-file "/var/named/data/named_mem_stats.txt";
            recursing-file  "/var/named/data/named.recursing";
            secroots-file   "/var/named/data/named.secroots";
            allow-query     { any; };                              //允许任何主机查询
    };
    //将原有的缓存DNS服务器注释掉
    /*zone "." IN {
           type hint;
          file "named.ca";
    };
    */
    
    //设置本地的主DNS服务器
    view "lan"{                                            //创建名为“lan”的视图
            match-clients{192.168.10.0/24;};               //指定该网段地址可以访问该视图  
            zone "nei.com" IN{                             //创建一个名为“nei.com”,类别为Intenet类的DNS区域
            type master;                                   //此DNS服务器是“nei.com”区域的主服务器
            file "lan.com.zone";                           //指定了包含“nei.com”区域信息的文件的名称和位置
            };
    };
    
    
    //设置外网访问的主DNS服务器
    viwe "wan"{
            match-clients{any;};
            zone "nei.com" IN{
            type master;
            file "wan.com.zone";
            };
    };
    
  • 创建区域文件
  1. 内部区域文件 
    [root@ns1 ~]# cd /var/named/
    
    [root@ns1 named]# vim lan.com.zone         //文件名要与named.conf设置的一致
    $TTL 1D
    @       IN SOA  nei.com.   admin.bt.com. (
                                            0       ; serial
                                            1D      ; refresh
                                            1H      ; retry
                                            1W      ; expire
                                            3H )    ; minimum
    @    IN  NS  ns1.nei.com.
    ns1  IN  A   192.168.10.101
    www  IN  A   192.168.10.102
    mail IN  A   192.168.10.103
    ftp  IN  A   192.168.10.104
    
  2. 外部区域文件
    [root@ns1 named]# vim wan.com.zone 
    $TTL 1D
    @       IN SOA  nei.com.  admin.bt.com. (
                                            0       ; serial
                                            1D      ; refresh
                                            1H      ; retry
                                            1W      ; expire
                                            3H )    ; minimum
    @    IN NS  ns1.nei.com.
    ns1  IN A   173.16.16.101
    www  IN A   173.16.16.102
    mail IN A   173.16.16.103
    ftp  IN A   173.16.16.104

    然后键这两个文件的属组改为named,启动named服务;即可去测试。

  • 测试

外网客户端 

[root@localhost ~]# yum -y install bind-utils
[root@localhost ~]# nslookup www.nei.com
Server:		173.16.16.1
Address:	173.16.16.1#53

Name:	www.nei.com
Address: 173.16.16.101

内网客户端

[root@localhost ~]# yum -y install bind-utils
[root@localhost ~]# nslookup www.nei.com
Server:		192.168.1.1
Address:	192.168.1.1#53

Name:	www.nei.com
Address: 192.168.1.5

  • 38
    点赞
  • 21
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值