LinuxService- CentOS7安装使用DNS服务器

1  概念

(1)DNS,Domain Name System,域名系统。使用的是TCP 53 号 和UDP 53 号端口,用于完成主机名称到IP之间的解析。所需程序包的整套程序名是Berkeley Internet Name Domain,即BIND。

(2)FQDN(fully qualified domain name)完全合格域名: 主机头 www. +域名 baidu.com. 。后面的“.”代表根域,紧跟着的com是顶级域,然后baidu是子域,子域也分为二级子域、三级子域。根域记录的是顶级域的信息,顶级域记录的是子域的信息。下图为域名系统的层级,最高层为根域:

(3)DNS查询FQDN条目方式(又叫解析方式或查询模式)

      迭代查询:每个DNS服务器都会返回它能够提供的最佳答案,否则就提供一个指针,告诉客户端应该去哪里查询,进而客户端会去其他DNS服务器查询,直到查到结果

       递归查询:首选的DNS服务器会提供一个最终结果。客户端向首选DNS服务器发出解析请求,首选DNS服务器会迭代查询出最终结果传给客户端。

例:客户端查询www.baidu.com,先查询DNS服务器,没有的话就再自己的查询缓存,还是没有的话就使用递归查询方式进行查询。

4) 本地授权数据:查询到达一个权威DNS服务器时,权威服务器首先确定是否被查询的信息驻留在某个区域之中。如果存在,权威服务器将响应一个权威应答(A)。所有提供的数据都将有A标志。

本地缓存未授权数据:如果权威DNS服务器没有权威区域的记录,则通过自己最近获得的缓存来查询应答。但此资源不属于A应答。

递归获取未授权数据:如果权威DNS服务器在缓存中亦为查找出条目,将完成一个迭代查询的过程,通过迭代流程完成条目的查询,并最终将条目信心缓存至服务器本地,而后将结果递归给客户端。

2  配置正解DNS服务

2.1 配置服务器端

第一步:安装软件包        #yum   install   bind   -y

第二步:编辑配置文件      #vim    /etc/named.conf

1)首先,修改全局配置成最小配置,其他内容全部删掉。全局配置就是指配置文件必须遵循的总体格式。

  1  options  {

  2         listen-on  port  53  {  any;  };   //任何主机都使用TCP 53号端口

  3         directory       "/var/named";     //指定存放解析文件的目录

  4         allow-query     {  any;  };       //指定允许访问DNS的主机,any指所有

  5 };

2)然后,添加正解区域

  6  zone   " baidu.com "   IN   {           

  7         type   master;                  //指定服务器类型,master为主服务器

  8         file    " zj.db " ;                 //指定解析使用的数据库文件

  9 };

//最终文件中就剩下这9行内容

第三步:创建DNS解析文件—— zj.db

#cd   /var/named

#cp   named.localhost     zj.db              //拷贝模板

第四步:编辑区域配置文件 zj.db

$TTL  1D                 //指定DNS缓存时间,为1天

@       IN   SOA   dns.baidu.com.    root.dns.baidu.com.  (

                                        0       ; serial

                                        1D      ; refresh

                                        1H      ; retry

                                        1W      ; expire

                                        3H )    ; minimum

@       IN   NS    dns.baidu.com.

dns      IN   A     192.168.1.1

www     IN   A     192.168.1.10

lizi       IN   A     192.168.1.20

// @代表本域;IN代表解析类型;SOA用于指定主DNS服务器;root.dns.baidu.com是指定管理员邮箱;NS代表权威DNS服务器,表明该权威DNS服务器对本区域有解析权;dns,www,lizi都是主机头的名字

第五步:修改数据库文件zj.db的属主和属组     #chown   named.named   zj.db

第六步:重启服务                            #systemctl   restart   named

2.2  配置客户端及测试

第一步:编辑配置文件   #vim   /etc/resolv.conf

