linux系统DNS之主从、子域授权、acl与转发(第二步)

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

此篇将说明DNS的主从复制、子域授权、acl与转发,如需要原理请参阅http://essun.blog.51cto.com/721033/1372123

正反解析

我们知道现在要访问一个网站,只要输入一个网址就可以获取到对应的页面信息,而不是用输入IP地址访问,能够完成这一功能的过程(将FQDN转换成IP地址)这就是正向解析,有了正向解析,那么反向解析又有什么用呢,正向可以将域名转换成IP地;反向解析的作用是将IP地址转换成域名。正向解析是通过正向查找区域(即数据文件中的A记录来查找)反向解析是通过反向查找区域(即数据文件中的PTR来查找),PTR记录是邮件交换记录的一种,邮件交换记录中有A记录和PTR记录,A记录解析名字到地址,而PTR记录解析地址到名字。地址是指一个客户端的IP地址,名字是指一个客户的完全合格域名。通过对PTR记录的查询,达到反查的目的.

下面将图解正反解析:

一、本机环境与软件包

1
2
3
4
5
6
7
#本机环境
[root@localhost etc] # lsb_release -a
LSB Version:    :base-4.0-amd64:base-4.0-noarch:core-4.0-amd64:core-4.0-noarch
Distributor ID: CentOS
Description:    CentOS release 6.5 (Final)
Release:    6.5
Codename:   Final


bind软件包版本 BIND 9.8.2rc1-RedHat-9.8.2-0.17.rc1.el6_4.6
正向区域 essun.com
反向区域 1.168.192.in-addr.arpa

二、主配置文件(/etc/named.conf)

wKiom1Mf-NWzjjWrAAHyiTe4v5Y264.jpg

在/var/named下默认的数据文件

wKiom1MfMSyiAC7WAAD6UTv0M0E048.jpg

检查语法

wKiom1Mf_dDi2r9XAAAtJ9fkNZw073.jpg

在/var/named目录下新增两个数据文件,一个是正向的essun.com.zone数据文件,一个是essun.com的反向数据文件192.168.114.zone

正向数据文件(essun.com.zone)

wKiom1Mf---gm5dWAAGmRhoFeRg471.jpg

数据文件语法检查(named-checkzone)

wKiom1MfOmzDvNEWAADrV7UxEKA129.jpg

反向数据文件(192.168.1.zone)

wKiom1Mf_U7A03WKAAFWhviSAOE850.jpg

检查语法

wKiom1Mf_pLTdGPpAADTI-xX8tA775.jpg

数据文件权限与属组wKioL1Mf__mQ-ySGAAJWM__tXtA051.jpg

测试正向区域

wKiom1MgAe2Q4ytEAALVUCxdvLY584.jpg

反向解析

wKioL1MgAtbzJc5WAALJfPV5rV8890.jpg

经过以上的解析,都成功了,如想了解dig的详细的使用请自觉man或google,也可以使用简单的host命令:

wKioL1MgD_zAluTsAAIuN78ClMc448.jpg

===================DNS正反解析完成=========================================

DNS主从

原理:

主从DNS服务器数据同步的过程:

①、主 DNS服务器每次修改完成并重启服务后,将传送notify给所有的Slave DNS服务器。           ②、Slave DNS服务器将查询主服务器的SOA记录,主DNS服务器收到请求后将SOA记录发送给Slave DNS服务器。

③、Slave DNS服务器收到后同时对比查询结果中的serial值,如果serial值不大于本机的话将结束数据同步过程;但是如果serial值大于本机的话,slave DNS将发送zone transfer请求要求(AXFR/IXFR)。

④、主DNS响应zone transfer请求并传送结果,直到整个slave更新完成。

注:

当新增一台辅助域服务器,第一次复制主服务器时为完全区域传送(axfr),以后主服务器每一次修改都是增量传送(infr)

主DNS的bind版本可以低于从DNS的bind版本;

向区域中添加从服务器的关键两步:

在上级获得授权

