Linux DNS 服务器配置与管理
一、环境介绍:
运行软件:VMware Workstation Pro 14
系统环境:CentOS-7-x86_64-1810
二、操作配置:
1、基础知识简介
(1)域名空间
域和域名:
DNS树的每个节点代表一个域,通过这些节点,对整个域名空间进行划分,成为一个层次结构。域名空间的每个域的名字通过域名进行表示。域名通常由一个完全正式域名(FQDN)标识。
Internet域名空间:
DNS根域下面是顶级域,也由Internet域名注册授权机构管理。共有3种类型的顶级域 (组织域、地址域、反向域)。
区(Zone):
区是DNS名称空间的一个连续部分,其包含了一组存储在DNS服务器上的资源记录。
(2)DNS 服务器分类
DNS服务器分为4类:
.主DNS服务器(Master或Primary)
.辅助DNS服务器(Slave或Secondary)
.转发DNS服务器
.唯高速缓存DNS服务器(Caching-only DNS server)
(3)DNS 查询模式
.递归查询
DNS 客户端送出查询要求后,如果DNS服务器内没有需要的数据,则DNS服务器会代替客户端向其他的DNS服务器查询,客户机只需接触一次DNS服务器。
.迭代查询
DNS 客户端送出查询后,如果DNS服务器内没有需要的数据,则返给客户机另一个DNS服务器地址,将客户机转向另一个DNS服务器。
(4)域名解析过程
.DNS 域名解析的工作原理
.DNS 域名解析的工作过程
① 客户机提交域名解析请求,并将该请求发送给本地的域名服务器。
② 当本地的域名服务器收到请求后,就先查询本地的缓存。如果有查询的DNS信息记录,则直接返回查询的结果。如果没有该记录,本地域名服务器就把请求发给根域名服务器。
③ 根域名服务器再返回给本地域名服务器-个所查询域的顶级域名服务器的地址。
④ 本地服务器再向返回的域名服务器发送请求。
⑤ 接收到该查询请求的域名服务器查询其缓存和记录,如果有相关信息则返回客户机查询结果,否则通知客户机下级的域名服务器的地址。
⑥ 本地域名服务器将查询请求发送给返回的DNS服务器。
⑦ 域名服务器返回本地服务器查询结果(如果该域名服务器不包含查询的DNS信息,查询过程将重复⑥、⑦步骤,直到返回解析信息或解析失败的回应)。
⑧ 本地域名服务器将返回的结果保存到缓存,并且将结果返回给客户机。
.正向解析与反向解析
正向解析:正向解析是指域名到IP地址的解析过程。
反向解析:反向解析是从IP地址到域名的解析过程。反向解析的作用为服务器的身份验证。
2、主 DNS 服务器配置
(0)DNS 服务器IP地址配置
(1)安装 DNS 服务
.认识 BIND
BIND 是一款实现DNS服务器的开放源码软件。BIND经历了第4版、第8版和最新的第9版,第9版修正了以前版本的许多错误,并提升了执行时的效能,BIND能够运行在当前大多数的操作系统平台之上。目前BIND软件由Internet软件联
合会(Internet Software Consortium,ISC)这个非营利性机构负责开发和维护。
.安装 bind 软件包
使用yum命令安装bind服务
yum clean all //安装前先清除缓存 yum install bind* -y rpm -qa|grep bind
(2)配置主配置文件 named.conf
[root@localhost ~]# vim /etc/named.conf
(3)配置正向解析区域 qftm.com.zone
[root@localhost ~]# vim /var/named/qftm.com.zone
(4)配置反向解析区域 2.168.192.in-addr.arpa.zone
[root@localhost ~]# vim /var/named/2.168.192.in-addr.arpa.zone
(5)将 /etc/named.comf、正反向区域文件属组有root改为named
[root@localhost ~]# chgrp named /etc/named.conf
[root@localhost ~]# chgrp named /var/named/qftm.com.zone
[root@localhost ~]# chgrp named /var/named/2.168.192.in-addr.arpa.zone
(6)检查各个配置文件是否正确
.检查主配置文件 named.conf
[root@localhost ~]# named-checkconf
.检查正向解析区域 qftm.com.zone
[root@localhost ~]# named-checkzone "qftm.com" /var/named/qftm.com.zone
.检查反向解析区域 2.168.192.in-addr.arpa.zone
(7)重启 DNS 服务
[root@localhost ~]# systemctl restart named
(8)在Linux客户端测试配置效果
[root@localhost ~]# nslookup
> server //查询DNS服务器地址
Default server: 192.168.2.129
Address: 192.168.2.129#53
> dns.qftm.com //解析dns.qftm.com
Server: 192.168.2.129
Address: 192.168.2.129#53 Name: dns.qftm.com
Address: 192.168.2.129
> blog.qftm.com //解析blog.qftm.com
Server: 192.168.2.129
Address: 192.168.2.129#53 Name: blog.qftm.com
Address: 192.168.2.111
> 192.168.2.129 //反向解析192.168.2.129
Server: 192.168.2.129
Address: 192.168.2.129#53 129.2.168.192.in-addr.arpa name = dns.qftm.com.
> 192.168.2.111 //反向解析192.168.2.111
Server: 192.168.2.129
Address: 192.168.2.129#53 111.2.168.192.in-addr.arpa name = blog.qftm.com.
> exit //退出测试 [root@localhost ~]#
3、辅助 DNS 服务器配置
(1)辅助域名服务器
.DNS划分若干区域进行管理,每个区域由一个或多个域名服务器负责解析。对于存在多个域名服务器的区域,必须选择一台主域名服务器(master),保存并管理整个区域的信息,其他服务器称为辅助域名服务器(slave)。
.管理区域时,使用辅助域名服务器有如下几点好处:
① 辅助DNS服务器提供区域冗余,能够在该区域的主服务器停止响应时为客户端解析该区域的DNS名称。
② 创建辅助DNS服务器可以减少DNS网络通信量。采用分布式结构,在低速广域网链路中添加DNS服务器能有效地管理和减少网络通信量。
③ 辅助服务器可以用于减少区域的主服务器的负载。
(2)区域传输
.为了保证DNS数据相同,所有服务器必须进行数据同步,辅助域名服务器从主域名服务器获得区域副本,这个过程称为区域传输。
.区域传输存在两种方式:完全区域传输(AXFR)和增量区域传输(IXFR)。
.满足发生区域传输的条件时,辅助域名服务器向主服务器发送查询请求,更新其区域文件。
.区域传输过程:
① 区域传输初始阶段,辅助服务器向主DNS服务器发送完全区域传输(AXFR)请求。
② 主服务器做出响应,并将此区域完全传输到辅助服务器。该区域传输时会一并发送SOA资源记录。SOA中“序列号”(serial) 字段表示区域数据的版本,“刷新时间”(refresh)指出辅助服务器下一次发送查询请求的时间间隔。
③ 刷新间隔到期时,辅助服务器使用SOA查询来请求从主服务器续订此区域。
④ 主域名服务器应答其SOA记录的查询。该响应包括主服务器中该区域的当前序列号版本。
⑤ 辅助服务器检查响应中的SOA记录的序列号,并确定续订该区域的方法,如果辅助服务器确认区域文件已经更改,则它会把IXFR查询发送到主服务器。若SOA响应中的序列号等于其当前的本地序列号,那么两个服务器区域数据都相同,并且不需要区域传输。然后,辅助服务器根据主服务器SOA响应中的该字段值重新设置其刷新时间,续订该区域。如果SOA响应中的序列号值比其当前本地序列号要高,则可以确定此区域己更新并需要传输。
⑥ 主服务器通过区域的增量传输或完全传输做出响应。如果主服务器可以保存修改的资源记录的历史记录,则它可以通过增量区域传输(IXFR) 做出应答。如果主服务器不支持增量传输或没有区域变化的历史记录,则它可以通过完全区域传输(AXFR)做出应答。
(3)配置辅助域名服务器
.DNS 服务器IP地址配置
.安装 bind 软件包
使用yum命令安装bind服务
yum clean all //安装前先清除缓存 yum install bind* -y rpm -qa|grep bind
.配置主配置文件 named.conf
[root@localhost ~]# vim /etc/named.conf

