加入收藏 | 设为首页 | 会员中心 | 我要投稿 财气旺网 - 财气网 (https://www.caiqiwang.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 服务器 > 搭建环境 > Linux > 正文

linux 域名解析 Linux如何搭建DNS服务器

发布时间:2022-10-13 13:11:14 所属栏目:Linux 来源:
导读:  Linux如何搭建DNS服务器

  一、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命令进行正常测试即可。
 

(编辑:财气旺网 - 财气网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!