在区域数据文件中为从服务器添加一条NS记录和对应的A或PTR记录;

主DNS的主配置文件(/etc/named.conf)如下:

wKiom1MgHeqQL7HKAAE3eWVg6U0291.jpg

主的正向数据文件内容如下:

wKiom1MgHyziuRxDAAEyEeiwA-U718.jpg

主的反向数据文件

wKiom1MgIE-x7gnhAAEvfnK2Ub0221.jpg

完成后重启主的DNS服务器

1
#service named restart

从服务器配置(/etc/named.conf)如下:

wKiom1MgJTeQjBIuAAEHFql1kFc193.jpg

重启从DNS服务器

1
#service named restart

查看/var/named/slaves

wKiom1MgJmKyi94xAACopX6wKeU735.jpg

每个文件的内容

192.168.1.zone

wKiom1MgJr2BmijvAAHvC2jf1Vs937.jpg

essun.com.zone

wKiom1MgJwWxEoOFAAH0lWJtz9Y858.jpg

当然也要修改/etc/resolv.conf中的nameserver的先后顺序,这样也算实现的最简单的轮询负载a_c!

当有新的记录在主的数据文件中被增加上,记得要修改序列号(每次修改后要改变序列号),这样才能同步哦,以上实验不考虑安全因素。

让我们来看一下日志记录(/var/log/messages),是如何做到主从同步的

wKioL1MgKUTjueSIAARV8fykh8E299.jpg

其实主从的原理,就是从日志分析出来的。

(注:有问题看日志,这是一个好习惯啊)

===========================主从完成===================================================

DNS子域授权

原理:

所谓的子域授权,就是将原来在同一个域中的部分区域分到一个特定的区域解析。(此处个人理解)

父域的数据文件中添加“胶水”记录

wKioL1MgSOKDzRLhAAG5-i2C9Xc397.jpg

父域语法检查

wKiom1MgSYvTOqndAACX0BNFP8k796.jpg

重启bind服务

在子域安装好bind,子域的配置文件(/etc/named.conf)

wKioL1MgShbjGl2kAABIPzmX8Dw727.jpg

子域的数据文件(/var/named/mozi.essun.com)

wKioL1MgSvmC0acxAAEoSpVDiKM591.jpg

检查语法

wKioL1MgS2WTCIeBAAClpXz5rdM568.jpg

修改文件权限(640)与文件的属主属组

重启named服务

子域测试解析

wKiom1MgTKeTUdxgAAKZ7IOUQy8595.jpg

注:之所以没有在dig后面指父域的IP地址,是因为我在设定IP地址时,将DNS指向了父域。

在父域测试

wKioL1MgTb_CJuZLAALMG69Yg7E059.jpg

如果有多个子域就如以上的步骤重复多次,如果子域同样有主从,那么从服务器上的NS也要写到父域中数据文件中。

注:在子域测试父域内的主机是无法解析的,因为,如果当前区域无法解析此记录,会将此记录转发给根,而外网并没给此区域授权,所以将无法解析此记录,最终解析失败。

===============================子域授权完成==========================================

DNS转发

接一个问题,如果想子域解析父域,这就用到了forward,它可以将非本区域负责的解析的记录转发到其指定的区域中。如果上一个问题在子域的配置文件(/etc/namd.conf)中设置转发区域,指向父域,这样就可以解析到父域中的主机了,其原始内容不变,只增加一个区域文件,因为是转发所以不需要数据文件。

配置信息如下:

wKiom1MgYzyR6eV6AADGHR8ZZrk719.jpg

检查语法

wKioL1MgY2zh44yUAABHcW7P30Y089.jpg

无问题后,重启服务

测试解析父域

wKiom1MgZJ-Cco6wAALhSlTYncs838.jpg

以上这种转发方式叫指定的区域转发

还有一种请况就是当父域解析不到时,在options中可中设置

1
2
3
4
5
options {
         directory  "/var/named" ;
         forward first;
         forwarders { 192.168.1.114; };
};

