配置 DNS 分离解析

 

配置 DNS 分离解析

 

一:服务端配置

1.1 什么是分离解析

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

1.2 实验拓扑

 

 

 

 1.3  VMware配置和 宿主机配置

先在 虚拟机添加 第二张网卡 ,设置为 vmnet 2
DNS服务器连接内网的网卡设为vmnet1,内网的http服务器设置为vmnet1 ,作为外网客户端的windows 设置为 vmnet1

 

1.3.1 VMware 配置

 

 

 

 

 

 

1.3.2  宿主机设置 

宿主机上,vmnet 1 网卡配置

 

宿主机vmnet2 网卡配置

 

 

1.4 为网关服务器配置双网卡

# 配置 网卡一 192.168.23.10 作为对内网提供 DNS 服务的 DNS 服务器地址
# 配置 网卡二 12.0.0.1      作为对外网提供 DNS 服务的 DNS 服务器地址
[root@localhost ~]# cd /etc/sysconfig/network-scripts/
[root@localhost network-scripts]# cp -p ifcfg-ens33  ifcfg-ens36
[root@localhost network-scripts]# vim ifcfg-ens36
YPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=static
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=stable-privacy
NAME="ens33"

#UUID=c4f6e9f4-8e96-4504-8c77-d419c5ae2cc7   
#UUID 一定要注释或者删除
#UUID代表设备识别号,这是唯一的,不可以相同,否则会相互冲突

DEVICE="ens33"
ONBOOT=yes
IPADDR=12.0.0.1                 # ens36 设置为外网的接口,配置外网ip
NETMASK=255.255.255.0
#GATEWAY=192.168.23.2
#DNS1=192.168.23.2
:wq    #保存退出

[root@localhost network-scripts]# vim ifcfg-ens33
YPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=static
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=stable-privacy
NAME=ens33
UUID=c4f6e9f4-8e96-4504-8c77-d419c5ae2cc7
DEVICE=ens33
ONBOOT=yes
IPADDR=192.168.23.10
NETMASK=255.255.255.0
#GATEWAY=192.168.23.2       #注释或删除网关
#DNS1=192.168.23.2          #注释或删除DNS
:wq     #保存退出           

[root@localhost network-scripts]# systemctl restart network     #重启网卡
[root@localhost network-scripts]# ifconfig  ens33 
ens33: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.23.10  netmask 255.255.255.0  broadcast 192.168.23.255

[root@localhost network-scripts]# ifconfig  ens36
ens36: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 12.0.0.1  netmask 255.255.255.0  broadcast 12.0.0.25

 

1.5  修改主配置文件

(如果之前没有做DNS ,下载软件包bind )[root@localhost ~]# yum -y install bind

[root@localhost ~]# vim /etc/named.conf     #修改主配置文件
options {
        listen-on port 53 {  any; };        #监听本机或者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";
        allow-query     {  any; };          #允许使用本DNS 的主机,
        ......
};    

# 将根域注释。一旦 启用 view ,所有zone 都必须在 view 里面 #zone "." IN { # type hint; # file "named.ca"; #};

 

 

1.6 修改区域配置文件

[root@localhost ~]# vim /etc/named.rfc1912.zones    #配置区域配置文件
view "lan" {                                        #定义内网 view ,view 代表容器分割,"lan" 便于区别
        match-clients { 192.168.23.0/24; };         #匹配内网网段。多个网段用 分号";" 间隔
        zone   "mynet.com" IN {                     # 定义域名
                type master;                        # 类型主
                file "mynet.com.zone.lan";          # 设置区域数据配置文件名,设置 .lan ,便于区分内网和外网
        };
        zone "." IN {                              
                type hint;            # hint 是根区域类型
                file "named.ca";
        };
      #有了根域,可以实现内网的服务器访问外网,
      #根域配置在 主配置文件 /etc/named.conf 最后面. 可以切换文件 剪切粘贴
};


view "wan" {                                    # 定义外网view,定义为 "wan" 便于区别
        match-clients { any; };                 # 匹配除了 内网网段以外的任意地址
        zone   "mynet.com" IN {
                type master;
                file "mynet.com.zone.wan";
        };
};


# 注意!!! 
#一旦启用 view ,所用的zone 必须在view 下所以要把系统默认的自检用的zone 也放在view下,或者注释,或者删除
#注意,主配置文件里 /etc/named.conf 文件里 最后面的 根域配置,注释或者删除

 

 1.7  修改区域数据配置文件

[root@localhost ~]# cd /var/named/
[root@localhost named]# cp -p named.localhost   mynet.com.zone.lan
[root@localhost named]# cp -p named.localhost   mynet.com.zone.wan

[root@localhost named]# vim mynet.com.zone.lan                 #配置 内网 区域数据文件
$TTL 1D
@       IN SOA  mynet.com.  admin.mynet.com. (                 #要设置完整合格域名
                                        0       ; serial
                                        1D      ; refresh
                                        1H      ; retry
                                        1W      ; expire
                                        3H )    ; minimum
        NS      mynet.com.                                   #完整合格域名
        A       192.168.23.10                                # DNS 地址
www  IN A       192.168.23.11                                # www 的解析地址,解析到web 服务器上
 
:wq   #保存退出   


