DNS分离解析域名服务器概述
DNS分离解析域名服务器实际也是主域名DNS服务器,这里所说的分离解析(Split DNS),主要是指根据不同来源的客户端请求,提供不同的域名解析记录。来自不同地址的客户机请求解析同一域名时,为其提供不同的解析结果。
分离解析案例

配置虚拟机网卡为双网卡

修改两个网卡的IP地址
cd /etc/sysconfig/network-scripts/

mv ifcfg-ens32 ifcfg-ens33

vim ifcfg-ens33
DEVICE=ens33
IPADDR=172.16.1.1
DNS1=172.16.1.1

安装DNS
yum -y install bind

修改/etc/named.conf主配置文件中为不同网络的客户机地址准备不同的zone区域设置,各自使用独立的数据文件
vim /etc/named.conf
options {
directory "/var/named";
};
view "LAN" {
match-clients { 192.168.200.0/24; }; //匹配局域网的客户端
zone "xxxxx.com" IN {
type master;
file "xxxxx.zheng.lan";
};
};
view "WAN" {
match-clients { any; }; //匹配互联网的客户端
zone "xxxxx.com" IN {
type master;
file "xxxxx.zheng.wan";
};
};

分别建立不同的区域数据文件
配置第一个区域
cd /var/named/
vim xxxxx.zheng.lan

$TTL 86400
@ IN SOA xxxxx.com. admin.xxxxx.com. (
2019011001
3H
15M
1W
1D
)
IN NS www.xxxxx.com.
www IN A 192.168.200.111

配置第二个区域
vim xxxxx.zheng.wan
$TTL 86400
@ IN SOA xxxxx.com. admin.xxxxx.com. (
2019011001
3H
15M
1W
1D
)
IN NS www.xxxx.com.
www IN A 172.16.1.1

检查配置文件是否出错
chgrp named xxxxx.zheng.*

查看配置文件
ls -l xxxxx.zheng.*

重新启动DNS
systemctl restart named

进入第二台虚拟机更改IP地址
vim ifcfg-ens32

更改第三台虚拟机的网卡为主机模式

进入第三台虚拟机更改IP地址
vim ifcfg-ens32

重启网卡
systemctl restart network

第一台主机查看域名
nslookup www.xxxx.com

第二台主机查看域名
nslookup www.xxxxx.com

DNS view的多种应用方式
1.match-clients直接指定地址
修改配置文件
vim /etc/named.conf
options {
directory "/var/named";
};
view "LAN" {
match-clients { 192.168.200.0/24; }; //匹配局域网的客户端
zone "xxxxx.com" IN {
type master;
file "xxxxx.zheng.lan";
};
};
view "WAN" {
match-clients { any; }; //匹配互联网的客户端
zone "xxxxx.com" IN {
type master;
file "xxxxx.zheng.wan";
};
};

2.基于acl访问控制列表
修改配置文件
vim /etc/named.conf
options {
directory "/var/named";
};
acl lan { 192.168.200.0/24; }; //定义访问控制列表
acl wan { any; };
view "LAN" {
match-clients { lan; }; //匹配局域网的客户端
zone "xxxxx.com" IN {
type master;
file "xxxxx.zheng.lan";
};
};
view "WAN" {
match-clients { wan; }; //匹配互联网的客户端
zone "xxxxx.com" IN {
type master;
file "xxxxx.zheng.wan";
};
};

3.基于访问控制文件
创建一个配置文件
cat /var/named/lan.txt
acl lan {
192.168.200.0/24;
};

cat /var/named/wan.txt
acl wan {
any;
};

修改配置文件
vim /etc/named.conf
options {
directory "/var/named";
};
include "/var/named/lan.txt";
include "/var/named/wan.txt";
view "LAN" {
match-clients { lan; };
zone "xxxxx.com" IN {
type master;
file "xxxxx.zheng.lan";
};
};
view "WAN" {
match-clients { wan; };
zone "xxxxx.com" IN {
type master;
file "xxxxx.zheng.wan";
};
};

完成