forword 的类型有两种:

forward first设置优先使用forwarders DNS服务器做域名解析,如果查询不到再使用本地DNS服务器做域名解析。
forward only设置只使用forwarders DNS服务器做域名解析,如果查询不到则返回DNS客户端查询失败。

=================================DNS转发完成============================================

DNS的ACL(Access Control List)

简要

访问控制列表(ACL)就是一个被命名的地址匹配列表。使用访问控制列表可以使配置简单而清晰,一次定义之后可以在多处使用,不会使配置文件因为大量的 IP 地址而变得混乱。

定义 ACL

要定义访问控制列表,可以在 BIND 的主配置文件 /etc/bind/named.conf 中使用 acl 语句来实现。acl 语句的语法为:

acl ACL_NAME {

172.16.0.0/16;

192.168.0.0/24;

127.0.0.0/8;

};

BIND 里默认预定义了 4 个名称的地址匹配列表,他们可以直接使用,分别为:

  • any : 所有主机

  • localhost : 本机

  • localnets : 本地网络上的所有主机

  • none : 不匹配任何主机

  • acl 是 named.conf 中的顶级语句,不能将其嵌入其他的语句。

  • 要使用用户自己定义的访问控制列表,必须在使用之前定义。因为可以在 options 语句里使用访问控制列表,所以定义访问控制列表的 acl 语句应该位于 options 语句之前。

为了便于维护管理员定义的访问控制列表,可以将所有定义 acl 的语句存放在单独的文件 /etc/bind/named.conf.acls 中,然后在主配置文件 /etc/bind/named.conf 中如下语句

include "/etc/bind/named.conf.acls";


以下的安全控制选项中就可以写acl列表名了!!!

安全控制选项:

allow-transfer {}; 允许区域传送列表

通常都需要启用;

allow-query {};给那些主机开启查询功能

此项通常仅用于服务器是缓存名称服务器时,只开放查询功能给本地客户端;

allow-recursion {  };为那些主机递归

定义递归白名单;

allow-update { none; };(建议不要开启)

定义允许动态更新区域数据文件的主机白名单

======================================完============================================










