DNS服务器系列之二:高级配置之-DNS子域授权、区域转发、acl列表及view

本文涉及的产品
云解析 DNS,旗舰版 1个月
全局流量管理 GTM,标准版 1个月
公共DNS(含HTTPDNS解析),每月1000万次HTTP解析
简介:

一、DNS子域授权及区域转发

1、创建子域的原因

   现在有shuishui.com这个域,由于技术部门的独立壮大,现在想要专门分割出一个tech.shuishui.com这么一个子域,这个子域内有它自己的www,ftp,mail等主机。现在虽然有shuishui.com这个父域,但是它并不能解析tech.shuishui.com这个子域,因为在其数据库内压根就没有这么一条A记录。

2、BIND子域授权的实现前题

   在父域的配置文件中添加如下项:

   1)授权的子区域名称

   2)子区域的名称服务器

   3)子区域的名称服务器的IP地

3、服务器IP及域名等相关说明

   1)父域shuishui.com的DNS服务器的IP地址为:172.16.251.93

   2)子域tech.shuishui.com的DNS服务器的IP地址为:172.16.150.150

4、子域授权的实现

   1)在子域的DNS服务器上安装BIND

1
yum -y  install  bind

  2)安装bind成功后,为子域DNS服务器定义区域,区域名称为:tech.shuishui.com

wKiom1Mo5f7yLfZHAAAeJq1pnco304.png

 3)区域创建成功后,接下来创建区域数据库文件并创建资源记录  

wKioL1Mo5qGhaZjxAAA8Qdjjq3o235.png

  4)创建区域数据库文件后,执行接下来的六大步骤

wKiom1Mo5w7BtioMAABjs90Copg809.png

      当检查区域数据文件的时候,报错说是tech.shuishui.com.zone没有前的owner name,那就打开这个文件看看吧

wKioL1Mo50rho-tJAABEtUmZRG4178.png

   原来是SOA少了区域名称,别的地方应该没有问题,补上@后,再重新检查

wKiom1Mo57mRLe1JAADAOl3HYp4186.png

   重新检查六大步骤,已经没有问题了,说明此区域数据库文件没有语法错误

   5)检查子域DNS服务器是否可以正常工作

wKioL1Mo6C-z3wdPAABvWqGZ5Lw494.png

   6)子域授权

      现在子域的DNS服务器可以正常工作了,但是目前父域不能解析子域,子域也不可以解析父域,所以我们为了能让父域解析子域,要在父域的区域数据库文件中为子域进行授权。

wKioL1Mo6OGSuAGrAABY2nvLJvc208.png

   其资源类型为NS,说明它是一个DNS服务器,而named是一个tech,而不再是@,也不是当前区域的名称,这就意味着这个字符串是一个子区域的名称,任何一个DNS服务器NS后面所对应的FQDN都应该给它一个A记录。为了能同步到从服务器上,要在上面的序列号后面加1,只有主服务器的序列号大于父域的序列号才会同步成功。

   7)重启named服务,测试父域能否解析子域

wKiom1Mo6oaRRsuWAABGZUR-CnI840.png

   解析失败,又出问题了,那就只能查询日志了,看看什么情况

wKiom1Mo6sPx2RAwAACEyq-Fgw8890.png

   目前这台父域DNS服务器的IP为:172.16.251.93,这里说报的错的IP指向了子域DNS服务器的IP,那就去子域DNS服务器上看看日志

wKioL1Mo6yjDYePYAAB5SrPXQuY285.png

   这里报错说192.16.251.93这个主机询问www.tech.shuishui.com被拒绝,而是否允许询问是在其主配置文件中定义的

wKiom1Mo6-fxAsICAAB2bY6RXNk327.png

   这里面果然有这么一项,那就改成any吧,原来是localhost,只允许本机询问

   再重启named服务,这次看看父域能否解析子域成功

wKiom1Mo7HGgUhzlAAB5gQVFxNc086.png

   7)配置区域转发

   现在父域可以解析子域成功了,但是子域还不可以解析父域,因为在它的服务器上只有tech.shuishui.com这一个域,而没有shuishui.com这么个域,因此是不会去解析父域shuishui.com的。我们都知道,如果一台DNS服务器在解析非本机负责的区域时,会统统交给根,那我们就配置一个转发,让他不要转发给根,而是转发给相应的DNS服务器去解析,这就叫做区域转发。

