centos7中怎么搭建DNS域名系统
更新:HHH   时间:2023-1-7


今天就跟大家聊聊有关centos7中怎么搭建DNS域名系统,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。

一、DNS:域名系统。

主要用来记录(登记)域名和IP地址的映射关系(对应关系)。

功能:域名解析。

正向解析:根据域名来解析出IP地址。域名----->IP

反向解析:根据IP地址来解析出域名。IP----->域名

------------------------------------------------------------------------------------------------------------

二、DNS解析过程

递归查询:服务器和客户机之间的查询过程。由主DNS服务器直接将域名对应的IP地址告诉给客户机。

迭代查询:DNS服务器和服务器之间的查询过程。由DNS服务器向互联网中的根域、顶级域、二级域依次发出查询请求,最终获取到域名所对应的IP地址的过程。

------------------------------------------------------------------------------------------------------------

三、DNS服务器的部署

1、软件

     DNS服务器软件:bind、bind-chroot       服务名称:named

     DNS客户端软件:bind-utils    可用命令:nslookup、dig、host

     注:服务名称中的d是daemon守护进程的缩写。如named是name   daemon的缩写。

2、网络拓扑结构:

     DNS服务器:192.168.10.7(虚拟机)

     DNS客户机:192.168.10.8(虚拟机) 、192.168.10.1(物理机) 

3、DNS服务器安装:

     0)、临时关闭安全防护功能

          setenforce 0     #临时关闭selinux

          getenforce     #查selinux状态

          systemctl stop firewalld     #临时关闭firewalld

          systemctl status firewalld     #查firewalld状态

     1)、查软件是否已安装

          rpm -q bind

     2)、安装软件

          yum info bind     #查bind软件简介

          yum install -y bind     #安装bind软件

          rpm -q bind     #查询结果如下

          bind-9.9.4-37.el7.x86_64

     3)、启动服务

          systemctl restart named     #重启named服务

          systemctl enable named     #设置named开机启动

     4)、查状态

          systemctl status named

          lsof -i:53     或     netstat -atnlp | grep :53

     5)、熟悉配置文件

          rpm -qc bind     #重要配置文件如下

          /etc/logrotate.d/named     #日志轮滚策略文件

          /etc/named.conf     #主配置文件(存全局设置参数)

          /etc/named.iscdlv.key     #密钥文件

          /etc/named.rfc1912.zones     #区域配置文件(存域名信息或网段)

          /etc/named.root.key

          /etc/rndc.conf     #DNS远程管理的配置文件

          /etc/rndc.key     #远程管理的密钥文件

          /etc/sysconfig/named

          /var/named/named.ca     #根域服务器的解析文件

          /var/named/named.empty

          /var/named/named.localhost     #localhost域名正向解析配置文件(资源记录文件)

          /var/named/named.loopback     #127.0.0.0网段的反向解析配置文件(资源记录文件)

------------------------------------------------------------------------------------------------------------                 

案例:在192.168.10.7这台DNS服务器上注册登记域名baidu.com(正向解析),需要做如下管理操作。

1、修改/etc/named.conf主配置文件,将文件中所有的127.0.0.1和localhost修改成any。

     cp   -v    /etc/named.conf{,.bak}     备份此配置文件

     cp   -v   /etc/named.conf    /etc/named.conf.bak   (功能同上)

     vim   /etc/named.conf    修改后的结果如下(红字部分,共修改了4处),用man    named.conf查帮助手册

          options {      选项设置

             listen-on port 53 { any; };     #IPv4监听端口和IP地址,多个IP用;分号分隔,any为监听所有的IP地址。默认是127.0.0.1。

             listen-on-v6 port 53 { ::1; };     #IPv6监听端口和IP地址

             directory "/var/named";     #解析的资源记录配置文件工作目录

             dump-file "/var/named/data/cache_dump.db";     #缓存备份文件

             statistics-file "/var/named/data/named_stats.txt";     #状态文件

             memstatistics-file "/var/named/data/named_mem_stats.txt";     #内存状态文件

             allow-query { any; };     #允许查询的域名,默认是localhost。

             recursion yes;     #允许递归查询

             #dnssec-enable yes;     #启用dns安全策略(本案例注释掉此行)

             #dnssec-validation yes;     #启用dns的valid安全策略(本案例注释掉此行)

             bindkeys-file "/etc/named.iscdlv.key";     #密钥文件

             managed-keys-directory "/var/named/dynamic";     #管理密钥的工作目录

             pid-file "/run/named/named.pid";     #进程pid文件

             session-keyfile "/run/named/session.key";     #会话密钥文件

          };

          logging {      日志设置

             channel default_debug {     #通道为debug调试模式

             file "data/named.run";     #文件路径

             severity dynamic;     #模式为动态

             };

          };

          zone "." IN {     #根域设置

             type hint;     #类型为hint是根域,类型通常有hint、master主、slave从(辅助).

             file "named.ca";     #文件名,文件位于/var/named目录中

          };

          include "/etc/named.rfc1912.zones";     #包含的子配置文件,这个区域配置文件

          include "/etc/named.root.key";     #包含的密钥文件

     重启服务:systemctl    restart    named

