linux 域名解析 Linux如何搭建DNS服务器
发布时间:2022-10-13 13:11:14 所属栏目:Linux 来源:
导读: Linux如何搭建DNS服务器
一、DNS服务简介
1.DNS(Domain Name System)域名系统
在Internet中使用IP地址来确定计算机的地址,这种以数字表示的IP地址不容易记忆。为了便于对网络地址的管
一、DNS服务简介
1.DNS(Domain Name System)域名系统
在Internet中使用IP地址来确定计算机的地址,这种以数字表示的IP地址不容易记忆。为了便于对网络地址的管
Linux如何搭建DNS服务器 一、DNS服务简介 1.DNS(Domain Name System)域名系统 在Internet中使用IP地址来确定计算机的地址,这种以数字表示的IP地址不容易记忆。为了便于对网络地址的管理和分配,人们采用了域名系统,引入了域名的概念。通过为每台主机建立IP地址与域名之间的映射关系,用户可以避开难记的IP地址,而使用域名来唯一标识网络中的计算机。域名和IP地址之间的关系,就像是某人的姓名和身份证号码之间的关系,显然,记住名字比记住身份证号码容易的多。 2.主机名和域名的区别: 主机名是内网的名字;域名是外网的名字。 主机名和域名其实是两个完全可以不同的名字,但是有很多软件(如邮件系统postfix)会默认认为它们一致。 在DNS中,域名包括根域、顶级域、二级域和主机名。如下图 全世界共有13台DNS根域服务器。 顶级域:由Internet名称授权机构管理,有两种常见的类型。如下: 组织域: .com(商业) 、 .org (组织) 、 .edu(教育) 、 .gov (政府) 、 .net(通讯) 、 .mil(军事) 、 .info(信息) 国家或地区顶级域: Cn(中国) 、 hk(中国香港) 、 uk(英国) 等 FQDN=主机名.DNS后缀(FQDN,Fully Qualified Domain Name,完全合格的域名/全称域名) 3.域名解析过程 查询 过程 从查询方式分类 客户端得到结果只能是成功或失败 DNS服务器如有客户机请求数据则返回正确地址 DNS服务器没有请求数据则返回一个指针 从查询内容分类 二、Centos7搭建DNS服务器 接下来以著名的DNS服务器软件BIND(Berkeley Internet Name Domain,伯克利Internet名字域)为例,了解Linux中域名服务器的基本搭建过程。BIND是美国加利福尼亚大学伯克利分校开发的一个域名服务软件包,Linux使用这个软件包来提供域名服务,该软件实现了DNS协议。BIND的服务端软件是被称作named的守护进程。 1.了解一下 实际上,每一台DNS服务器都只负责管理一个有限范围(一个或几个域)内的主机域名和IP地址的对应关系,这些特定的DNS域或IP地址段称为"zone"(区域)。根据所管理的区域地址数据的来源不同,DNS系统可以分为不同的类型。在同一台DNS服务器中,相对于不同的区域来说,也拥有不同的身份。常见的几种类型如下: 缓存域名服务器 主域名服务器 从域名服务器 2.BIND的安装和控制 BIND不是唯一能够提供域名服务的DNS服务程序,但它却是应用最为广泛的,BIND可以运行在大多数Linux/UNIX主机中。 1)安装bind软件,如下图: 2)相关软件包 安装好后查看软件包:rpm -qa | grep "^bind" bind-9.9.4-37.el7.x86_64.rpm:提供了域名服务的主要程序及相关文件 bind-chroot-9.9.4-37.el7.x86_64.rpm:为BIND服务提供一个伪装的根目录(将/var/named/chroot/文件夹作为BIND的根目录),以提高安全性。 bind-libs-9.9.4-37.el7.x86_64.rpm:提供了bind、bind-utils需要使用的函数 bind-utils-9.9.4-37.el7.x86_64.rpm:提供了对DNS服务器的测试工具程序,如nslookup等 3)BIND服务控制 BIND软件包安装完毕以后,会自动增加一个名为named的系统服务,通过脚本文件/etc/init.d/named或systemctl、service(centos6以前)工具都可以控制DNS域名服务的运行。如:systemctl start named,启动named服务。 其他: 3.BIND服务的配置文件 使用BIND软件构建域名服务是,主要涉及两种类型的配置文件:主配置文件和区域数据文件。其中,主配置文件用于设置named服务的全局选项、注册区域及访问控制等各种运行参数,区域数据文件用于保存 DNS 解析记录的数据文件(正向或反向记录)。 1)主配置文件 /etc/name.conf(安装的是bind-xxx软件包) /var/named/chroot/etc/named.conf(安装的是bind-chroot-xxx软件包) 主配置文件中,主要包括全局配置、区域配置两个部分,每一条配置记录的行尾以分号";"表示结束,以"#"号或"//"开始的部分表示注释文字(大段注释可以使用"/*......*/的格式")。 a.全局配置部分 如上图所示: b.区域配置部分 如上图所示: 2)区域数据配置文件(保存 DNS 解析记录的数据文件) /var/named/(安装的是bind-xxx软件包) /var/named/chroot/var/named/(安装的是bind-chroot-xxx软件包) 每个区域数据文件对应一个DNS解析区域,文件名及内容由该域的管理员自行设置。(要与在全局配置中指定的文件名一样,不然会出错) 在区域数据文件中,主要包括TTL配置项、SOA(Start Of Authority,授权信息开始)记录、地址解析记录。文件中的注释信息以分号";"开始。 a.全局 TTL 配置项及 SOA 记录 如上图所示: b.域名解析记录 正向解析记录:(如下图) 如上图所示: 注:其中,NS、MX记录行首的"@"符号可以省略(默认继承SOA记录行首的@信息),但是必须保留一个空格或Tab制表位。 反向解析记录:(如下图) 如上图所示: 注:在区域数据配置文件中,凡是不以点号"."结尾的主机地址,系统在查找地址记录时都会自动将当前的域名作为后缀。例如,若当前的DNS域为"benet.com",则在文件中的主机地址"www"相当于"www.benet.com."。因此,当使用完整的FQDN地址时,务必记得地址末尾的点号"."不能省略。 3)对配置文件进行语法检查 a.named-checkconf 工具 b.named-checkzone 工具 三、示例 1.构建缓存域名服务器 案例环境(如下图) 缓存域名服务器的 IP 地址为 192.168.1.5 局域网内的 PC 机将首选 DNS 服务器设为 192.168.1.5 缓存域名服务器能够访问 Internet 中的其他 DNS 服务器 负责处理局域网 PC 机的 DNS 解析请求,并缓存查询结果 基本步骤:(如下图) 1)建立主配置文件 named.conf 有时候为了提高解析效率,也可以不向根区域查询,而是将来自客户端的查询请求转发给国内电信运营商的DNS服务器(如北京的202.106.0.20、202.106.148.1),缓存服务器收到返回的查询结果后再转给客户端。只要去掉"zone "." IN {....}" 的设置,并在全局配置中正确设置forwarders(转发)参数即可实现该功能。如下图 2)确认根域的区域数据文件 named.ca 根区域的区域数据文件默认位于文件/var/named/named.ca中,该文件记录了Internet中13台根域服务器的域名和IP地址等相关信息。 如: grep -v "^;" /var/named/named.ca | grep -v ^$ 3)启动named服务,并确定named服务的端口监听状态。若服务启动失败或发现没有正常监听UDP53端口,可以根据错误提示信息(或/var/log/messages文件中的日志记录)排除错误。 如:systemctl start named //启动named服务 netstat -anput | grep named //确认named服务的端口监听状态 4)验证缓存域名服务器 在客户机中将 DNS 服务器设为该缓存域名服务器 执行nslookup 命令对其进行解析,验证其是否能获得该域名对应的IP地址信息。(如下图) 2.构建主域名服务器 案例环境(如下图) 主域名服务器:ns1.benet.comlinux 域名解析,173.16.16.5 从域名服务器:ns2.benet.com,173.16.16.6 两台服务器均能够提供 benet.com 区域的域名解析 主要解析记录 网站服务器"www.benet.com",IP地址为"173.16.16.1" 邮件服务器"mail.benet.com",IP地址为"173.16.16.1" 在线培训站点服务器"study.benet.com",IP地址为"173.16.16.2" 主域名服务器"ns1.benet.com",IP地址为"173.16.16.5" 从域名服务器"ns2.benet.com",IP地址为"173.16.16.6" 基本步骤:(如下图) 1)确认本机网络地址、主机映射、DNS 服务器地址 为了提高域名解析效率,建议将两个DNS服务器的地址映射直接写入到/etc/hosts文件中,并在/etc/resolv.conf文件中指定两个DNS服务器的地址。(如下图) 2)建立主配置文件 named.conf(如下图) 3)建立正、反向区域数据文件 根据named.conf中的zone区域设置,分别建立正向区域数据文件benet.com.zone,反向区域数据文件173.16.16.arpa。配置文件可以参考区域数据文件/var/named/named.localhost。(如下图) 4)启动或者重新加载 named 服务程序 如:systemctl reload named 5)验证主域名服务器 验证正向解析:nslookup study.benet.com 验证泛域名解析:nslookup xxyyzz.benet.com 验证反向解析: nslookup 173.16.16.2 3.构建从域名服务器 基本步骤:(如下图) 建立主配置文件 named.conf(如下图) 验证从服务器时,只需要将客户端的首选DNS服务器地址设为从域名服务器的IP地址,使用nslookup命令进行正常测试即可。 (编辑:财气旺网 - 财气网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
站长推荐