添加               nameserver   DNS服务器IP地址

例:nameserver    192.168.1.1

第二步:输入命令

#dig   www.baidu.com   或  #host  www.baidu.com  或 #nslookup  www.baidu.com

注:#nslookup后面什么都不写直接回车的话,会进入交互模式,在交互模式下输入域名即可解析。

2.3  /etc/named.conf 配置文件解读

1) zone( 区域 ):DNS是直接解析FQDN<->IP映射 , 所有的主机或IP都在一个区域中声明。便于DNS得知所解析的内容归属于哪个区域,这样通过所定义的区域数据库文件来找到所对应的条目,给予客户端答案。

2) 正解区域:在DNS中由FQDN解析为IP的功能区域被称为正解区域

3) 反解区域:在DNS中由IP解析为FQDN的功能区域被称为反解区域

4)DNS服务类型

2.4 区域配置文件解读

1) SOA(star of Authority):SOA 记录表明DNS服务器之间的关系,同时表明所声明的对此具有修改权利的区域所有者是谁。

2) NS(Name Server):表示那台主机对此区域拥有解析权力。NS即权威DNS服务器。对于辅DNS来说,NS即主DNS。对于DNS Client而言,所指定的DNS Server即是它的权威服务器

3) TTL(Time-To-Live):DNS 服务器缓存时间,单位:秒

4) A 记录:正解记录。即FQDN->IP  ;PTR 记录 : 反解记录。即IP->FQDN(IPv4和v6)

5) AAAA 记录:FQDN->IPv6 记录

6) MX 记录 : 邮件服务器 FQDN。 邮件服务可以配置多个 , 以优先级控制。数字越小越优先。例,正解区域域名    IN   MX   mail.baidu.com

7) domain : 声明本地DNS为指定域的主域服务器

8) search : 声明本地DNS/Client为指定域的成员

9) 区域命名 : 区域命名必须符合FQDN规范 , 且字符最大值不得超过255个字符。区域命名必须唯一。

10) 所有者 : 资源所有者。一般来说为DNS服务器的FQDN

11) 指定的类型数据 : A/PTR/SOA/MX所对应的值;

12)RNAME : DNS 区域负责人的邮件地址

13) CNAME : FQDN 的别名。如在区域配置文件zj.db的最后添加haha  IN  CNAME  www.baidu.com.  ,这样baidu的FQDN就有了别名叫haha 。

14) series序列号 : 一个32bit的值,从1-429467295如果值到最大时将重新轮换。此值主要定义了主DNS的修改次数。便于辅DNS用以对比、更新。手动将序列号自增1就能实现手动刷新。

15) refresh刷新时间 : 定义辅服务器每个多少时间连接主服务器检查更新情况

16) retry重试时间 : 如辅服务器没有成功连接到主服务器,则每经过多少时间再次连接主服务器

17) expire废弃时间 : 在经过指定时间,辅服务器仍然无法连接到主服务器,则不在提供DNS解析服务

18) minimum最小时间 : 指定辅DNS缓存生存周期

3  配置反解DNS服务

3.1 配置服务器端

第一步:安装软件包        #yum   install   bind   -y

第二步:编辑配置文件      #vim    /etc/named.conf

1)修改全局配置成最小配置,其他内容全部删掉

1  options  {

  2         listen-on  port  53  {  any;  };     //任何主机都使用TCP 53号端口

  3         directory       "/var/named";       //存放解析文件

  4         allow-query     {  any;  };         //允许任何主机访问DNS

  5 };

2)添加反解区域           //或者直接在2的基础上添加反解区,即就在正解区后面添加

  6  zone   " 1.168.192.in-addr.arpa "   IN   {    //解析192.168.1.0网络段 

  7         type   master;

  8         file    " fj.db " ;

  9 };

第三步:创建DNS解析文件—— fj.db

#cd   /var/named

#cp   zj.db    fj.db              //拷贝模板