wKiom1Mo7keBW44BAAAwb09iqwk489.png

   编辑子域的/etc/named.rfc1912.zones,为其添加指定的转发区域:

   ①、服务器类型为转发

   ②、转发到的服务器IP是172.16.251.93这台DNS服务器

   ③、转发模式为first。这里有两个选项,一个是first,就是在转发shuishui.com这域时,先要转发到172.16.251.93,如果解析不成功就转发给根。别一个是only,意思就是只转发给172.16.251.93,不成功也不会转发给根。

   8)尝试在子域上去解析父域,希望别再出错了

wKioL1Mo78jxdZrnAABqf0xrWYk696.png

 历经磨难终于成功了。

、DNS的访问控制列表及view功能

   1、view功能介绍

   view是视图的意思,实现将DNS服务器一切为N片,当来自不同的IP时就用不同的DNS服务器去解析,速度肯定会更快,当然用户体检就更好了,这就叫做DNS智能解析。举个例子来说,中国大陆的网络一直就有北联通,南电信这么一说,造成这一结果的根本原因就是因为两个网络之间的带宽太小了,这就避免不了网络之间的拥堵。比如人一家游戏公司,你用的是电信的网,而它的服务器是联通的,当你进入这个区玩儿游戏的时候,不卡死才怪,这么糟糕的用户体验,如果能留住用户,不得不说是一个奇迹,这也就是为什么游戏一般都有网通区、电信区的原因。而我们今天要做的就是定义这么一个view,让它根据用户IP自动去选择,如果是联通的IP,就走联通的服务器,如果是电信用户就去访问电信的服务器,让其实现智能DNS解析。

   2、acl

   如果想实现DNS的智能解析,这个必须先介绍清楚了

   acl:access control list,顾名思义就是访问抑制列表的意思,定义访问控制列表就是为了能够让其根据IP进行控制,哪些IP可以访问,哪些IP不可以访问,联通的用户走哪条路,电信的用户走哪条路。下面就开始介绍实现这高大上的DNS智能解析功能。

   3、view功能配置详解

   1)在/etc/named.rfc1912.zones中定义ACL及view

       只要在DNS服务器中使用view功能,那么所有的域都必须放到view中,那么/etc/named.conf中的"."域也必须给它剪切过来,放到view中,否则会报错的。这里定义两个访问控制列表:telecom及unicom,假设联通的IP是192.16段的,电信的IP是172.16段的,这里只是模拟,如果在真实环境中,就需要自己去统计这些联通和电信的IP了。然后定义三个view:telecom,unicom,default,定义default的意义就在于,你统计时肯定会有漏掉的IP,那就让它走这个默认的。

   定义telecom这个域,把/etc/named.rfc1912.zones中原来的zones都放在这个view中吧。对于view来说,它是有执行顺序的,如果你是联通的用户多,那就把unicom放到上面,如果是电信的多,那就把telecom放到上面,这里假设电信的多。

wKioL1Mo9pnwBllTAACUfzpgl7c582.png

   定义unicom及default的view

wKioL1Mo-OSSDVqHAABHGrtcbXA537.png

2)为服务器添加两个网卡,配置两个IP,一个负责解析电信用户的,另一个负责解析联通用户的

wKiom1Mo-VHTzbmsAACEciR4wls881.png

3)为两台服务器创建区域数据库文件,联通的就叫shuishui.com.unicom,电信的就叫shuishui.com.telecom。但是这两个区域数据库文件对应的是一个域名啊,这个千万别搞错了,我们这么做的原因就是为了让一个用户访问我们的主页时,会根据其IP自动去解析使用哪台服务器,从而提高用户体验,千奇别弄错了。

   ①、创建shuishui.com.unicom资源记录,192.16开头的

wKiom1Mo-oLgWGyIAAAsE1MdZZs759.png

  ②、创建shuishui.com.telecom资源记录,172.16开头的