PS:辅助DNS服务器只需要设置主配置文件,正反向区域解析文件会在辅助DNS服务器设置完成主配置文件重启DNS服务时又主DNS服务器同步到辅助DNS服务器。只不过路径是/var/named/slaves而已。
.数据同步测试
① 重启辅助服务器named服务,使其与主域名服务器数据同步,然后我们在主域名服务器上执行tail命令查看系统日志,辅助域名服务器通过完整无缺区域复制(AXFR)获取qftm.com区域数据。
② 通过ls命令查看辅助域名服务器/var/named/slaves目录下是否存在qftm.com区域文件,若存在说明复制成功。
PS:配置区域复制时主DNS服务器和辅助DNS服务器一定要关闭防火墙
③ 在客户端测试辅助DNS服务器
[root@localhost ~]# nslookup
> server
Default server: 192.168.2.128
Address: 192.168.2.128#53
> www.qftm.com
Server: 192.168.2.128
Address: 192.168.2.128#53 Name: www.qftm.com
Address: 192.168.2.100
> dns.qftm.com
Server: 192.168.2.128
Address: 192.168.2.128#53 Name: dns.qftm.com
Address: 192.168.2.129
> 192.168.2.100
Server: 192.168.2.128
Address: 192.168.2.128#53 100.2.168.192.in-addr.arpa name = www.qftm.com.
> 192.168.2.129
Server: 192.168.2.128
Address: 192.168.2.128#53 129.2.168.192.in-addr.arpa name = dns.qftm.com.
> exit [root@localhost ~]#
Linux DNS 服务器配置与管理的更多相关文章
- linux——DNS服务器配置
讲课,请不要在课堂上查找文件,浏览器搜索,会感觉你很不上心,玩听众,一定提前做很多遍,模拟很多遍: 演讲,请务必准备好材料,考虑听众的感受,一定不要让外行人云里雾里,听不懂你在讲什么,那就尴尬了, D ...
- Linux DHCP 服务器配置与管理
一.环境介绍: 运行软件:VMware Workstation Pro 14 系统环境:CentOS-7-x86_64-1810 二.操作配置: 1.DHCP 服务器搭建 1)安装DHCP yum i ...
- 为linux dns (bind named)服务器配置 单独的笔记
注意: 当在把 named.ca文件下载好13个根dns服务器的 全球记录后, 就不再需要别的 dns服务器来辅助获得了. 只要把所有 本地服务器 不能解析的请求, 都发送到 . 点根去就行了, 所以 ...
- Linux命令详解-Apache网站服务器配置和管理
1.Apache网站服务器配置和管理 1.源码包安装 2.rpm包安装 rpm –a | grep httpd 3.启动服务 service httpd start 4.配置文件: /etc/http ...
- Linux DNS 服务器安装、配置和维护
每个 IP 地址都可以有一个主机名,主机名由一个或多个字符串组成,字符串之间用小数点隔开.有了主机名,就不要死记硬背每台 IP 设备的 IP 地址,只要记住相对直观有意义的主机名就行了.这就是 DNS ...
- Linux就业技术指导(五):Linux运维核心管理命令详解
一,Linux核心进程管理命令 1.1 ps:查看进程 1.1.1 命令解释 功能说明 ps命令用于列出执行ps命令的那个时刻的进程快照,就像用手机给进程照了一张照片.如果想要动态地显示进程,就需要使 ...
- DNS服务器配置实践
实验背景:在Linux系统上配置主要DNS服务器和辅助DNS服务器,所在域名为example.com,子网为192.168.X.0. 启动已安装LINUX系统,进行DNS服务器配置. 一.配置主要DN ...
- (转)Linux SSH批量分发管理
Linux SSH批量分发管理 原文:http://blog.51cto.com/chenfage/1831166 第1章 SSH服务基础介绍 1.1 SSH服务 1.1.1SSH介绍 SSH是Sec ...
- 云计算:Linux运维核心管理命令详解
云计算:Linux运维核心管理命令详解 想做好运维工作,人先要学会勤快: 居安而思危,勤记而补拙,方可不断提高: 别人资料不论你用着再如何爽那也是别人的: 自己总结东西是你自身特有的一种思想与理念的展 ...
随机推荐
- establish状态,本地ip和端口连接本地ip端口可能是一样的。
以下是从stackoverflow上抄下来的,很有帮助 How can you have a TCP connection back to the same port? A TCP connectio ...
- coturn编译运行在Windows平台
turn 编译安装到Windows平台 https://www.webrtc-experiment.com/docs/TURN-server-installation-guide.html#windo ...
- Hadoop hadoop 机架感知配置
机架感知脚本 使用python3编写机架感知脚本,报存到topology.py,给予执行权限 import sys import os DEFAULT_RACK="/default-rack ...
- Oracle语法 及 SQL题目(二)
目录 课例复制 思考题四 解题思路 思考题五 解题思路 课例复制 思考题四 最近,经过你的努力,你得到了一份工作,成为了百货公司的一位经理. 到位后,你发现你的销售数据库中有两张表,一个是商店促销时间 ...
- [设计原则与模式] Java 适配器模式
cp from : https://blog.csdn.net/xiaouncle/article/details/80553923 设计模式本质上就是“SOLID设计原则”在实际应用中的具体体现,我 ...
- SC3聚类 | 拉普拉斯矩阵 | Laplacian matrix | 图论 | R代码
Laplacian和PCA貌似是同一种性质的方法,坐标系变换.只是拉普拉斯属于图论的范畴,术语更加专业了. 要看就把一篇文章看完整,再看其中有什么值得借鉴的,总结归纳理解后的东西才是属于你的. 问题: ...
- DataSource接口 Connection pooling(连接池
一.DataSource接口是一个更好的连接数据源的方法: JDBC1.0是原来是用DriverManager类来产生一个对数据源的连接.JDBC2.0用一种替代的方法,使用DataSource的实 ...
- flutter Draggable Widget拖拽控件
Draggable Widget Draggable控件负责就是拖拽,父层使用了Draggable,它的子元素就是可以拖动的,子元素可以实容器,可以是图片.用起来非常的灵活. 参数说明: data: ...
- Python3基础 只有int类型,没有long类型
Python : 3.7.3 OS : Ubuntu 18.04.2 LTS IDE : pycharm-community-2019.1.3 ...
- Source Insight 4.0配置格式化工具AStyle.exe
Source Insight 4.0配置格式化工具AStyle.exe 摘自:https://blog.csdn.net/u012156133/article/details/81566871 1. ...