您的位置:首页 > 运维架构 > Linux

DNS分离解析配置详解

2018-01-14 14:48 615 查看
DNS分离解析

1、DNS分离解析的作用

DNS分离解析即将内外网的相同域名解析为不同的IP地址。现实网络中一些电商网站为了让用户有更好的体验效果解析速度更快,就把来自不同运营商的用户解析到相对应的服务器这样就大大提升了访问速度。

2、配置前的准备工作

注:下面的所有配置全部是在centos7.x系统完成的。

(1)准备三台机器,先按照下图配置好网卡IP地址。



(2)关闭三台机器的selinux和防火墙,或者设置对应的防火墙规则开放53、80等端口。

3、配置DNS服务器

(1)安装DNS需要的软件

[root@localhost ~]# yum -y install bind

(2)修改主配置文件named.conf

[root@localhost ~]# vim /etc/named.confoptions { listen-on port 53 { any; }; #监听本机或者any listen-on-v6 port 53 { ::1; }; #ipv6的监听,可注释掉 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的所有配置文件中“{}”这样的括号里有内容的话内容一定要与括号之间有空格否则服务无法启动。

(3)修改区域配置文件named.rfc1912.zones

[root@localhost ~]# vim /etc/named.rfc1912.zonesview "lan" { #定义内网view,命名为lan match-clients { 192.168.115.0/24; }; #设置那个网段可以解析zone "long.com" IN { #设置要解析的区域 type master; #类型有hint,master,Slave,swap,Hint是根区域类型,master和slave是用来做DNS的主从,swap是交换类型 file "named.lan"; #区域解析库文件,相对named.conf中 directory "/var/named"这个路径,所以区域解析文件要放在/var/named下 allow-update { none; };}; zone "." IN { type hint; file "named.ca";}; }; view "wan" { #定义的外网view match-clients { 10.10.10.0/24; }; zone "long.com" IN { type master; file "named.wan"; };};注意:一旦启用view,所有的zone必须都在view下,所以要把系统默认的自检用的zone也放在view下。

(4)配置区域解析库文件

[root@localhost named]# cp -a named.localhost named.lan[root@localhost named]# cp -a named.localhost named.wan
[root@localhost named]# vim named.lan $TTL 1D@ IN SOA long.com. rname.invalid. ( 0 ; serial 1D ; refresh 1H ; retry 1W ; expire 3H ) ; minimum NS dns.long.com.dns A 192.168.115.130 #这是DNS服务器内网卡IPwww A 192.168.115.120 #解析的web服务地址
[root@localhost named]# vim named.wan $TTL 1D@ IN SOA long.com. rname.invalid. ( 0 ; serial 1D ; refresh 1H ; retry 1W ; expire 3H ) ; minimum NS dns.long.com.dns A 10.10.10.130 #DNS服务器外网卡IPwww A 10.10.10.130 #解析的web服务地址
[root@localhost named]# systemctl restart named.service

(5)DNS服务器兼任外网主机的web服务器,安装httpd软件

[root@localhost ~]# yum -y install httpd 安装httpd服务[root@localhost ~]# echo '10.10.10.130'>/var/www/html/index.html 给网页文件添加内容[root@localhost ~]# systemctl restart httpd.service 启动httpd服务

4、在内网主机192.168.115.120上面安装httpd软件

[root@localhost ~]# yum -y install httpd[root@localhost ~]# echo '192.168.115.120'>/var/www/html/index.html[root@localhost ~]# systemctl restart httpd.service

5、测试我们的DNS服务器能否做到内外网分离解析

(1)把外网主机10.10.10.150的DNS设置为DNS服务器10.10.10.130的外网卡IP

(2)把内网主机192.168.115.120的DNS设置为DNS服务器192.168.115.130的内网卡IP

(3)然后分别使用内网主机和外网主机访问我们DNS服务器里解析好的域名www.long.com,看两个主机访问的内容是否有区别。

(4)测试结果
内网主机访问结果:[root@localhost ~]# curl www.long.com192.168.115.120
外网主机访问结果:[root@localhost ~]# curl www.long.com10.10.10.130
从上面的结果我们可以看到,内外网主机访问的结果正好是我们内外网web服务器上设置的网页内容,而且使用的是同一台DNS服务器,这就说明我们的DNS分离解析已经配置完成了。当然也可以使用Windows主机浏览器进行测试DNS服务器,只需把Windows的IP修改成内外网主机的网段,然后DNS设置成我们搭建的DNS地址,对应测试两遍即可。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  Linux 搭建 DNS