DNS分离解析
DNS分离解析
分离解析的域名服务器实际也是主域服务器,这主要是指根据不同的客户端提供不同的域名解析记录。比如来自内网和外网的不同网段地址区域的客户机请求解析同一域名时,为其提供不同的解析结果,得到不同的IP地址。
为网关服务器配置双网卡
在关机状态下再添加一块网卡,重启系统
ifconfig
cd /etc/sysconfig/network-scripts/
cp ifcfg-ens33 ifcfg-ens36
安装bind软件包
yum install -y bind
修改主配置文件
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";
recursing-file "/var/named/data/named.recursing";
secroots-file "/var/named/data/named.secroots";
allow-query { any; }; #允许所有主机解析
……
};
include "/etc/named.rfc1912.zones";
修改区域配置文件
vim /etc/named.rfc1912.zones
view "lan" { #定义内网view,view代表容器分割
match-clients { 192.168.172.0/24; }; #匹配内网网段
zone "zhangsan.com" IN { #设置要解析的区域
type master;
file "zhangsan.com.zone.lan"; #数据配置文件
};
zone "." IN { #可将根域配置从主配置文件剪切过来,dd+p
type hint; #hint是根区域类型
file "named.ca";
};
};
view "wan" { #定义外网view
match-clients { any; }; #匹配除了内网网段以外的任意地址
zone "zhangsan.com" IN {
type master;
file "zhangsan.com.zone.wan";
};
};
#注意:一旦启用view,所有的zone必须都在view下,所以要把系统默认的自检用的zone也放在view下或者删除
修改区域数据配置文件
cd /var/named
cp -p named.localhost zhangsan.com.zone.lan
cp -p named.localhost zhangsan.com.zone.wan
vim zhangsan.com.zone.lan
$TTL 1D
@ IN SOA zhangsan.com. admin.zhangsan.com. (
0 ; serial
1D ; refresh
1H ; retry
1W ; expire
3H ) ; minimum
NS zhangsan.com.
A 192.168.172.10
www IN A 192.168.172.100 #内网主机通过解析www.zhangsan.com的地址得到192.168.172.100
vim zhangsan.com.zone.wan
$TTL 1D
@ IN SOA zhangsan.com. admin.zhangsan.com. (
0 ; serial
1D ; refresh
1H ; retry
1W ; expire
3H ) ; minimum
NS zhangsan.com.
A 12.0.0.1
www IN A 12.0.0.100 #外网主机通过解析www.zhangsan.com的地址得到12.0.0.100
启动服务
systemctl start named
在内、外网客户端的域名解析配置文件中添加DNS服务器地址
echo "nameserver 192.168.163.15" >> /etc/resolv.conf #内网客户端
外网我们使用win10虚拟机模拟
在内、外网客户端上测试
nslookup www.zhangsan.com