[root@localhost named]# vim mynet.com.zone.wan             # 配置外网的区域数据配置文件
$TTL 1D
@       IN SOA  mynet.com.  admin.mynet.com. (
                                        0       ; serial
                                        1D      ; refresh
                                        1H      ; retry
                                        1W      ; expire
                                        3H )    ; minimum
        NS      mynet.com.
        A       12.0.0.1                               # 对外网提供服务,所以设置成外网的地址
www  IN A       12.0.0.1                               # 外网主机通过解析 www.mynet.com 为外网 12.0.0.1 地址

:wq   #保存并退出 

 

 

 1.8 启动服务,测试

[root@localhost named]# systemctl stop firewalld      #关闭防火墙
[root@localhost named]# setenforce  0                 #设置selinux 等级
[root@localhost named]# systemctl restart named       #重启服务

[root@localhost named]# vim /etc/resolv.conf         #配置 DNS 地址,测试
nameserver 192.168.23.10 
[root@localhost named]# host www.mynet.com           #测试域名解析
 www.mynet.com has address 192.168.23.11

 

 

二 :客户端配置

2.1 内网web 服务器配置

#192.168.23.11 作为web服务器
[root@localhost ~]# vim /etc/resolv.conf       #设置DNS 地址
nameserver 192.168.23.10 

[root@localhost ~]# host www.mynet.com
www.mynet.com has address 192.168.23.11 

[root@localhost ~]# yum -y install httpd         #安装httpd
[root@localhost ~]# systemctl start httpd        #启动httpd
[root@localhost ~]# netstat -natp | grep httpd
tcp6       0      0 :::80                   :::*                    LISTEN      42891/httpd  


 

2.2  访问测试

2.2.1 内网访问测试

内网访问测试:
[root@localhost ~]# firefox http://192.168.23.11 [root@localhost ~]# firefox http://www.mynet.com
192.168.23.11,分别使用 ip地址 192.168.23.11 和 域名 www.mynet.com 访问,看看是否会跳出 Apache 测试页面

 

 

2.2.2 windows 访问测试

 

 

 

三: 在DNS 服务器上,做DHCP 服务

web 服务器和 windows 客户端 都是用dhcp 获取

3.1 服务器设置

# DNS 和DHCP  服务器 192.168.23.10
[root@localhost ~]# yum -y install dhcp #下载安装包 [root@localhost ~]# rpm -qc dhcp /etc/dhcp/dhcpd.conf [root@localhost ~]# cd /usr/share/doc/ [root@localhost doc]# cd dhcp-4.2.5/ [root@localhost dhcp-4.2.5]# cp -p dhcpd.conf.example /etc/dhcp/dhcpd.conf #复制模板文件
[root@localhost dhcp]# vim dhcpd.conf #编辑主配置文件 option domain-name "mynet.com"; #全局配置,设置域名 #option domain-name-servers ns1.example.org, ns2.example.org; ddns-update-style none; #禁用dns 动态更新,可以加快dns 的响应速度 subnet 192.168.23.0 netmask 255.255.255.0 { #配置分配的网段 range 192.168.23.100 192.168.23.200; #配置网段地址池 option routers 192.168.23.10; #设置该网段的网关地址 option domain-name-servers 192.168.23.10; #设置该网段的DNS地址 } subnet 12.0.0.0 netmask 255.255.255.0 { range 12.0.0.100 12.0.0.200; option routers 12.0.0.1; option domain-name-servers 12.0.0.1; } [root@localhost dhcp]# systemctl stop firewalld #关闭防火墙 [root@localhost dhcp]# setenforce 0 #设置selinux 等级为 permissive
[root@localhost dhcp]# systemctl restart dhcpd              #重启dhcp
 

 

 3.2 web 服务器设置

# web 服务器设置
[root@localhost ~]# vim /etc/sysconfig/network-scripts/ifcfg-ens33

BOOTPROTO=dhcp         #将网卡的 BOOTPROTO 设置为DHCP 获取     


[root@localhost ~]# systemctl restart network
[root@localhost ~]# ifconfig ens33                                #查看DHCP 获取到的地址
ens33: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.23.100  netmask 255.255.255.0  broadcast 192.168.23.255

 

 

 3.3 DNS 服务器重新配置区域数据文件

由于web 服务器使用DHCP 获取后,IP 地址改变,所以要 重新 配置区域数据文件里的 正向解析地址

[root@localhost dhcp]# vim /var/named/mynet.com.zone.lan
$TTL 1D
@       IN SOA  mynet.com.  admin.mynet.com. (
                                        0       ; serial
                                        1D      ; refresh
                                        1H      ; retry
                                        1W      ; expire
                                        3H )    ; minimum
        NS      mynet.com.
        A       192.168.23.10
www  IN A       192.168.23.100
:wq

[root@localhost dhcp]# systemctl restart named 

 

 

 3.4  测试

3.4.1 内网测试 

火狐浏览器访问域名

 

 

 

3.4.2windows 客户端使用 dhcp 获取,然后测试DNS 解析

(1) 网卡配置,选择自动获得IP地址

 

 

(2)  查看该网卡信息

 

 (3) 解析测试

 

 

 

 

 

 

 

posted @ 2021-07-01 12:11  知己一语  阅读(399)  评论(0编辑  收藏  举报