本文转自 jinlinger 51CTO博客,原文链接:http://blog.51cto.com/essun/1374397,如需转载请自行联系原作者
目录
相关文章
|
11天前
|
存储 监控 算法
企业内网监控系统中基于哈希表的 C# 算法解析
在企业内网监控系统中,哈希表作为一种高效的数据结构,能够快速处理大量网络连接和用户操作记录,确保网络安全与效率。通过C#代码示例展示了如何使用哈希表存储和管理用户的登录时间、访问IP及操作行为等信息,实现快速的查找、插入和删除操作。哈希表的应用显著提升了系统的实时性和准确性,尽管存在哈希冲突等问题,但通过合理设计哈希函数和冲突解决策略,可以确保系统稳定运行,为企业提供有力的安全保障。
|
1月前
|
安全 前端开发 Android开发
探索移动应用与系统:从开发到操作系统的深度解析
在数字化时代的浪潮中,移动应用和操作系统成为了我们日常生活的重要组成部分。本文将深入探讨移动应用的开发流程、关键技术和最佳实践,同时分析移动操作系统的核心功能、架构和安全性。通过实际案例和代码示例,我们将揭示如何构建高效、安全且用户友好的移动应用,并理解不同操作系统之间的差异及其对应用开发的影响。无论你是开发者还是对移动技术感兴趣的读者,这篇文章都将为你提供宝贵的见解和知识。
|
1月前
|
负载均衡 网络协议 算法
Docker容器环境中服务发现与负载均衡的技术与方法,涵盖环境变量、DNS、集中式服务发现系统等方式
本文探讨了Docker容器环境中服务发现与负载均衡的技术与方法,涵盖环境变量、DNS、集中式服务发现系统等方式,以及软件负载均衡器、云服务负载均衡、容器编排工具等实现手段,强调两者结合的重要性及面临挑战的应对措施。
78 3
|
14天前
|
安全 搜索推荐 数据挖掘
陪玩系统源码开发流程解析,成品陪玩系统源码的优点
我们自主开发的多客陪玩系统源码,整合了市面上主流陪玩APP功能,支持二次开发。该系统适用于线上游戏陪玩、语音视频聊天、心理咨询等场景,提供用户注册管理、陪玩者资料库、预约匹配、实时通讯、支付结算、安全隐私保护、客户服务及数据分析等功能,打造综合性社交平台。随着互联网技术发展,陪玩系统正成为游戏爱好者的新宠,改变游戏体验并带来新的商业模式。
|
2月前
|
缓存 并行计算 Linux
深入解析Linux操作系统的内核优化策略
本文旨在探讨Linux操作系统内核的优化策略,包括内核参数调整、内存管理、CPU调度以及文件系统性能提升等方面。通过对这些关键领域的分析,我们可以理解如何有效地提高Linux系统的性能和稳定性,从而为用户提供更加流畅和高效的计算体验。
37 2
|
2月前
|
机器学习/深度学习 人工智能 数据处理
【AI系统】NV Switch 深度解析
英伟达的NVSwitch技术是高性能计算领域的重大突破,旨在解决多GPU系统中数据传输的瓶颈问题。通过提供比PCIe高10倍的带宽,NVLink实现了GPU间的直接数据交换,减少了延迟,提高了吞吐量。NVSwitch则进一步推动了这一技术的发展,支持更多NVLink接口,实现无阻塞的全互联GPU系统,极大提升了数据交换效率和系统灵活性,为构建强大的计算集群奠定了基础。
88 3
|
2月前
|
网络协议 网络安全 网络虚拟化
本文介绍了十个重要的网络技术术语,包括IP地址、子网掩码、域名系统(DNS)、防火墙、虚拟专用网络(VPN)、路由器、交换机、超文本传输协议(HTTP)、传输控制协议/网际协议(TCP/IP)和云计算
本文介绍了十个重要的网络技术术语,包括IP地址、子网掩码、域名系统(DNS)、防火墙、虚拟专用网络(VPN)、路由器、交换机、超文本传输协议(HTTP)、传输控制协议/网际协议(TCP/IP)和云计算。通过这些术语的详细解释,帮助读者更好地理解和应用网络技术,应对数字化时代的挑战和机遇。
124 3
|
2月前
|
算法 Linux 定位技术
Linux内核中的进程调度算法解析####
【10月更文挑战第29天】 本文深入剖析了Linux操作系统的心脏——内核中至关重要的组成部分之一,即进程调度机制。不同于传统的摘要概述,我们将通过一段引人入胜的故事线来揭开进程调度算法的神秘面纱,展现其背后的精妙设计与复杂逻辑,让读者仿佛跟随一位虚拟的“进程侦探”,一步步探索Linux如何高效、公平地管理众多进程,确保系统资源的最优分配与利用。 ####
76 4
|
2月前
|
缓存 负载均衡 算法
Linux内核中的进程调度算法解析####
本文深入探讨了Linux操作系统核心组件之一——进程调度器,着重分析了其采用的CFS(完全公平调度器)算法。不同于传统摘要对研究背景、方法、结果和结论的概述,本文摘要将直接揭示CFS算法的核心优势及其在现代多核处理器环境下如何实现高效、公平的资源分配,同时简要提及该算法如何优化系统响应时间和吞吐量,为读者快速构建对Linux进程调度机制的认知框架。 ####
|
2月前
|
前端开发 Android开发 UED
移动应用与系统:从开发到优化的全面解析####
本文深入探讨了移动应用开发的全过程,从最初的构思到最终的发布,并详细阐述了移动操作系统对应用性能和用户体验的影响。通过分析当前主流移动操作系统的特性及差异,本文旨在为开发者提供一套全面的开发与优化指南,确保应用在不同平台上均能实现最佳表现。 ####
36 0

相关产品

  • 云解析DNS