第四步:编辑区域配置文件 fj.db

$TTL  1D

@       IN   SOA   dns.baidu.com.    root.dns.baidu.com.  (

                                        0       ; serial

                                        1D      ; refresh

                                        1H      ; retry

                                        1W      ; expire

                                        3H )    ; minimum

@       IN   NS      dns.baidu.com.

1        IN   PTR     dns.baidu.com

10       IN   PTR     www.baidu.com

20       IN   PTR     lizi.baidu.com

第五步:修改数据库文件fj.db的属主和属组     #chown   named.named   fj.db

第六步:重启服务                            #systemctl   restart   named

注:检测named 配置文件是否正确,用 #named-checkconf

3.2 配置客户端及测试

第一步:编辑配置文件   #vim   /etc/resolv.conf

添加               nameserver   DNS服务器IP地址

例:nameserver    192.168.1.1

第二步:输入命令

#dig  -x  www.baidu.com 或  #host  www.baidu.com  或 #nslookup  www.baidu.com

4  配置辅助DNS服务器

    当主DNS服务器宕机之后,辅助DNS服务器会代替主DNS服务器工作。解析文件会由主DNS服务器自动同步过来。

4.1 在r1上安装辅助DNS服务器

第一步:安装软件        #yum   install   bind   -y

第二步:编辑配置文件    #vim   /etc/named.conf  ,将里面内容修改为

options  {

           listen-on   port  53  {  any;  };

           directory       "/var/named";

           allow-query     {   any;   };

           allow-transfer   {  192.168.2.1;  };   //括号里面是辅助DNS服务器IP  

//如果slave服务器无法自动生成库文件zj.db与fj.db,且存放目录正确时,添加该行,添加之后就能自动生成库文件zj.db和fj.db 。

  };      

  zone   "baidu.com"   IN   {                //增加正解区域

           type   slave;                      //指定服务器类型,slave代表辅助类型

masters   {   192.168.1.1;   };     //指定主服务器的IP

           file   "slaves/zj.db";               //指定使用的区域数据库文件

  };

  zone   "1.168.192.in-addr.arpa"   IN  {      //增加反解区域

          type   slave;                       

          masters   {   192.168.1.1;   };

          file   "slaves/fj.db";

  };

第三步:检测配置文件正确与否    #named-checkconf

注:用 #systemctl  -l  status  进程名 ,也可以查看详情

第四步:启动服务                #systemctl   restart    named

4.2  配置客户端并测试

第一步:编辑配置文件   #vim   /etc/resolv.conf

添加               nameserver    DNS辅助服务器的IP

例:nameserver   192.168.2.1

第二步:输入命令

#dig  -x  www.baidu.com 或  #host  www.baidu.com  或 #nslookup  www.baidu.com

5  配置转发DNS服务器

    任意找一个机器作为转发DNS服务器,客户端直接指向转发DNS服务器,防止主DNS服务器负载过大。

5.1 配置转发DNS服务器端

第一步:安装软件       #yum   install   bind   -y

第二步:编辑配置文件   #vim   /etc/named.conf  内容修改为

options   {

listen-on   port   53   {   any;   };

directory   “ /var/named ”;

alow-query    {   any;   };           

alow-update   {   none;   };      //是否允许同步更新,none代表不允许同步更新

forwarders     {   192.168.1.1 ;  };     //指定DNS转发服务器的主DNS服务器

forward    only;                  //只允许使用转发解析

};

第三步:重启服务                            #systemctl   restart   named

5.2  配置客户端并测试

第一步:编辑配置文件   #vim   /etc/resolv.conf,添加nameserver   DNS转发服务器IP地址 。例:nameserver    192.168.1.2

第二步:输入命令

#dig  -x  www.baidu.com 或  #host  www.baidu.com  或 #nslookup  www.baidu.com

能看到正确的解析结果!


转载请注明出处,谢谢!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

鬼刺

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值