2、在/etc/named.rfc1912.zones文件最后添加baidu.com域名的配置信息。

     cp -v /etc/named.rfc1912.zones{,.bak}

     vim /etc/named.rfc1912.zones     #添加如下内容

          zone "baidu.com" IN {     #声明区域名(或称为区域名设置)

             type  master;     #类型为master主DNS服务器

             file "baidu.com.zx";     #解析的资源配置文件,文件位于/var/named目录中

             allow-update { none; };     #不允许update更新

             allow-transfer { none;};     #允许传输。通常是指辅助DNS服务器的IP地址。

          };

     注:此步骤执行完毕后,并不能正常重启named服务,因为baidu.com.zx这个解析的资源配置文件还未创建。

3、在/var/named目录中创建baidu.com域名正向解析的资源记录配置文件baidu.com.zx。

     cd /var/named

     ls

     cp -pv named.localhost baidu.com.zx     #用-p实现带属性的复制(必须这样做)

     vim baidu.com.zx     #修改后的参考内容如下(红字为修改后的内容)

          $TTL  1D

          @       IN   SOA   dns1.baidu.com.    12700696.qq.com. (

                                                  2017112701     ; serial 版本序号,通常用年月日数字(必须是10位以内的数字)

                                                  1D     ; refresh 刷新时间为1天

                                                  1H     ; retry  重试时间为1小时

                                                  1W     ; expire   过期时间

                                                  3H )     ; minimum   最小缓存时间(即TTL的最小值)

                       NS          dns1.baidu.com.     ;NS记录(Name Server),指定DNS服务器的名称

          dns1       A           192.168.10.7      ;A记录(Address),指定域名、主机名对应的IP地址

                       AAAA      ::1     ;IPv6的A记录

          www        A          192.168.10.7

          ftp          A          192.168.10.8

          mail        A           192.168.10.9

          linux       A           192.168.10.1

          w       CNAME   www     ;CNAME别名记录(canonical  name),格式为 “别名      CNAME    原名”

          ww     CNAME   www

          web    CNAME   www

     技巧:当正向解析配置文件中A记录左边的名称为空时,表明是同上。

     内容解释:

          $TTL   1D:最大生命周期为1天

          @:是变量,代表named.rfc1912.zones文件中zone  “baidu.com”  IN定义的域名baidu.com.

          SOA:是起始授权机构的缩写。用来指定本例的域名baidu.com是保存在dns1.baidu.com这台主机中。

          12700696.qq.com:是DNS服务器管理员的邮箱。由于@在DNS解析配置文件中有特殊意义,所以邮箱的@必须用.来表示。

          FQDN:全质量域名Full  Quality   Domain   Name(即完整域名)。例:dns1.baidu.com.,最右边点是根域。

          NS记录:记录域名信息保存在的哪台DNS服务器上

          A记录:记录主机名对应的IP地址

          CNAME:主机名的别名

          PTR记录:指针记录,用来实现反向解析的,格式是“IP地址中的主机号    PTR     完整域名”

          MX记录:邮件交换记录,用于指定邮件服务器。

4、重启named服务。

     systemctl    restart     named