wKioL1Mo-qej6lz7AAAtn_tMzhw990.png

   4)重启named服务,查看端口是否被监听

wKiom1Mo-w3jMOfPAABKN4fTHBE582.png

两台DNS服务器上的UDP,TCP 53号端口已经成功被监听

   5测试unicom这个view的解析

wKiom1Mo-4DxqENFAABsArwt3oI112.png

6)测试telecom这个view的解析

wKiom1Mo-7-CUHQkAABKlIGgMOc582.png

出问题了,telecom这个view解析不成功,查看日志吧

wKiom1Mo--_jKX53AADRHJcqz4o257.png

   报错说是shuishui.com.telecom这个permission denied,原来是权限问题啊,突然想起来,没有执行六大步骤,权限也忘了改了,那就把shuishui.com.telecom这个区域数据库文件的属组改成root吧,再重新测试解析

wKiom1Mo_GmTwODCAACCbaJXYzQ038.png

修改权限后解析成功

   这高大上的配置就这样搞定了。在配置之前,最好还是先把原理搞明白了,就容易的多了。谢谢观看!










本文转自 nmshuishui 51CTO博客,原文链接:http://blog.51cto.com/nmshuishui/1379440,如需转载请自行联系原作者
目录
相关文章
|
23天前
|
域名解析 存储 缓存
DNS是什么?内网电脑需要配置吗?
【10月更文挑战第22天】DNS是什么?内网电脑需要配置吗?
82 1
|
26天前
|
监控 网络协议 安全
DNS服务器故障不容小觑,从应急视角谈DNS架构
DNS服务器故障不容小觑,从应急视角谈DNS架构
46 4
|
1月前
|
机器学习/深度学习 调度
mmseg配置解析 Polynomial Decay 多项式衰减
Polynomial Decay(多项式衰减)是一种常用的学习率调度方法,通过多项式函数逐步减少学习率,帮助模型更好地收敛。公式为:\[ lr = (lr_{initial} - \eta_{min}) \times \left(1 - \frac{current\_iter}{max\_iters}\right)^{power} + \eta_{min} \]。参数包括初始学习率、最小学习率、当前迭代次数、总迭代次数和衰减指数。适用于需要平滑降低学习率的场景,特别在训练后期微调模型参数。
58 0
mmseg配置解析 Polynomial Decay 多项式衰减
|
1月前
|
JSON JavaScript 前端开发
深入解析ESLint配置:从入门到精通的全方位指南,精细调优你的代码质量保障工具
深入解析ESLint配置:从入门到精通的全方位指南,精细调优你的代码质量保障工具
85 0
|
1月前
|
编解码 计算机视觉
mmseg配置解析 align_corners=False
`align_corners=False` 是图像插值操作中的一个参数,影响输入和输出图像的角点对齐方式。`align_corners=True` 严格对齐角点,而 `align_corners=False` 均匀分布像素点,更适用于保持整体比例关系的任务,如语义分割。
32 0
|
5天前
|
监控 Java 应用服务中间件
高级java面试---spring.factories文件的解析源码API机制
【11月更文挑战第20天】Spring Boot是一个用于快速构建基于Spring框架的应用程序的开源框架。它通过自动配置、起步依赖和内嵌服务器等特性,极大地简化了Spring应用的开发和部署过程。本文将深入探讨Spring Boot的背景历史、业务场景、功能点以及底层原理,并通过Java代码手写模拟Spring Boot的启动过程,特别是spring.factories文件的解析源码API机制。
18 2
|
1月前
|
缓存 Java 程序员
Map - LinkedHashSet&Map源码解析
Map - LinkedHashSet&Map源码解析
67 0
|
1月前
|
算法 Java 容器
Map - HashSet & HashMap 源码解析
Map - HashSet & HashMap 源码解析
54 0
|
1月前
|
存储 Java C++
Collection-PriorityQueue源码解析
Collection-PriorityQueue源码解析
60 0
|
1月前
|
安全 Java 程序员
Collection-Stack&Queue源码解析
Collection-Stack&Queue源码解析
80 0

相关产品

  • 云解析DNS
  • 推荐镜像

    更多