DNS服务器的学习和搭建

#########DNS服务器###########


1.DNS服务器的类型:

主域名服务器:master,负责维护这个地区的所有域名信息,是特定的所有信息的权威信息源。

辅助域名服务器:slaves,作为备份服务器,在主服务器出现故障、关闭、负载过重时提供域名解析服务器。

缓存服务器:hint,将域名查询结果缓存到本地,提高重复查询时的速度。

转发域名服务器:负责所有非本地域名域名的本地查询。


2.DNS系统的作用:

正向解析:根据主机名称(域名)查找对应的IP地址。

反向解析:根据IP地址查找对应的主机域名。



#########DNS服务器的配置选项内容解释##########

1.DNS服务的信息说明:

网络类型:

IN:表示网络是Internet

基本记录:

A:Address,正向记录,域名到ip

AAAA:域名到IPV6的映射

PTR:Printer,反向,ip到域名

可选记录:

MX:代表域内的邮件服务器


CNAME:域名的别名


区记录:


SOA:start of authority ,标示域内主dns服务器


NS:代表域内的dns服务器,标示授权子域


host -l example.com    ##查看域中的所有主机


dig -t soa example.com    ##辅助dns


软件包: bind、bind-chroot、bind-utils、caching-nameserver


bind    ##提供了域名服务的主要程序及相关文件


bind-chroot    ##为bind提供一个伪装的根目录以增强安全性

(将“/var/named/chroot/”文件夹作为BIND的根目录)


bind-utils    ##提供了对DNS服务器的测试工具程序(如nslookup、dig等)


cache-nameserver ##提供了一些配置样例文件


(如果没有安装bind-chroot软件包,则主配置文件默认位于 /etc/named.conf,数据文件默认保存在 /var/named/ 目录)



/etc/named.conf    ##DNS主配置文件


/var/named    ##DNS区文件(zone)存放目录


【注:为了实验简单些,这里没有使用伪装的目录】


named是标准的系统服务脚本,监听TCP、UDP协议的53端口,以及TCP的953端口:


UDP 53端口一般对所有客户机开放,以提供解析服务;


TCP 53端口一般只对特定从域名服务器开放,提高解析记录传输通道


TCP 953端口默认只对本机(127.0.0.1)开放,用于为rndc远程管理工具提供控制通道


############配置主DNS服务器(有正向和反向解析)############


  1. 安装



yum install -y bind bind-utils


2.

背景:

hjy.qq.com是主dns服务器,IP是172.25.8.10,


有2个计算机进行域名解析,www和abc,IP是172.25.8.13~14


1)

vim /etc/named.conf    ##dns配置文件,包含对根域服务器named.ca的引用


在options中参数修改如下:            ##全局设定

  listen-on port 53 { any; };        ##监听本地53端口,any表示允许任何IP监听

  // listen-on-v6 port 53 { ::1; };    ##注释关闭ipv6选项

  allow-query  { any; };        ##允许与本地直连的网络使用dns服务

     

//include "/etc/named.root.key";    ##根安全及远程管理,注释掉这最后一行


2)

vim /etc/named.rfc1912.zones    ##该文件定义区qq.com,区指zone(更多域名,可在此文件中继续添加)


zone "qq.com" IN {        ##定义了对qq.com的正向解析

        type master;

        file "qq.com.zone";    ##正向解析配置文件名为qq.com.zone,此区文件中有资源记录

        allow-update { none; };

};


zone "8.25.172.in-addr.arpa" IN {    ##该文件定义区qq.com的反向解析

        type master;

        file "8.25.172.zone";        ##反向向解析配置文件名为8.25.172.zone,此区文件中有资源记录

        allow-update { none; };

};


3)

vim /var/named/qq.com.zone


$TTL 1D

@       IN SOA  hjy.qq.com. root.qq.com. (    ##@代替qq.com,写全域名后必须有.

                                        0       ; serial    ##序列号

                                        1D      ; refresh    ##刷新间隔

                                        1H      ; retry        ##重试间隔

                                        1W      ; expire    ##过期间隔

                                        3H )    ; minimum    ##最小TTL

        IN  NS  hjy.qq.com.    ##NS记录,授权的子域