5、用dns客户端命令测试正向解析。

     rpm   -q    bind-utils       查bind客户端软件

     yum   install   -y    bind-utils     安装

DNS解析的临时测试:

     nslookup命令:nslookup     要解析的域名或IP       DNS服务器IP地址

     注:nslookup命令在linux和windows系统中都可以用。

     例:nslookup www.baidu.com 192.168.10.7     #结果如下

     Server:         192.168.10.7     #DNS服务器的IP

     Address:        192.168.10.7#53     #DNS服务器的IP和端口号

     Name:   www.baidu.com     #要解析的域名

     Address: 192.168.10.7     #解析出来的域名的IP地址

例:执行如下解析测试命令,看解析结果是什么。

     nslookup    web.baidu.com     192.168.10.7

     nslookup    dns1.baidu.com     192.168.10.7

------------------------------------------------------------------------------------------------------------

nslookup交互式操作:

     nslookup     #打开nslookup软件,执行如下操作

     server     #查看网卡设置中当前的dns服务器IP

     server 192.168.10.7     #临时设置dns服务器的IP

     www.baidu.com     #正向解析测试

     web.baidu.com     #正向解析测试

     127.0.0.1     #反向解析测试

     exit      #退出软件

------------------------------------------------------------------------------------------------------------

host命令:host    [选项]    域名     DNS服务器IP

     例:host www.baidu.com 192.168.10.7

           host web.baidu.com 192.168.10.7

------------------------------------------------------------------------------------------------------------

dig命令:dig  @server      domain  query-type  query-class

     注:  dig  @服务器IP  域名       查询类型    网络等级

     功能:发送域名查询信息包到域名服务器。

          例:dig @192.168.10.7 www.baidu.com

------------------------------------------------------------------------------------------------------------

小结:

DNS正向解析要处理三个配置文件:

     1、/etc/named.conf    主配置文件(主要改了4行代码,只需要改一次)

     2、/etc/nemed.rfc1912.zones    区域配置文件(用来登记区域名称及其相关参数的设置)

     3、/var/named/*         区域解析的资源记录文件(用来登记主机名和IP地址的对应关系)

     注意:

          1、解析的资源记录文件中如果是FQDN完整域名,必须把根域的.点写上,否则named服务运行不了。

          2、NS记录对应的域名必须有对应的A记录。

DNS客户端解析测试命令:nslookup、dig、host

------------------------------------------------------------------------------------------------------------

案例:在192.168.10.7这台DNS服务器上登记sina.com这个域名的正向解析功能。其解析的资源记录文件中的主机名和IP地址自己随便定。最终用nslookup命令做正向解析测试。

第1步:vim /etc/named.rfc1912.zones     #添加如下内容

     zone "sina.com" IN {     #声明区域名(或称为区域名设置)

             type  master     #类型为master主DNS服务器

             file "sina.com.zx";     #解析的资源配置文件,文件位于/var/named目录中

             allow-update { none; };     #不允许update更新

             allow-transfer { none;};     #允许传输。通常是指辅助DNS服务器的IP地址。

     };

第2步:执行如下操作。

     cd   /var/named

     cp   -pv    named.localhost    sina.com.zx

     vim    sina.com.zx    修改后的内容如下

          $TTL 1D

          @       IN SOA  dns1.sina.com.   12700696.qq.com. (

                                                  2017112701      ; serial

                                                  1D      ; refresh

                                                  1H      ; retry

                                                  1W      ; expire

                                                  3H )    ; minimum

                     NS      dns1.sina.com.

          dns1    A       192.168.10.7

                     AAAA    ::1

          www    A       1.1.1.1

          ftp       A       1.1.1.2

          mail     A       1.1.1.3

          linux    A       1.1.1.4

          w       CNAME   www

          ww     CNAME   www

          web    CNAME   www

第3步:平滑重启named服务

     systemctl    reload    named

第4步:解析测试

     nslookup    www.sina.com      192.168.10.7

     nslookup    web.sina.com      192.168.10.7

看完上述内容,你们对centos7中怎么搭建DNS域名系统有进一步的了解吗?如果还想了解更多知识或者相关内容,请关注天达云行业资讯频道,感谢大家的支持。

返回云计算教程...