Loading... <p style="line-height: normal"> <span style="font-size: 18px"><strong>DNS高级应用</strong></span></p> <p style="line-height: normal"> <strong>1、</strong><strong>主从复制</strong> </p> <p style="line-height: normal"> 应用场景:</p> <ul class=" list-paddingleft-2"> <ul class=" list-paddingleft-2"> <ul class="custom_dash list-paddingleft-1"> <p style="line-height: normal">(1)、当主DNS服务器压力过大,无法正常处理过多的DNS解析请求时,从DNS服务器可以起到负载均衡的作用。</p> <p style="line-height: normal">(2)、当主DNS服务器出现故障时,从DNS服务器可以为其提供冗余备份功能。</p> </ul> </ul> </ul> <p style="line-height: normal"> 实验环境:</p> <ul class=" list-paddingleft-2"> <ul class=" list-paddingleft-2"> <ul class="custom_dash list-paddingleft-1"> <p style="line-height: normal">(1)、主DNS服务器 ns.nod.com IP地址:192.168.5.244</p> <p style="line-height: normal">(2)、从DNS服务器 ns2.nod.com IP地址:192.168.5.245</p> <p style="line-height: normal">(3)、测试域nod.com。</p> </ul> </ul> </ul> <p style="line-height: normal"> 实验拓扑: </p> <ul class=" list-paddingleft-2"> <ul class=" list-paddingleft-2"> <ul class="custom_dash list-paddingleft-1"> <p style="line-height: normal"> </p> <p style="line-height: normal"> <img src="//cto.wang/usr/uploads/2016/07/20160703180350-27.png" title="1434341497812776.png" alt="blob.png" width="415" height="320" style="width: 415px;height: 320px" /></p> </ul> </ul> </ul> <p> 1.1、配置/etc/named.conf初始化DNS环境</p> <p> <img src="//cto.wang/usr/uploads/2016/07/20160703180350-85.png" title="1434346114853860.png" alt="blob.png" /></p> <p> 将非必须参数用//注释掉,仅保留图示必要参数即可。</p> <p> 1.2、配置/etc/named.rfc1912.zones,添加正向、反向解析区域</p> <p> <img src="//cto.wang/usr/uploads/2016/07/20160703180350-7.png" title="1434346439529456.png" alt="blob.png" /></p> <p> 1.3、为主DNS服务器添加正向和反向解析文件</p> <p> 创建正向区域解析库文件</p> <p> # vim /var/named/nod.com.zone </p> <p> <img src="//cto.wang/usr/uploads/2016/07/20160703180350-67.png" title="1434347189127500.png" alt="blob.png" /></p> <p> 创建反向解析库文件</p> <p> # cp /var/named/nod.com.zone /var/named/5.168.192.zone </p> <p> # vim /var/named/5.168.192.zone </p> <p> <img src="//cto.wang/usr/uploads/2016/07/20160703180350-28.png" title="1434347924227805.png" alt="blob.png" /></p> <p> 测试配置文件是否有语法错误</p> <p> <img src="//cto.wang/usr/uploads/2016/07/20160703180350-79.png" title="1434347997277118.png" alt="blob.png" /></p> <p> 配置DNS服务器,将DNS地址指向本机IP地址。</p> <p> <img src="//cto.wang/usr/uploads/2016/07/20160703180350-54.png" title="1434348064165771.png" alt="blob.png" /></p> <p> service named reload 重新载入服务,启用配置文件</p> <p> 测试正向解析</p> <p> <img src="//cto.wang/usr/uploads/2016/07/20160703180350-50.png" title="1434348218846866.png" alt="blob.png" /></p> <p> 测试逆向解析</p> <p> <img src="//cto.wang/usr/uploads/2016/07/20160703180350-26.png" title="1434348905130991.png" alt="blob.png" /></p> <p> 1.4、配置从服务器</p> <ul class=" list-paddingleft-2"> <ul class=" list-paddingleft-2"> <ul class="custom_dash list-paddingleft-1"> <p>(1)、配置/etc/named.conf,方法同主DNS配置</p> <p>(2)、在/etc/named.rfc1912.zone中添加区域文件</p> <p><img src="//cto.wang/usr/uploads/2016/07/20160703180350-33.png" title="1434349376697238.png" alt="blob.png" /></p> </ul> </ul> </ul> <p> 测试配置文件是否有语法错误</p> <p> <img src="//cto.wang/usr/uploads/2016/07/20160703180350-53.png" title="1434349478950542.png" alt="blob.png" /> </p> <p> 执行service named start启动DNS服务 </p> <p> 在主DNS服务器的正、反向解析库文件中添加从dns服务器的NS和A记录</p> <p> <img src="//cto.wang/usr/uploads/2016/07/20160703180350-22.png" title="1434350547249588.png" alt="blob.png" /></p> <p> <img src="//cto.wang/usr/uploads/2016/07/20160703180350-19.png" title="1434350620830965.png" alt="blob.png" /></p> <p> 执行service named reload 更新配置文件,然后查看log信息</p> <p> <img src="//cto.wang/usr/uploads/2016/07/20160703180350-52.png" title="1434351226108428.png" alt="blob.png" width="769" height="260" style="width: 769px;height: 260px" /></p> <p> 1.5、检测主从复制结果</p> <p> 从服务器上的区域解析库文件只能从主DNS服务器同步而来,并且在/var/named/slaves/下生成相应的文件,查看: </p> <p> <img src="//cto.wang/usr/uploads/2016/07/20160703180350-65.png" title="1434351417545064.png" alt="blob.png" width="387" height="123" style="width: 387px;height: 123px" /></p> <p> 查看自动生成的区域解析库文件注意红色圈起的部分,$TTL $ORIGIN即是默认宏的使用。</p> <p> <img src="//cto.wang/usr/uploads/2016/07/20160703180350-76.png" title="1434351807531056.png" alt="blob.png" /></p> <p> 客户端工具测试DNS服务器</p> <p> <img src="//cto.wang/usr/uploads/2016/07/20160703180350-75.png" title="1434352627154954.png" alt="blob.png" /></p> <p> 1.6、更改主DNS服务器记录信息测试从服务器复制</p> <p> 正向解析</p> <p> <img src="//cto.wang/usr/uploads/2016/07/20160703180351-63.png" title="1434353719877740.png" alt="blob.png" /></p> <p> 执行service named reload应用配置文件更改,查看日志信息</p> <p> <img src="//cto.wang/usr/uploads/2016/07/20160703180351-27.png" title="1434354400364234.png" alt="blob.png" width="770" height="219" style="width: 770px;height: 219px" /></p> <p> 查看从服务器日志信息</p> <p style="margin-bottom: 5px;line-height: normal"> <img src="//cto.wang/usr/uploads/2016/07/20160703180351-30.png" title="1434354784361779.png" alt="blob.png" width="758" height="299" style="width: 758px;height: 299px" /></p> <p> 验证更新后的区域解析库文件</p> <p> <img src="/upload/h12swpegcc0.png" title="1434354944217483.png" alt="blob.png" /> </p> <p> 经测试,从DNS服务器工作正常。</p> <p> <strong> 2、子域授权</strong> </p> <p> 应用场景:</p> <ul class=" list-paddingleft-2"> <ul class=" list-paddingleft-2"> <ul class="custom_dash list-paddingleft-1"> <p> (1)、在区域范围广、域内主机数量庞大的场景下,把原域划分成多个小区域并指定新的DNS服务器,用以响应针对小区域内的主机的解析请求,进而减轻主DNS的压力,并更易于管理。</p> </ul> </ul> </ul> <p> 试验环境</p> <p> (1)、主DNS服务器,ip地址:192.168.5.244(保留主从复制实验中配置)</p> <p> (2)、从DNS服务器,ip地址:192.168.5.245(保留主从复制实验中配置)</p> <p> (3)、子域DNS服务器,ip地址:192.168.5.248</p> <p> (4)、主域nod.com,子域ops.nod.com。</p> <p> (5)、本实验仅演示正向解析子域授权效果。</p> <p> 实验拓扑:</p> <p> <img src="/upload/0hckftqkrb3.png" title="1434440425414550.png" alt="blob.png" /></p> <p> 2.1、在主DNS服务器正向区域解析库中添加子域ops.nod.com的胶水记录,完成子域授权。 </p> <p> <img src="/upload/bimwezvhu2w.png" title="1434500994805408.png" alt="blob.png" /> </p> <p> 执行service named reload后,查看从DNS服务器同步情况。</p> <p> <img src="/upload/12fsbgpbdv4.png" title="1434501618247038.png" alt="blob.png" /></p> <p> 2.2、配置子域DNS服务器</p> <p> 配置/etc/named.rfc1912.zone,声明子域的正、反向区域。</p> <p> <img src="/upload/gkg4l0nfx4b.png" title="1434502206125002.png" alt="blob.png" /></p> <p> 创建子域正、反向解析库文件</p> <p> <img src="/upload/deemhc1q5do.png" title="1434503695114760.png" alt="blob.png" /></p> <p> <img src="/upload/s4rkgee2auh.png" title="1434503724115834.png" alt="blob.png" /></p> <p> 测试子域服务器的正、反向解析是否正常。</p> <p> 执行service named configtest 检查配置文件无语法错误;执行chkconfig named on设置named服务永久开机启动,执行service named start 启动named服务并使用检测TCP/UDP 53端口是否已经监听。</p> <p> <img src="/upload/zja1bc3wve1.png" title="1434504641831654.png" alt="blob.png" width="688" height="385" style="width: 688px;height: 385px" /></p> <p> 测试正向解析</p> <p> <img src="/upload/pr105twjc0d.png" title="1434504752119469.png" alt="blob.png" /></p> <p> 测试反向解析</p> <p> <img src="/upload/0j0tw1wrv45.png" title="1434504844844944.png" alt="blob.png" /></p> <p> 2.3、定义转发区域</p> <p> 事实上,由于域名解析的层次化结构,父域知道子域的IP地址,但是子域是不知道父域的地址的,当自域内的主机要通过子域DNS服务器解析父域的主机时,要在子域DNS服务器中添加转发区域。</p> <p> 配置/etc/named.rfc1912.zone,添加其父域nod.com的转发区域</p> <p> <img src="/upload/tzpy3dpmn5w.png" title="1434507594140218.png" alt="blob.png" /></p> <p> forward first/only 转发后面通常有着两个参数可跟,转发通常以递归方式,如目的服务器(192.168.5.244)不予递归DNS请求(不给解析nod.com域)的情况下,如果跟first,则会将请求转发至根域服务器,进行迭代解析;如果跟only,则不会在转发至根域服务器。</p> <p> 设置完转发区域后测试如下</p> <p> <img src="/upload/3ahvejmxrtj.png" title="1434507462132406.png" alt="blob.png" /></p> <p> 转发配置还可以在/etc/named.conf中option部分,将子域无法解析的所有请求都转发至指定DNS服务器</p> <p> <img src="/upload/m1cf0rjs3tc.png" title="1434508388939545.png" alt="blob.png" /></p> <p> 还可以在当前父域配置转发,表示当父域不能解析时,转发到指定DNS解析。</p> <p> <img src="/upload/2ipsxjs5vei.png" title="1434508633633737.png" alt="blob.png" /></p> <p> </p> <p> <strong>3、基于bind view实现智能DNS</strong></p> <p> 应用场景:</p> <p> (1)、智能DNS能够在接受到用户的DNS的请求后,根据其配置,返回给用户所在网络(如电信、联通等)的需要访问的网络应用服务器的IP地址,从而避开了网络运营商之间的互访带宽瓶颈。</p> <p> 实验环境:</p> <p> (1)、DNS服务器,ip地址:eth0:192.168.5.244</p> <p> eth1: 192.168.80.128</p> <p> (2)、主机A,模拟电信网段主机,ip地址:192.168.5.245 </p> <p> (3)、主机B,模拟联通网段主机,ip地址:192.168.80.129</p> <p> 实验拓扑</p> <p> <img src="/upload/2kmhi0mqneu.png" title="1434524051198533.png" alt="blob.png" /></p> <p> 实现目的</p> <p> (1)、主机A和主机B解析www.nod.com这个域名的IP地址时,能分别的到对应网段的主机IP地址。 3.1、ACL的应用和配置</p> <p> <img src="/upload/rv1doln3m20.png" title="1434512753769772.png" alt="blob.png" /></p> <p> 在DNS服务器上,使用vim打开/etc/named.conf文件找到如上图红色标出的部分,allow-query选项注释掉表示允许所有主机通过本DNS请求解析服务,也可以定义指定网段、ip地址、主机名等来限制查询主机</p> <p> 格式 allow-query { IP|NETWORK|HOSTNAME; };</p> <p> 例如 allow-query { 192.168.5.0/24; 127.0.0.1; }; 表示允许192.168.5.0网段和127.0.0.1主机查询本DNS服务器。</p> <p> 3.2、配置view,实现智能DNS解析</p> <p> 依指定定义的对象来区分要返回的DNS请求的结果,在bind中是通过view功能来实现的。</p> <p> 格式 view VIEWNAME {</p> <p> view-client { 匹配对象,通常是一个acl }; </p> <p> 在DNS服务器上,配置不同view下的区域配置信息</p> <p> 编辑/etc/named.conf</p> <p> <img src="/upload/mqtf5uaikqx.png" title="1434522625600986.png" alt="blob.png" /></p> <p> 编辑/etc/named.rfc1912.zone</p> <p> <img src="/upload/t5gpqvqqoep.png" title="1434522970706491.png" alt="blob.png" /></p> <p> 创建不同view中的区域解析库文件</p> <p> 创建/etc/named/nod.com.telecom.zone</p> <p> <img src="/upload/tu3tfdxestu.png" title="1434523162121077.png" alt="blob.png" /></p> <p> 创建/etc/named/nod.com.unicom.zone</p> <p> <img src="/upload/vpqpyxpksfp.png" title="1434523286463173.png" alt="blob.png" /></p> <p> 配置完毕后,执行service named reload应用配置文件更改</p> <p> 3.3、测试view</p> <p> 在主机A上测试www.nod.com,主机A上编辑/etc/resolv.conf,将DNS服务器指向192.168.5.244 </p> <p> <img src="/upload/fidjcawci1s.png" title="1434524449820397.png" alt="blob.png" /></p> <p> 在主机B上测试www.nod.com,主机B上编辑/etc/resolv.conf,将DNS服务器指向192.168.80.128 </p> <p> <img src="/upload/xi3ubrqe1jo.png" title="1434524569117221.png" alt="blob.png" /></p> <p> <img src="/upload/vnaftb2fdqh.png" title="1434524817133112.png" alt="blob.png" /></p> <p> 智能DNS功能实现。</p> <p></p> <p></p> <p></p> <p></p> <p></p> <p></p> <p></p> <p></p> <p></p> <p></p> <p> </p> 最后修改:2021 年 12 月 10 日 10 : 53 AM © 允许规范转载 赞赏 如果觉得我的文章对你有用,请随意赞赏 赞赏作者 支付宝微信