CentOS7 DNS 服务 bind9实战

 

目录

一、DNS理论基础

1,DNS 的出现及演化

IP地址通信 》》hosts文件解析》》DNS系统

 

2,DNS概述入门

DNS (Domain Name System,域名系统),域名与IP的相互映射,提供用户访问互联网;
DNS端口:53 UDP协议
DNS的分布式数据库是以域名为索引的,每个域名实际上就是一颗很大的逆向树,树深最大127层,每个节点都有63个字符的文本标号;

3,DNS域名解析过程

首先,客户端先在本地缓存查找有没有域名缓存,如果没有,客户端发出DNS请求翻译IP地址或主机名。DNS服务器在收到客户机的请求后:

(4步描述)
1)检查DNS服务器的缓存,若查到请求的地址或名字,即向客户机发出应答信息;
2)若没有查到,则在数据库中查找,若查到请求的地址或名字,即向客户机发出应答信息;
3)若没有查到,则将请求发给根域DNS服务器,并依序从根域查找顶级域,由顶级查找二级域,二级域查找三级,直至找到要解析的地址或名字,即向客户机所在网络的DNS服务器发出应答信息,DNS服务器收到应答后现在缓存中存储,然后,将解析结果发给客户机。
4)若没有找到,则返回错误信息。

 

4,Dns的分类

DNS服务器:就是一台存储着原始资料的DNS服务器。
DNS服务器:使用自动更新方式从主DNS服务器同步数据的DNS服务器。也成辅助DNS服务器。
缓存服务器:不负责本地解析,采用递归方式转发客户机查询请求,并返回结果给客户机的DNS服务器。同时缓存查询回来的结果,也叫递归服务器。
转发器:这台DNS发现非本机负责的查询请求时,不再向根域发起请求,而是直接转发给指定的一台或者多台服务器。自身并不缓存查询结果。

5,DNS记录类型

A记录:
将域名指向一个IPv4地址(例如:10.10.10.10),需要增加A记录
CNAME记录:
如果将域名指向一个域名,实现与被指向域名相同的访问效果,需要增加CNAME记录
MX记录:
建立电子邮箱服务,将指向邮件服务器地址,需要设置MX记录
NS记录:
域名解析服务器记录,如果要将子域名指定某个域名服务器来解析,需要设置NS记录
TXT记录:
可任意填写(可为空),通常用做SPF记录(反垃圾邮件)使用
AAAA记录:
将主机名(或域名)指向一个IPv6地址(例如:ff03:0:0:0:0:0:0:c1),需要添加AAAA记录
SRV记录:
记录了哪台计算机提供了哪个服务。格式为:服务的名字.协议的类型(例如:_example-server._tcp)
显性URL:
将域名指向一个http(s)协议地址,访问域名时,自动跳转至目标地址(例如:将www.net.cn显性转发到www.hichina.com后,访问www.net.cn时,地址栏显示的地址为:www.hichina.com)。
隐性URL:
与显性URL类似,但隐性转发会隐藏真实的目标地址(例如:将www.net.cn隐性转发到www.hichina.com后,访问www.net.cn时,地址栏显示的地址仍然为:www.net.cn)。

二、环境介绍

[root@localhost ~]# uname -a

Linux  3.10.0-693.el7.x86_64 #1 SMP Tue Aug 22 21:09:27 UTC 2017 x86_64 x86_64 x86_64 GNU/Linux

[root@localhost ~]# cat /etc/redhat-release

CentOS Linux release 7.4.1708 (Core)

三、部署bind

3.1 yum 安装bind 9

[root@localhost ~]# yum -y install bind*.x86_64

[root@localhost ~]# systemctl enable named

[root@localhost ~]# systemctl start named

[root@localhost ~]# systemctl status named

3.2 查看端口状态

[root@localhost ~]# netstat -lntup|grep 53

tcp        0      0 127.0.0.1:53            0.0.0.0:*               LISTEN      4363/named          

