《网络运维管理从基础到实战》 实验七:实现本地DNS服务 实验简介 基于 Centos8操作系统通过BIND创建DNS服务器,将其部署在园区网内,为园区网内的主 机提供DNS査询、域名解析服务,并通过抓包分析DNS报文结构和DNS服务器进行DNS查询的 通信过程。 二、实验目的 熟悉使用BIND实现DNS服务器的方法 2、掌握主、从DNS查询服务的配置方法; 3、掌握主、从域名解析服务的配置方法 4、掌握DNS查询通信过程。 三、实验理论 1、什么是DNS DNS(英文: Domain Name System,缩写:DNS)是互联网的一项重要服务,其主要功能是提 供域名解析和DNS查询。DNS作为将域名和P地址相互映射的一个分布式数据库,能够使网络 用户更方便地访问互联网。DNS客户端与DNS服务端进行请求一响应的通信时,遵循DNS协议 规范。 安装DNS服务端程序的主机叫做DNS服务器。由于整个互联网域名体系的庞大,使得互联网 中DNS服务器不止一台。DNS服务器中保存着域名和IP地址的对应关系,被称作DNS记录。根 据请求把域名转换成为地址的过程叫做域名解析。DNS客户端发起域名解析请求并得到査询结 果的过程叫做DNS查询 2、DNS查询 (1)什么是DNS查询 在DNS系统里,提供DNS服务的主机被称为DNS服务器或域名服务器,而提出“域名查询” 请求的主机,被称为DNS客户端。 本地主机访问一个网站时,通常是输入域名地址,而不是IP地址。本地主机会首先调用DNS 客户端软件査询本地 hosts文件,如果里面有对应的域名记录则直接使用,如果没有则会把域名解 析请求发送到本地主机所设置的本地域名服务器进行查询。本地域名服务器查询自身的资源记录 (通常放在DNS缓存中)并将査询结果反馈给本地主机。若本地域名服务器无法解析则将查询请 求发送互联网上的DNS系统(包括根域名服务器、顶级域名服务器、权限域名服务器等),进行进 步查询,最后把结果返回给本地主机的DNS客户端软件。本地主机获得网站域名对应的IP地址 后,便通过该IP地址向网站服务器发送访问网站的请求 (2)递归查询与迭代查询 DNS客户端软件向本地域名服务器的査询一般采用递归查询。DNS客户端软件向本地域名服 河南中医药大学信息技术学院|网络与信息系统科研工作室 第1页
《网络运维管理从基础到实战》 1 河南中医药大学信息技术学院 | 网络与信息系统科研工作室 第1页 实验七:实现本地 DNS 服务 一、实验简介 基于 CentOS8 操作系统通过 BIND 创建 DNS 服务器,将其部署在园区网内,为园区网内的主 机提供 DNS 查询、域名解析服务,并通过抓包分析 DNS 报文结构和 DNS 服务器进行 DNS 查询的 通信过程。 二、实验目的 1、熟悉使用 BIND 实现 DNS 服务器的方法; 2、掌握主、从 DNS 查询服务的配置方法; 3、掌握主、从域名解析服务的配置方法; 4、掌握 DNS 查询通信过程。 三、实验理论 1、什么是 DNS DNS(英文:Domain Name System,缩写:DNS)是互联网的一项重要服务,其主要功能是提 供域名解析和 DNS 查询。DNS 作为将域名和 IP 地址相互映射的一个分布式数据库,能够使网络 用户更方便地访问互联网。DNS 客户端与 DNS 服务端进行请求—响应的通信时,遵循 DNS 协议 规范。 安装 DNS 服务端程序的主机叫做 DNS 服务器。由于整个互联网域名体系的庞大,使得互联网 中 DNS 服务器不止一台。DNS 服务器中保存着域名和 IP 地址的对应关系,被称作 DNS 记录。根 据请求把域名转换成为 IP 地址的过程叫做域名解析。DNS 客户端发起域名解析请求并得到查询结 果的过程叫做 DNS 查询。 2、DNS 查询 (1)什么是 DNS 查询 在 DNS 系统里,提供 DNS 服务的主机被称为 DNS 服务器或域名服务器,而提出“域名查询” 请求的主机,被称为 DNS 客户端。 本地主机访问一个网站时,通常是输入域名地址,而不是 IP 地址。本地主机会首先调用 DNS 客户端软件查询本地 hosts 文件,如果里面有对应的域名记录则直接使用,如果没有则会把域名解 析请求发送到本地主机所设置的本地域名服务器进行查询。本地域名服务器查询自身的资源记录 (通常放在 DNS 缓存中)并将查询结果反馈给本地主机。若本地域名服务器无法解析则将查询请 求发送互联网上的 DNS 系统(包括根域名服务器、顶级域名服务器、权限域名服务器等),进行进 一步查询,最后把结果返回给本地主机的 DNS 客户端软件。本地主机获得网站域名对应的 IP 地址 后,便通过该 IP 地址向网站服务器发送访问网站的请求。 (2)递归查询与迭代查询 DNS 客户端软件向本地域名服务器的查询一般采用递归查询。DNS 客户端软件向本地域名服
《网络运维管理从基础到实战》 2 务器发出DNS査询请求,如果本地域名服务器能够解析就直接返回结果,如果不能,本地域名服 务器就代替DNS客户端去其他的域名服务器进行查询(其他的域名服务器是递归查询还是迭代查 询由其自身决定),最终将查询到的结果返回给主机。 本地域名服务器向其他的域名服务器发出的査询通常采用迭代查询,即本地域名服务器向其他 域名服务器进行DNS查询,其他域名服务器告诉本地域名服务器去哪里查询能够得到结果,而不 是替本地域名服务器进行查询 (3)本地域名服务器 本地域名服务器一般是指DNS客户端上网时IPV4或者IPV6设置中填写的首选DNS,是手工 指定的或者是DHCP自动分配的 如果DNS客户端是直连运营商网络,一般情况下默认设置DNS为DHCP分配的运营商的域 名服务器地址。如果DNS客户端和运营商之间有无线路由器,通常无线路由器本身内置DNS转发 器,其作用是将收到的所有DNS请求转发到上层DNS服务器,此时主机的本地域名服务器地址配 置为无线路由器的地址。无线路由器的DNS转发器将请求转发到上层ISP的DNS服务器或无线路 由器内设定的DNS服务器 3、域名解析 (1)什么是域名解析 域名到IP地址的解析是由分布在因特网上的许多域名服务器程序共同完成的。域名服务器程 序在专设的服务器上运行,通常把运行域名服务器程序的机器称为域名服务器 域名服务器是一个分布式的提供域名查询服务的数据库,域名解析实质就是在数据库中建立域 名和IP地址之间联系的过程。只有在数据库中建立了解析记录,其他的客户机才能通过DNS服务 器查询到与域名相对应的IP地址,进而访问目的主机。 (2)域名服务器 域名服务器分为根域名服务器、顶级域名服务器、权限域名服务器和本地域名服务器四种,其 结构如图40-2所示。 理论上,所有域名查询都必须先查询根域名,所有的顶级域名和IP地址对应关系都保存在DNS 根区文件中,保存DNS根区文件的服务器叫做根域名服务器 根域名服务器 根域名服务器 展级域名服务器 org域名服务器 cc程域名服务器 ech域名服务器 域名服务器 权限域名服务器 ab公司有两个 域名服务器 图40-2树状结构的域名服务器 同样,顶级域名服务器保存下设的二级域名和IP地址对应关系,而每一个二级域名都设有权 河南中医药大学信息技术学院|网络与信息系统科研工作室
《网络运维管理从基础到实战》 2 河南中医药大学信息技术学院 | 网络与信息系统科研工作室 第2页 务器发出 DNS 查询请求,如果本地域名服务器能够解析就直接返回结果,如果不能,本地域名服 务器就代替 DNS 客户端去其他的域名服务器进行查询(其他的域名服务器是递归查询还是迭代查 询由其自身决定),最终将查询到的结果返回给主机。 本地域名服务器向其他的域名服务器发出的查询通常采用迭代查询,即本地域名服务器向其他 域名服务器进行 DNS 查询,其他域名服务器告诉本地域名服务器去哪里查询能够得到结果,而不 是替本地域名服务器进行查询。 (3)本地域名服务器 本地域名服务器一般是指 DNS 客户端上网时 IPv4 或者 IPv6 设置中填写的首选 DNS,是手工 指定的或者是 DHCP 自动分配的。 如果 DNS 客户端是直连运营商网络,一般情况下默认设置 DNS 为 DHCP 分配的运营商的域 名服务器地址。如果 DNS 客户端和运营商之间有无线路由器,通常无线路由器本身内置 DNS 转发 器,其作用是将收到的所有 DNS 请求转发到上层 DNS 服务器,此时主机的本地域名服务器地址配 置为无线路由器的地址。无线路由器的 DNS 转发器将请求转发到上层 ISP 的 DNS 服务器或无线路 由器内设定的 DNS 服务器。 3、域名解析 (1)什么是域名解析 域名到 IP 地址的解析是由分布在因特网上的许多域名服务器程序共同完成的。域名服务器程 序在专设的服务器上运行,通常把运行域名服务器程序的机器称为域名服务器。 域名服务器是一个分布式的提供域名查询服务的数据库,域名解析实质就是在数据库中建立域 名和 IP 地址之间联系的过程。只有在数据库中建立了解析记录,其他的客户机才能通过 DNS 服务 器查询到与域名相对应的 IP 地址,进而访问目的主机。 (2)域名服务器 域名服务器分为根域名服务器、顶级域名服务器、权限域名服务器和本地域名服务器四种,其 结构如图 4-0-2 所示。 理论上,所有域名查询都必须先查询根域名,所有的顶级域名和 IP 地址对应关系都保存在 DNS 根区文件中,保存 DNS 根区文件的服务器叫做根域名服务器。 同样,顶级域名服务器保存下设的二级域名和 IP 地址对应关系,而每一个二级域名都设有权 图 4-0-2 树状结构的域名服务器
《网络运维管理从基础到实战》 限域名服务器,保存了这个域名下所有子域名和主机名对应的IP地址。 本地域名服务器并不属于图4-0-2所示的域名服务器层次结构,但它对域名系统非常重要。当 一个主机发出DNS查询请求时,查询请求报文就发送给本地域名服务器,由本地域名服务器作下 一步处理。 4、常用域名记录类型 (1)NS记录 名称服务器( Name Server,NS)资源记录定义了该域名由哪个DNS服务器负责解析,NS资 源记录定义的服务器称为权限域名服务器。权限域名服务器负责维护和管理所管辖区域中的数据 它被其他服务器或客户端当作权威的来源,为DNS客户端提供数据查询,并且能肯定应答区域内 所含名称的查询。 2)SOA记录 SOA是 Start of Authority(起始授权机构)的缩写,是主要名称区域文件中必须设定的资源记 录,表示创建它的DNS服务器是主要名称服务器。SOA资源记录定义了域名数据的基本信息和属 性(更新或过期间隔)。通常应将SOA资源记录放在区域文件的第一行或紧跟在$t选项之后。 3)A记录 主机地址( Address,A)资源记录是最常用的记录,定义域名记录对应IP地址的信息。其格 式如下: INA192.168.16.15 www.testcom INA192.168.16.243 mail. test. com INA192.168.16.156 在上面的例子中,使用了两种方式定义A资源记录:一种是使用相对名称,另一种是使用完全 规范域名( Fully Qualifiied Domain Name,FQDN)。这两种方式只是书写形式不同而已,在使用上 没有任何区别。 4)AAA AAAA记录( AAAA record)是用来定义域名记录对应IPV6地址的记录。用户可以将一个域名 记录解析为IPV6地址,也可以将子域名解析为IPv6地址 5)MX记录 邮件交换器( Mail eXchanger,Mx)资源记录指向一个邮件服务器,用于电子邮件系统发邮件 时根据收件人邮件地址后缀来定位邮件服务器。例如,当一个邮件要发送到地址 networkatest. com 时,邮件服务器通过DNS服务查询 test. com域名的MX资源记录,如果MX资源记录存在,邮件 就会发送到MX资源记录所指向的邮件服务器上 可以设置多个MX资源记录,指明多个邮件服务器,优先级别由MX后的0-99的数字决定 数字越小,邮件服务器的优先级别越高。优先级别高的邮件服务器是邮件传送的主要对象,当邮件 传送给优先级高的邮件服务器失败时,再依次传送给优先级别低的邮件服务器 由于MⅨX资源记录值登记了邮件服务器的域名,而在邮件实际传输时,是通过邮件服务器的IP 地址进行通信的,因此邮件服务器还必须在区域文件中有一个A资源记录,以指明邮件服务器的 IP地址,否则会导致传输邮件失败。 河南中医药大学信息技术学院|网络与信息系统科研工作室 第3页
《网络运维管理从基础到实战》 3 河南中医药大学信息技术学院 | 网络与信息系统科研工作室 第3页 限域名服务器,保存了这个域名下所有子域名和主机名对应的 IP 地址。 本地域名服务器并不属于图,4-0-2 所示的域名服务器层次结构,但它对域名系统非常重要。当 一个主机发出 DNS 查询请求时,查询请求报文就发送给本地域名服务器,由本地域名服务器作下 一步处理。 4、常用域名记录类型 (1)NS 记录 名称服务器(Name Server,NS)资源记录定义了该域名由哪个 DNS 服务器负责解析,NS 资 源记录定义的服务器称为权限域名服务器。权限域名服务器负责维护和管理所管辖区域中的数据, 它被其他服务器或客户端当作权威的来源,为 DNS 客户端提供数据查询,并且能肯定应答区域内 所含名称的查询。 2)SOA 记录 SOA 是 Start of Authority(起始授权机构)的缩写,是主要名称区域文件中必须设定的资源记 录,表示创建它的 DNS 服务器是主要名称服务器。SOA 资源记录定义了域名数据的基本信息和属 性(更新或过期间隔)。通常应将 SOA 资源记录放在区域文件的第一行或紧跟在$ttl 选项之后。 3)A 记录 主机地址(Address,A)资源记录是最常用的记录,定义域名记录对应 IP 地址的信息。其格 式如下: dns IN A 192.168.16.15 www.test.com. IN A 192.168.16.243 mail.test.com. IN A 192.168.16.156 在上面的例子中,使用了两种方式定义 A 资源记录:一种是使用相对名称,另一种是使用完全 规范域名(Fully Qualifiied Domain Name,FQDN)。这两种方式只是书写形式不同而已,在使用上 没有任何区别。 4)AAAA 记录 AAAA 记录(AAAA record)是用来定义域名记录对应 IPv6 地址的记录。用户可以将一个域名 记录解析为 IPv6 地址,也可以将子域名解析为 IPv6 地址。 5)MX 记录 邮件交换器(Mail eXchanger,MX)资源记录指向一个邮件服务器,用于电子邮件系统发邮件 时根据收件人邮件地址后缀来定位邮件服务器。例如,当一个邮件要发送到地址 network@test.com 时,邮件服务器通过 DNS 服务查询 test.com 域名的 MX 资源记录,如果 MX 资源记录存在,邮件 就会发送到 MX 资源记录所指向的邮件服务器上。 可以设置多个 MX 资源记录,指明多个邮件服务器,优先级别由 MX 后的 0-99 的数字决定, 数字越小,邮件服务器的优先级别越高。优先级别高的邮件服务器是邮件传送的主要对象,当邮件 传送给优先级高的邮件服务器失败时,再依次传送给优先级别低的邮件服务器。 由于 MX 资源记录值登记了邮件服务器的域名,而在邮件实际传输时,是通过邮件服务器的 IP 地址进行通信的,因此邮件服务器还必须在区域文件中有一个 A 资源记录,以指明邮件服务器的 IP 地址,否则会导致传输邮件失败
《网络运维管理从基础到实战》 6)PTR记录 PTR( Pointer record)指针记录,执行通过IP查询域名的解析。原则上,PIR记录与A记录 是相匹配的,一条A记录对应一条PTR记录,两者不匹配或者遗漏PTR记录会导致依赖域名的业 务系统服务性能降低。 7) CNAME记录 别名( Canonical Name, CNAME)资源记录也被称为规范名字资源记录。 CNAME资源记录允 许将多个名称映射到同一台计算机上。例如,对于同时提供web、 Samba和BBS服务的计算机(假 设IP地址为192.168.169),可以建立一条A记录“www:test.com.INA192.168.16.9”,并设置 两个别名bbs和 samba,即建立两条 CNAME记录“ samba In cName www”和“ bbs in cname www”,实现不同服务对应不同域名记录,但访问的是同一个IP地址 四、实验规划 互联网-1 互联网-2 OR21核心路由区域 数据中心区域 用户区域 S-RS-1 S-RS-2 A-RS-1 B-RS1 S-RS-3 A-AP-1 2当惠 STA-1 Phone.1 AC-1 AC-2 B- C1 B-C.2 STA-2 图7-0-1实验7的网络拓扑 将DNS- Master、DNsS- Slave分别作为主、辅DNS服务器,接入到数据中心交换机S-RS-3,以 主从模式提供本地DNS查询和内部域名解析服务 在DNS服务器中,包含一条A记录,wwwdomain.com,其对应的P地址是1721665.10 DNS-Master和DNS- Slave的P地址分别设为172166410和172166411l 五、实验过程 河南中医药大学信息技术学院|网络与信息系统科研工作室 第4页
《网络运维管理从基础到实战》 4 河南中医药大学信息技术学院 | 网络与信息系统科研工作室 第4页 6)PTR 记录 PTR(Pointer Record)指针记录,执行通过 IP 查询域名的解析。原则上,PTR 记录与 A 记录 是相匹配的,一条 A 记录对应一条 PTR 记录,两者不匹配或者遗漏 PTR 记录会导致依赖域名的业 务系统服务性能降低。 7)CNAME 记录 别名(Canonical Name,CNAME)资源记录也被称为规范名字资源记录。CNAME 资源记录允 许将多个名称映射到同一台计算机上。例如,对于同时提供 Web、Samba 和 BBS 服务的计算机(假 设 IP 地址为 192.168.16.9),可以建立一条 A 记录“www.test.com. IN A 192.168.16.9”,并设置 两个别名 bbs 和 samba,即建立两条 CNAME 记录“samba IN CNAME www”和“bbs IN CNAME www”,实现不同服务对应不同域名记录,但访问的是同一个 IP 地址。 四、实验规划 将 DNS-Master、DNS-Slave 分别作为主、辅 DNS 服务器,接入到数据中心交换机 S-RS-3,以 主从模式提供本地 DNS 查询和内部域名解析服务。 在 DNS 服务器中,包含一条 A 记录,www.domain.com,其对应的 IP 地址是 172.16.65.10 DNS-Master 和 DNS-Slave 的 IP 地址分别设为 172.16.64.10 和 172.16.64.11。 五、实验过程 图 7-0-1 实验 7 的网络拓扑
《网络运维管理从基础到实战》 任务一:创建DNS服务器 任务介绍 在 Virtualbox中创建两台虚拟机,安装Cent0S8操作系统并安装BIN,完成DNS服务 器的创建。 步骤1:在 irtual Box中创建虚拟机并安装 CentoS8操作系统 在 VirtualBox中创建两台虚拟机,分别命名为 DNS-Master和DNS- Slave,都安装 Centos8操 作系统。具体操作略。 注意 安装 Centos8过程中,需要设置根用户(即root用户)密码; 本任务虚拟机网卡连接方式为保持“网络地址转换(NAT)”,是虚拟机可以访问互联网 便于在线安装BIND 建议将该虚拟机导出保存,以便于以后实验中服务器(例如NTP、DHCP等)的创建。 步骤2:在DNS服务器上在线安装BⅠND Linux操作系统中构建DNS服务通常使用BIND来实现,它是一款实现DNS服务的开源免费 软件 BIND服务有关的软件包有如下几个: Bind:BIND服务器端软件,即BIND主程序。 bind- utils:客户端搜索主机名的相关命令,提供 nslookup及dg等测试工具 ·bind-libs:BIND相关的库文件 启动虚拟机 M-DNS-Master,,登录系统,使用yum工具安装BIND,命令如下: [root@VM-CentoS N]# yum install -y bind bind-utils bind-libs BIND安装完成后,会显示出所安装的文件名,并显示“ Complete!”。 注意:若无法正常安装BIND,可查看一下虚拟机是否能够正常访问互联网; 步骤3:查看并启动 named服务 BIND安装完成后将在 Centos中创建名为 named的服务 ∥查看 named服务活动状态。若状态为“ inactive(dead)”,即未启动状态 [root@VM-Centos N]# systemctl status named ∥/启动 named服务 [root@VM-Centos N]# systemctl start named ∥/停止 named服务 [root@VM-CentoS N]# systemctl stop named ∥/重启 named服务。 [root@VM-CentoS N]# systemctl restart named ∥/DNS服务是基础服务,需要把 named服务配置为开机自启动,操作命令如下 [root@VM-CentoS N# systemctl enable named 注意: DNS- Master和 DNS-SIave都需要安装BIND并启动 named服务。 河南中医药大学信息技术学院|网络与信息系统科研工作室
《网络运维管理从基础到实战》 5 河南中医药大学信息技术学院 | 网络与信息系统科研工作室 第5页 任务一:创建 DNS 服务器 任务介绍 在 VirtualBox 中创建两台虚拟机,安装 CentOS 8 操作系统并安装 BIND,完成 DNS 服务 器的创建。 步骤 1:在 VirtualBox 中创建虚拟机并安装 CentOS8 操作系统 在 VirtualBox 中创建两台虚拟机,分别命名为 DNS-Master 和 DNS-Slave,都安装 CentOS 8 操 作系统。具体操作略。 注意: 安装 CentOS 8 过程中,需要设置根用户(即 root 用户)密码; 本任务虚拟机网卡连接方式为保持“网络地址转换(NAT)”,是虚拟机可以访问互联网, 便于在线安装 BIND; 建议将该虚拟机导出保存,以便于以后实验中服务器(例如 NTP、DHCP 等)的创建。 步骤 2: 在 DNS 服务器上在线安装 BIND Linux 操作系统中构建 DNS 服务通常使用 BIND 来实现,它是一款实现 DNS 服务的开源免费 软件。 BIND 服务有关的软件包有如下几个: Bind:BIND 服务器端软件,即 BIND 主程序。 bind-utils:客户端搜索主机名的相关命令,提供 nslookup 及 dig 等测试工具 bind-libs:BIND 相关的库文件 启动虚拟机 VM-DNS-Master,登录系统,使用 yum 工具安装 BIND,命令如下: [root@VM-CentOS ~]# yum install -y bind bind-utils bind-libs BIND 安装完成后,会显示出所安装的文件名,并显示“Complete!”。 注意:若无法正常安装 BIND,可查看一下虚拟机是否能够正常访问互联网; 步骤 3:查看并启动 named 服务 BIND 安装完成后将在 CentOS 中创建名为 named 的服务。 //查看 named 服务活动状态。若状态为“inactive(dead)”,即未启动状态。 [root@VM-CentOS ~]# systemctl status named //启动 named 服务 [root@VM-CentOS ~]# systemctl start named //停止 named 服务。 [root@VM-CentOS ~]#systemctl stop named //重启 named 服务。 [root@VM-CentOS ~]#systemctl restart named //DNS 服务是基础服务,需要把 named 服务配置为开机自启动,操作命令如下: [root@VM-CentOS ~]# systemctl enable named 注意:DNS-Master 和 DNS-Slave 都需要安装 BIND 并启动 named 服务
《网络运维管理从基础到实战》 任务二:配置DNs服务 【任务介绍】 本任务分别配置主DNS服务器(DNS- Master)和辅DNS服务器(DNS- Slave)的查询服务 和内部域名解析服务,并将DNS- Master与DNS- Slave设置成主辅模式,实现数据同步。 步骤1:在DNS- Master服务器上配置DNS服务 (1)配置53端口 由于DNS协议通过53端口进行通信,而 CentOS系统自带的防火墙默认是关闭53端口的, 所以此处要配置防火墙,分别开放UDP协议的53端口和TCP协议的53端口 #开放UDP协议的53端口 [ root@VM-CentoS N]# firewall-cmd--zone=public --add-port=53/udp --permanent #开放TCP协议的53端口 [root@VM-Centos N]# firewall-cmd--zone=public--add-port=53/tcp--permanent #重启防火墙,使配置生效 [root@VM-CentOS N]# systemctl restart firewall #为方便进行DNS查询测试,暂时关闭 SELinux [root@VM-CentoS N]# setenforce 0 (2)修改主配置文件/ letc/named. conf 接下来,使用ⅵ命令对DNS- Master服务器的主配置文件/ letc/named. conf进行编辑修改,主要 包括监听53端口设置、DNS授权访问设置、主辅DNS同步参数设置等。操作命令如下: [root@VM-CentoS N Ivi /etc/named. conf # named.conf配置文件内容较多,此处仅显示需要修改、添加以及与DNS查询配置有关的内容,该内 容在“ options”语句中。 options t #修改监听地址,这里设置为any,允许所有网卡监听本机地址的53端口 listen-on port 53( any: 3 #IPV6的监听地址 listen-on-v6 port 53(: 1:3 #定义区域配置文件存储目录 directory #定义本域名服务器在收到 rndc dump命令时,转存数据的文件路径 dump-file /var/named/data/cache_dump. db #定义本域名服务器在收到 rndc stats命令时,追加统计数据的文件路径 statistics-file /var/named/data/named_ stats. txt #定义本域名服务器在退出时,写入内存统计信息的文件路径 memstatistics-file"/var/named/data/named_mem_stats. txt #定义本域名服务器在收到 rndc secroots命令时,转存安全根的文件路径 secroots-file "/var/named/data/named. secroots "; #定义本域名服务器在收到 rndc recursing命令时,转存当前递归请求的文件路径 recursing-file"/var/named/data/named recursing", #修改授权访问范围为允许所有地址可以访问 #定义哪些主机可以进行DNS查询,这里配置为any,允许所有主机进行DNs查询 河南中医药大学信息技术学院|网络与信息系统科研工作室 第6页
《网络运维管理从基础到实战》 6 河南中医药大学信息技术学院 | 网络与信息系统科研工作室 第6页 任务二:配置 DNS 服务 【任务介绍】 本任务分别配置主 DNS 服务器(DNS-Master)和辅 DNS 服务器(DNS-Slave)的查询服务 和内部域名解析服务,并将 DNS-Master 与 DNS-Slave 设置成主辅模式,实现数据同步。 步骤 1:在 DNS-Master 服务器上配置 DNS 服务 (1)配置 53 端口 由于 DNS 协议通过 53 端口进行通信,而 CentOS 系统自带的防火墙默认是关闭 53 端口的, 所以此处要配置防火墙,分别开放 UDP 协议的 53 端口和 TCP 协议的 53 端口 #开放 UDP 协议的 53 端口 [root@VM-CentOS ~]# firewall-cmd --zone=public --add-port=53/udp --permanent #开放 TCP 协议的 53 端口 [root@VM-CentOS ~]# firewall-cmd --zone=public --add-port=53/tcp --permanent #重启防火墙,使配置生效 [root@VM-CentOS ~]# systemctl restart firewalld #为方便进行 DNS 查询测试,暂时关闭 SELinux [root@VM-CentOS ~]# setenforce 0 (2)修改主配置文件/etc/named.conf 接下来,使用 vi 命令对 DNS-Master 服务器的主配置文件/etc/named.conf 进行编辑修改,主要 包括监听 53 端口设置、DNS 授权访问设置、主辅 DNS 同步参数设置等。操作命令如下: [root@VM-CentOS ~]vi /etc/named.conf #named.conf 配置文件内容较多,此处仅显示需要修改、添加以及与 DNS 查询配置有关的内容,该内 容在“options”语句中。 options { #修改监听地址,这里设置为 any,允许所有网卡监听本机地址的 53 端口 listen-on port 53 { any; }; #IPV6 的监听地址 listen-on-v6 port 53 { ::1; }; #定义区域配置文件存储目录 directory "/var/named"; #定义本域名服务器在收到 rndc dump 命令时,转存数据的文件路径 dump-file "/var/named/data/cache_dump.db"; #定义本域名服务器在收到 rndc stats 命令时,追加统计数据的文件路径 statistics-file "/var/named/data/named_stats.txt"; #定义本域名服务器在退出时,写入内存统计信息的文件路径 memstatistics-file "/var/named/data/named_mem_stats.txt"; #定义本域名服务器在收到 rndc secroots 命令时,转存安全根的文件路径 secroots-file "/var/named/data/named.secroots"; #定义本域名服务器在收到 rndc recursing 命令时,转存当前递归请求的文件路径 recursing-file "/var/named/data/named.recursing"; #修改授权访问范围为允许所有地址可以访问 #定义哪些主机可以进行 DNS 查询,这里配置为 any,允许所有主机进行 DNS 查询
《网络运维管理从基础到实战》 allow-query i any: 3i #添加alow- transfer语句,定义哪些辅域名服务器可以从本域名服务器同步数据 allow-transfer 1721664.11;} #添加also- notify语句,定义哪些辅域名服务器可以从本域名服务器接收通知 17216.64.11;}; #添加 notify语句,定义本域名服务器区域文件发生变更后,通知辅域名服务器 #添加 masterfile- format语句,定义区域文件的格式为text,避免同步时出现乱码 意:此处的1721664.1是DNS- Slave服务器的IP地址。 (3)修改区域声明文件! etc/named. rfc1912 zones 此处使用ⅵi命令修改区域声明文件/etc/ named rfcl912 zones,并在其中增加关于 domain. com域 的正向解析声明信息,具体内容如下: zone"domain. com"IN t ty file"domain. com. zone"; allow-update< none: y 注意:正向解析,是指从域名向PP地址的解析。反向解析,是从IP地址向域名的解析 (4)创建域名 domain. com的正向解析区域配置文件 通过ⅵ命令,在/war/ named目录中创建域名 domain. com的正向解析区域配置文件 domain. com. zone,并完成域名和记录信息的填写,配置内容如下: [root@vm-centosN]#vi/var/named/domain.com.zone ;定义从本域名服务器查询的记录,在客户端缓存有效期为1天 STTL 1D 设置起始授权机构的权威域名和管理员邮箱 IN SOA ns domain. com. root domain. com o 定义本配置文件的版本号为0,该值在同步辅域名服务器时使用 0 serial ;定义本域名服务器与辅域名服务器同步的时间周期为1天 ;定义辅域名服务器更新失败时,重试间隔时间为1小时 1H retry 定义辅域名服务器从本域名服务器同步的数据,存活期为1周 1w expire 定义从本域名服务器查询的记录,在客户端缓存有效期为3小时 如果第一行没有定义$TTL,则使用该值 3H ); minimum 添加NS记录,该记录指明本域名服务器的名字 河南中医药大学信息技术学院|网络与信息系统科研工作室
《网络运维管理从基础到实战》 7 河南中医药大学信息技术学院 | 网络与信息系统科研工作室 第7页 allow-query { any; }; #添加 allow-transfer 语句,定义哪些辅域名服务器可以从本域名服务器同步数据 allow-transfer {172.16.64.11;}; #添加 also-notify 语句,定义哪些辅域名服务器可以从本域名服务器接收通知 also-notify {172.16.64.11;}; #添加 notify 语句,定义本域名服务器区域文件发生变更后,通知辅域名服务器 notify yes; #添加 masterfile-format 语句,定义区域文件的格式为 text,避免同步时出现乱码 masterfile-format text; …… }; 注意:此处的 172.16.64.11 是 DNS-Slave 服务器的 IP 地址。 (3)修改区域声明文件/etc/named.rfc1912.zones 此处使用 vi 命令修改区域声明文件/etc/named.rfc1912.zones,并在其中增加关于 domain.com 域 的正向解析声明信息,具体内容如下: zone "domain.com" IN { type master; file "domain.com.zone"; allow-update { none; }; }; 注意:正向解析,是指从域名向 IP 地址的解析。反向解析,是从 IP 地址向 域名的解析。 (4)创建域名 domain.com 的正向解析区域配置文件 通过 vi 命令,在/var/named 目录中创建域名 domain.com 的正向解析区域配置文件 domain.com.zone,并完成域名和记录信息的填写,配置内容如下: [root@VM-CentOS ~]#vi /var/named/domain.com.zone ;定义从本域名服务器查询的记录,在客户端缓存有效期为 1 天 $TTL 1D ;设置起始授权机构的权威域名和管理员邮箱 @ IN SOA ns.domain.com. root.domain.com. ( ;定义本配置文件的版本号为 0,该值在同步辅域名服务器时使用 0 ; serial ;定义本域名服务器与辅域名服务器同步的时间周期为 1 天 1D ; refresh ;定义辅域名服务器更新失败时,重试间隔时间为 1 小时 1H ; retry ;定义辅域名服务器从本域名服务器同步的数据,存活期为 1 周 1W ; expire ;定义从本域名服务器查询的记录,在客户端缓存有效期为 3 小时 ;如果第一行没有定义$TTL,则使用该值 3H ) ; minimum ;添加 NS 记录,该记录指明本域名服务器的名字
《网络运维管理从基础到实战》 ns domain. com 添加A记录 172.16.64.10 WWW IN A 172.16.65.10 添加 CNAME记录 Cnamewww.domaincom (5)查看区域配置文件 domain. com.zone的权限 BIND安装完成后,会自动创建一个名为 named的用户,其用户目录为/ ar/named,还会 创建一个名为 named的用户组。 named用户通过 named进程去读取DNS配置文件(例如刚刚 创建的 domain. com. zone)中的记录,从而实现域名解析。为了实现这一点,以下三个条件必 须至少有一个成立,否则 named用户将无法读取配置文件,从而造成域名解析失败 ① named用户有读取该配置文件的权限; ② named用户组有读取该配置文件的权限 ③其他用户有读取该配置文件的权限 使用ls命令(加上-1参数)查看/ar/ named目录中的区域配置文件权限,如图7-2-1所示 可以看出, doamin. com . zone文件是root用户新建的,它的属主和属组都是root,在权限描述 中,前面的“rw”表示属主用户(即root用户)对该文件有读和写的权限,中间的“r-”表 示属组用户对该文件有读权限,后面的“r-”表示其他用户(包含 named用户)对该文件有读 权限,符合上述的第3个条件,也就是说, named用户进程可以读取这个文件 rootolocalhost I# Is /var/named roo 515: 08 doma in. com. zone root named 2253 Mar 23:21 named empt t named 168 Mar 1 23: 21 named loopback ed named 6 Mar 23:28 tol 图7-2-1查看 /var/named目录中新建的区域配置文件的权限 (6)校验DNS配置文件 为避免配置文件内容出现语法错误造成DNS服务无法启动,DNS的配置文件撰写完成后,应 使用BIND内置的 named- checkconf工具对主配置文件( named. conf)进行校验,使用BIND内置的 named- checkzone工具对区域配置文件(例如此处的 domain. com.zone)进行校验,操作如下 [root@VM-CentOS N]# named-checkconf /etc/named. conf [root@vm-centosN]#named-checkzonedomaincom/var/named/domain.com.zone zone domain. com/IN: domain. com/MX 'mail domain. com has no address records(a or zone domain. com/IN: loaded serial 0 (7)重启 named服务 校验通过后,还需重启 named服务,使配置生效,操作如下: [root@VM-CentOS N]# systemctl restart named 河南中医药大学信息技术学院|网络与信息系统科研工作室
《网络运维管理从基础到实战》 8 河南中医药大学信息技术学院 | 网络与信息系统科研工作室 第8页 @ IN NS ns.domain.com. ;添加 A 记录 ns IN A 172.16.64.10 www IN A 172.16.65.10 ;添加 CNAME 记录 web IN CNAME www.domain.com. (5)查看区域配置文件 domain.com.zone 的权限 BIND 安装完成后,会自动创建一个名为 named 的用户,其用户目录为 /var/named,还会 创建一个名为 named 的用户组。named 用户通过 named 进程去读取 DNS 配置文件(例如刚刚 创建的 domain.com.zone)中的记录,从而实现域名解析。为了实现这一点,以下三个条件必 须至少有一个成立,否则 named 用户将无法读取配置文件,从而造成域名解析失败。 ① named 用户有读取该配置文件的权限; ② named 用户组有读取该配置文件的权限; ③ 其他用户有读取该配置文件的权限; 使用 ls 命令(加上- l 参数)查看/var/named 目录中的区域配置文件权限,如图 7-2-1 所示, 可以看出,doamin.com.zone 文件是 root 用户新建的,它的属主和属组都是 root,在权限描述 中,前面的“rw-”表示属主用户(即 root 用户)对该文件有读和写的权限,中间的“r--”表 示属组用户对该文件有读权限,后面的“r--”表示其他用户(包含 named 用户)对该文件有读 权限,符合上述的第 3 个条件,也就是说,named 用户进程可以读取这个文件。 (6)校验 DNS 配置文件 为避免配置文件内容出现语法错误造成 DNS 服务无法启动,DNS 的配置文件撰写完成后,应 使用 BIND 内置的 named-checkconf 工具对主配置文件(named.conf)进行校验,使用 BIND 内置的 named-checkzone 工具对区域配置文件(例如此处的 domain.com.zone)进行校验,操作如下: [root@VM-CentOS ~]# named-checkconf /etc/named.conf [root@VM-CentOS ~]# named-checkzone domain.com /var/named/domain.com.zone zone domain.com/IN: domain.com/MX 'mail.domain.com' has no address records (A or AAAA) zone domain.com/IN: loaded serial 0 OK (7)重启 named 服务 校验通过后,还需重启 named 服务,使配置生效,操作如下: [root@VM-CentOS ~]# systemctl restart named 图 7-2-1 查看/var/named 目录中新建的区域配置文件的权限
《网络运维管理从基础到实战》 步骤2:在DNS- Slave上配置DNS服务 (1)配置53端口 对 DNS-Slave的防火墙进行配置,分别开放UDP协议的53端口和TCP协议的53端口,并重 启防火墙使配置生效。具体操作过程与DNS- Master相同,此处略 (2)修改主配置文件/ etc/named. conf 使用ⅵi命令对DNS- Slave服务器的主配置文件 /etc/named. conf进行编辑修改,主要包括监听 53端口设置、DNS授权访问设置、主辅DNS同步参数设置等。操作命令如下: root@VM-CentoS N vi /etc/named. conf # named. conf配置文件内容较多,此处仅显示需要修改、添加以及与DNS查询配置有关的内容,该内 容在“ options”语句中。 options t #修改监听地址,这里设置为any,允许所有网卡监听本机地址的53端口 listen-on port 53( any: y #IPV6的监听地址 #定义区域配置文件存储目录 directory"/var/named #定义哪些主机可以进行DNS查询,这里配置为any,允许所有主机进行DNS查询 llow-query i any:] #添加alow- transfer语句,禁止其他域名服务器从本域名服务器同步数据 allow-transfer inone;j; #添加 masterfile- format语句,定义区域文件的格式为text,避免同步时出现乱码 (3)修改区域声明文件 letc/named rfcl912 zones 辅DNS服务器中,不需要用户手工创建区域配置文件。通过数据同步设置,辅DNS服务器可 以自动从所对应的主DNS服务器上复制并更新区域配置文件 此处对辅DNS服务器(DNS- Slave)的区域声明文件 letc/namedrfcl912 zones进行修改,在其 中添加要从主DNS服务器(DNS- Master)上进行同步的区域信息。例如要同步 domain. com域的信 息,可在 letc/named rfcl912 zones文件中添加关于 domain. com域的正向解析声明,具体内容如下: zone"domain. com"IN t #将类型定义为save type slave file"domain. com.zone"; #定义主域名服务器的地址,表明从该服务器进行数据同步 masters{17216.64.10;} (4)校验DNS配置文件 此处仅需要对主配置文件( letc/named. conf)进行语法校验,操作如下 #对主配置文件进行语法校验 [root@VM-Centos N]# named-checkconf /etc/named. conf 河南中医药大学信息技术学院|网络与信息系统科研工作室
《网络运维管理从基础到实战》 9 河南中医药大学信息技术学院 | 网络与信息系统科研工作室 第9页 步骤 2:在 DNS-Slave 上配置 DNS 服务 (1)配置 53 端口 对 DNS-Slave 的防火墙进行配置,分别开放 UDP 协议的 53 端口和 TCP 协议的 53 端口,并重 启防火墙使配置生效。具体操作过程与 DNS-Master 相同,此处略。 (2)修改主配置文件/etc/named.conf 使用 vi 命令对 DNS-Slave 服务器的主配置文件/etc/named.conf 进行编辑修改,主要包括监听 53 端口设置、DNS 授权访问设置、主辅 DNS 同步参数设置等。操作命令如下: [root@VM-CentOS ~]vi /etc/named.conf #named.conf 配置文件内容较多,此处仅显示需要修改、添加以及与 DNS 查询配置有关的内容,该内 容在“options”语句中。 options { #修改监听地址,这里设置为 any,允许所有网卡监听本机地址的 53 端口 listen-on port 53 { any; }; #IPV6 的监听地址 listen-on-v6 port 53 { ::1; }; #定义区域配置文件存储目录 directory "/var/named"; …… #定义哪些主机可以进行 DNS 查询,这里配置为 any,允许所有主机进行 DNS 查询 allow-query { any; }; #添加 allow-transfer 语句,禁止其他域名服务器从本域名服务器同步数据 allow-transfer {none;}; #添加 masterfile-format 语句,定义区域文件的格式为 text,避免同步时出现乱码 masterfile-format text; …… }; (3)修改区域声明文件/etc/named.rfc1912.zones 辅 DNS 服务器中,不需要用户手工创建区域配置文件。通过数据同步设置,辅 DNS 服务器可 以自动从所对应的主 DNS 服务器上复制并更新区域配置文件。 此处对辅 DNS 服务器(DNS-Slave)的区域声明文件/etc/named.rfc1912.zones 进行修改,在其 中添加要从主 DNS 服务器(DNS-Master)上进行同步的区域信息。例如要同步 domain.com 域的信 息,可在/etc/named.rfc1912.zones 文件中添加关于 domain.com 域的正向解析声明,具体内容如下: zone "domain.com" IN { #将类型定义为 slave type slave; file "domain.com.zone"; #定义主域名服务器的地址,表明从该服务器进行数据同步 masters {172.16.64.10;}; }; (4)校验 DNS 配置文件 此处仅需要对主配置文件(/etc/named.conf)进行语法校验,操作如下: #对主配置文件进行语法校验 [root@VM-CentOS ~]# named-checkconf /etc/named.conf
《网络运维管理从基础到实战》10 (5)重启 named服务 校验通过后,在辅DNS服务器上重启 named服务,即可实现数据同步,操作如下: [root@VM-CentoS N]# systemctl restart named 河南中医药大学信息技术学院|网络与信息系统科研工作室 第10页
《网络运维管理从基础到实战》 10 河南中医药大学信息技术学院 | 网络与信息系统科研工作室 第10页 (5)重启 named 服务 校验通过后,在辅 DNS 服务器上重启 named 服务,即可实现数据同步,操作如下: [root@VM-CentOS ~]# systemctl restart named