hjy     IN  A   172.25.8.10    ##A记录,相对名hjy,全名是hjy.qq.com

www     IN  A   172.25.8.13    ##A记录,相对名www,全名是www.qq.com

abc    IN  A    172.25.8.14    ##A记录


4)vim /var/named/8.25.172.zone


$TTL 1D

@       IN SOA hjy.qq.com. root.qq.com. (    ##@代替8.25.172.in-addr.arpa,root.qq.com是管理员邮箱

                                        0       ; serial

                                        1D      ; refresh

                                        1H      ; retry

                                        1W      ; expire

                                        3H )    ; minimum

        IN NS   qq.com.        ##NS记录,授权的子域

10      IN PTR  hjy.qq.com.    ##PTR记录,IP到域名的解析

13      IN PTR  www.qq.com.

14    IN PTR  abc.qq.com.


5)检查配置文件


named-checkconf /etc/named.conf

named-checkzone qq.com /var/named/qq.com.zone

named-checkzone 8.25.172.in-addr.arpa /var/naemd/8.25.172.zone


6)检查无误启动named

systemctl start named


7)测试DNS是否生效


vim /erc/resolv.conf


search qq.com hjy.qq.com


nameserver 172.25.8.10


8)使用host和dig命令进行解析


[root@localhost ~]# host hjy.qq.com

hjy.qq.com has address 172.25.8.10

[root@localhost ~]# host www.qq.com

www.qq.com has address 172.25.8.13

[root@localhost ~]# host abc.qq.com

abc.qq.com has address 172.25.8.14

[root@localhost ~]# host 172.25.8.13

13.8.25.172.in-addr.arpa domain name pointer www.qq.com.


############配置辅助DNS服务器#############


  1. 继续编辑主DNS服务器的/etc/named.conf


添加新的options参数:

options {

        dierectory "/var/named";

        allow-transfer {172.25.8.11;};    ##指定辅助服务器的IP,也可以为any


2.辅助服务器上安装

yum install -y bind

3.辅助服务器编辑配置文件

1)

vim /etc/name.conf

注释原来的options,新添加:

options {

        directory "/var/named";

};


logging {            【这些内容留下,其他注释掉】

        channel default_debug {

                file "data/named.run";

                severity dynamic;

        };

};


zone "." IN {            【这些内容留下,其他注释掉】

        type hint;

        file "named.ca";

};


include "/etc/named.rfc1912.zones";【这些内容留下,其他注释掉】

//include "/etc/named.root.key";    ##根安全及远程管理,注释掉这最后一行


2)

 vim /etc/named.rfc1912.zones

zone "qq.com" IN {

         type slave;

         file "slaves/qq.com.zone";

         masters {172.25.8.10;};    ##注意是masters

};

zone "8.25.172.in-addr.arpa" IN {

         type slave;

         file "slaves/8.25.172.zone";

         masters {172.25.8.10;};    ##注意是masters

};

3)辅助服务器检查配置文件


named-checkconf /etc/named.conf


4)辅助服务器查看并开启named


ls /var/named/slaves/    ##此时该目录为空


systemct start named    ##启动naemd守护进程


5)辅助服务器查看/var/named/slaves/


ls /var/named/slaves/    


8.25.172.zone  qq.com.zone    ##从主服务器复制过来的正向和反向解析


6)辅助服务器测试DNS是否生效


vim /etc/resolv.conf

search qq.com

nameserver 172.25.8.11


7)使用host和dig命令进行解析

[root@slave ~]# host www.qq.com

www.qq.com has address 172.25.8.13

[root@server ~]# host 172.25.8.14

14.8.25.172.in-addr.arpa domain name pointer abc.qq.com.



############配置转发DNS服务器#############


如果DNS服务器配置为DNS转发模式,其实就是创建成缓存服务器


  1. 只用编辑name.conf,不需要使用zone语句设置区


1) vim /etc/name.conf