tcp        0      0 127.0.0.1:953           0.0.0.0:*               LISTEN      4363/named          

tcp6       0      0 ::1:53                  :::*                    LISTEN      4363/named          

tcp6       0      0 ::1:953                 :::*                    LISTEN      4363/named          

udp        0      0 127.0.0.1:53            0.0.0.0:*                           4363/named          

udp6       0      0 ::1:53                  :::*                                4363/named   

# 记得关闭selinux

如上,则bind启动完成

四、修改配置文件

4.1调整网络访问权限

[root@localhost ~]#  vim /etc/named.conf

 

##options中的listen-on那一行的 “127.0.0.1” “any”allow-query 中的“localhost” ”any”,意思是接受其他主机的访问和查询,如下:

 


重启bind服务

[root@localhost ~]# systemctl restart named

4.2 远程测试53端口是否可以访问

使用telnet 命令测试,如果没有自己去百度如何添加这个服务

 

4.3 添加配置zone

[root@localhost ~]# vim /etc/named.conf

 

zone "qiu.com." IN {

        type master;

        file "qiu.com.zone";

};

4.4 编辑qiu.com.zone 正向解析文件

[root@localhost ~]#  cd /var/named/

[root@localhost named]# cp named.localhost qiu.com.zone

[root@localhost named]# chown named.named qiu.com.zone

[root@localhost named]# chmod 640 qiu.com.zone

改为如下配置:

$TTL 1D

@       IN SOA  ns.qiu.com. xx.qiu.com. (

                                        0       ; serial

                                        1D      ; refresh

                                        1H      ; retry

                                        1W      ; expire

                                        3H )    ; minimum

        NS      ns.test.com.

ns      A       192.168.56.11

master  A       192.168.56.11

www    CNAME    master

web    CNAME    slave

4.5 检查配置文件

[root@localhost named]# named-checkconf /etc/named.conf

[root@localhost named]# named-checkzone "qiu.com." /var/named/qiu.com.zone

zone qiu.com/IN: loaded serial 0

OK  #输出OK 代表正常,否则自行查询日志,或加入qq群 逗哥为您排查

五、重启named.server,测试域名解析

[root@localhost named]#  systemctl restart named

[root@localhost named]#  dig www.qiu.com @192.168.56.11

 


如上,在dns 服务器 192.168.56.11 上查到 www.qiu.com 指向 master.test.com,然后master.test.com 指向 192.168.56.11

六、配置反向解析

6.1 编辑 /etc/named.conf 在3添加的 zone 下面 添加:

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

        type master;

        file "192.168.56.rev";

};

 

 

6.2 创建rev文件

[root@localhost named]# cp qiu.com.zone 192.168.56.rev

[root@localhost named]# chown named.named 192.168.56.rev

6.3 编辑 192.168.56.rev

[root@localhost named]# cat 192.168.56.rev

$TTL 1D

$TTL 1D

@       IN SOA  ns.qiu.com. xx.qiu.com. (

                                        0       ; serial

                                        1D      ; refresh

                                        1H      ; retry

                                        1W      ; expire

                                        3H )    ; minimum

@       NS    ns.qiu.com.

11     PTR    ns.qiu.com.    #11masterIP

11     PTR    master.qiu.com.

12     PTR    slave.qiu.com  #12slaveiP

6.4 检查配置文件

[root@localhost named]# named-checkconf /etc/named.conf

[root@localhost named]# named-checkzone "56.168.192.in-addr.arpa" /var/named/192.168.56.rev

zone 56.168.192.in-addr.arpa/IN: loaded serial 0

OK  ##正常

七、测试反向解析

[root@localhost named]# systemctl restart named

[root@localhost named]# dig -x 192.168.56.12 @192.168.56.11

 

 

至此,主DNS 服务器上的 正向、反向解析已配置成功。

posted @ 2019-03-11 01:49  舍&得  阅读(3636)  评论(0编辑  收藏  举报