文章目录
前言
- 一个域名对应一个IP地址,一个IP地址可以对应多个域名;
- 所以多个域名可以同时被解析到一个IP地址
- 但是我们生产环境中经常遇到解析相同的域名而得到不同的IP地址,实现通信,我们称之为DNS分离解析
- 也解决了网站的访问速度问题
一:什么是DNS分离解析?
- 域名是为了方便记忆而专门建立的一套地址转换系统,要访问一台互联网上的服务器,最终还必须通过IP地址来实现,域名解析就是将域名重新转换为IP地址的过程。
- 一个域名对应一个IP地址,一个IP地址可以对应多个域名;
- 所以多个域名可以同时被解析到一个IP地址
- 但是我们生产环境中经常遇到解析相同的域名而得到不同的IP地址,实现通信,我们称之为DNS分离解析
二:DNS分离解析实验
2.1:实验拓扑图
2.2:实验目的
- 实验目的:通过解析相同域名,解析出不同IP地址
- win7解析www.erbao.com解析出来15.0.0.12
- win10解析www.erbao.com解析出来192.168.100.88
2.3:实验过程
2.3.1:Linux安装bind
[root@localhost ~]# yum install bind -y
2.3.2:各主机网卡设置
- Linux主机添加一张网卡,全部设置为仅主机模式
-
修改网卡IP地址并重启网卡
-
先修改ifcfg-ens33 [root@localhost ~]# cd /etc/sysconfig/network-scripts/ [root@localhost network-scripts]# vim ifcfg-ens33 TYPE=Ethernet PROXY_METHOD=none BROWSER_ONLY=no BOOTPROTO=static '//dhcp修改为static' DEFROUTE=yes ...省略内容 ONBOOT=yes IPADDR=192.168.100.1 '//添加这两段' NETMASK=255.255.255.0 [root@localhost network-scripts]# cp -p ifcfg-ens33 ifcfg-ens36 [root@localhost network-scripts]# vim ifcfg-ens36 TYPE=Ethernet ...省略内容 IPV6_ADDR_GEN_MODE=stable-privacy NAME=ens36 '//原本的ens33修改为ens36' '//中间的UUID删除掉' DEVICE=ens36 '//原本的ens33修改为ens36' ONBOOT=yes IPADDR=12.0.0.1 '//地址修改为12.0.0.1' NETMASK=255.255.255.0 [root@localhost network-scripts]# systemctl restart network [root@localhost network-scripts]# ifconfig
-
另两台主机网卡属性都设置为仅主机模式
-
另两台主机IP地址设置
2.3.3:Linux主机设置
-
修改主配置文件
[root@localhost ~]# vim /etc/named.conf options { listen-on port 53 { any; }; '//修改为any' listen-on-v6 port 53 { ::1; }; directory "/var/named"; ...省略内容 allow-query { any; }; '//修改为any' ...省略内容 zone "." IN { '//将此4行删除,准备粘贴到区域配置文件中' type hint; file "named.ca"; };
-
修改区域配置文件
[root@localhost ~]# vim /etc/named.rfc1912.zones '//清空文件内容,粘贴以下内容进去' // named.rfc1912.zones: // // Provided by Red Hat caching-nameserver package // // ISC BIND named zone configuration for zones recommended by // RFC 1912 section 4.1 : localhost TLDs and address zones // and http://www.ietf.org/internet-drafts/draft-ietf-dnsop-default-local-zones-02.txt // (c)2007 R W Franks // // See /usr/share/doc/bind*/sample/ for example named configuration files. // view "lan" { match-clients { 192.168.100.0/24; }; zone "erbao.com" IN { type master; file "erbao.com.lan"; }; zone "." IN { type hint; file "named.ca"; }; }; view "wan" { match-clients { 12.0.0.0/24; }; zone "erbao.com" IN { type master; file "erbao.com.wan"; }; };
-
修改区域数据文件
[root@localhost ~]# cd /var/named/ [root@localhost named]# cp -p named.localhost erbao.com.lan [root@localhost named]# vim erbao.com.lan $TTL 1D @ IN SOA @ rname.invalid. ( 0 ; serial 1D ; refresh 1H ; retry 1W ; expire 3H ) ; minimum NS @ A 192.168.100.1 '//win10解析地址修改为网关' www IN A 192.168.100.88 '//win10解析www.erbao.com解析出来192.168.100.88' [root@localhost named]# cp -p erbao.com.lan erbao.com.wan [root@localhost named]# vim erbao.com.wan $TTL 1D @ IN SOA @ rname.invalid. ( 0 ; serial 1D ; refresh 1H ; retry 1W ; expire 3H ) ; minimum NS @ A 12.0.0.1 '//win7解析地址修改为网关' www IN A 15.0.0.12 '//win7解析解析www.erbao.com解析出来15.0.0.12'
2.3.4:重启服务,关闭防火墙
[root@localhost named]# systemctl restart named
[root@localhost named]# systemctl stop firewalld.service
[root@localhost named]# setenforce 0
2.4:实验结果验证
2.5:实验总结
- DNS的主配置文件named.conf修改监听地址,并且删除根域(named.ca)
- DNS的区域配置文件清空,重新自定义根域(刚刚主配置文件删除的)和两个区域数据配置文件和接受解析的地址段。
- 修改两个区域数据配置文件erbao.com.lan和erbao.com.wan,修改A记录(解析地址)和www.erbao.com的解析地址