《网络运维管理从基础到实战》 实验七:实现本地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 服务