options{

    dierectory "/var/named";

    forwarder {172.25.8.20        ##转发目的DNS服务器ip地址

           172.25.8.30        

    };    

    forwared only;    ##只进行转发服务

};

2)开启nameds

systemct start named    ##启动naemd


############DNS负载均衡############


背景:例如FTP服务器访问者很多,通过使用对DNS的配置达到负载均衡的目的,3台FTP服务器的内容完全相同,

3台FTP服务器IP为172.25.8.15~17,统一使用一个域名ftp.qq.com


  1. 在刚才的主服务器上直接做


1)编辑qq.com.zone


vim /var/named/qq.com.zone


$TTL 1D

@       IN SOA  hjy.qq.com. root.qq.com. (

                                        0       ; serial

                                        1D      ; refresh

                                        1H      ; retry

                                        1W      ; expire

                                        3H )    ; minimum

        IN  NS  hjy.qq.com.

hjy     IN  A   172.25.8.10

www     IN  A   172.25.8.13

abc     IN  A   172.25.8.14

ftp     IN  A   172.25.8.15

ftp     IN  A   172.25.8.16

ftp     IN  A   172.25.8.17


2)编辑8.25.172.zone


vim /var/named/8.25.172.zone 


$TTL 1D

@       IN SOA hjy.qq.com. root (

                                        0       ; serial

                                        1D      ; refresh

                                        1H      ; retry

                                        1W      ; expire

                                        3H )    ; minimum

        IN NS   qq.com.

10      IN PTR  hjy.qq.com.

13      IN PTR  www.qq.com.

14      IN PTR  abc.qq.com.

15      IN PTR  ftp.qq.com.

16      IN PTR  ftp.qq.com.

17      IN PTR  ftp.qq.com.


3)重新启动

systemctl restart named

【注意:之前配置过转发服务器,如果出现错误,按照named-check /etc/named.conf检查排错】


4)正向反向测试

[root@localhost ~]# host ftp.qq.com

ftp.qq.com has address 172.25.8.17

ftp.qq.com has address 172.25.8.15

ftp.qq.com has address 172.25.8.16

[root@localhost ~]# host 172.25.8.15

15.8.25.172.in-addr.arpa domain name pointer ftp.qq.com.

[root@localhost ~]# host 172.25.8.16

16.8.25.172.in-addr.arpa domain name pointer ftp.qq.com.

[root@localhost ~]# host 172.25.8.17

17.8.25.172.in-addr.arpa domain name pointer ftp.qq.com.


  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
DNS服务器搭建过程可以大致分为以下几个步骤: 1. 选择合适的DNS服务器软件:常见的DNS服务器软件有Bind、PowerDNS、Unbound等。根据自己的需求和操作系统选择合适的软件。 2. 安装和配置DNS服务器软件:根据选择的软件,在服务器上进行安装和基本配置。这通常包括设置监听的网络接口、指定数据存储位置等。 3. 创建和配置区域文件:区域文件是DNS服务器用来解析域名的重要文件,它存储了域名和IP地址的映射关系。根据需要,创建相应的区域文件,并在配置文件中引用它们。 4. 配置递归解析器:递归解析器用于向其他DNS服务器查询域名解析请求。配置递归解析器时,可以指定一些上游DNS服务器或者使用默认的根DNS服务器。 5. 配置转发器(可选):转发器用于将无法解析的域名请求转发给其他DNS服务器处理。如果有需要,可以配置转发器以提高解析效率。 6. 设置安全性和权限控制(可选):对于公共的DNS服务器,为了提高安全性和防止滥用,可以设置访问控制列表(ACL)、启用DNSSEC等安全措施。 7. 测试和监控:完成配置后,进行一些简单的测试,确保DNS服务器能够正常解析域名。同时,建议设置合适的监控机制,及时发现和解决问题。 需要注意的是,DNS服务器搭建过程可能会因软件和操作系统的不同而略有差异。因此,在具体操作时,最好参考相应软件的官方文档或者相关的教程,以确保正确配置和运行DNS服务器

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值