CentOS7 DNS 服务 bind9实战

2018年12月4日17:36:05 发表评论 4,068 views
广告也精彩

一、DNS理论基础

1,DNS 的出现及演化

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

2,DNS概述入门

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

3,DNS域名解析过程

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

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

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”,意思是接受其他主机的访问和查询,如下:

CentOS7 DNS 服务 bind9实战
重启bind服务

[root@localhost ~]# systemctl restart named

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

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

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

CentOS7 DNS 服务 bind9实战
如上,在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";
};

CentOS7 DNS 服务 bind9实战

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.    #11是master的IP
11     PTR    master.qiu.com.
12     PTR    slave.qiu.com  #12是slave的iP

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

CentOS7 DNS 服务 bind9实战

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

  • QQ精品交流群
  • weinxin
  • 微信公众号
  • weinxin
广告也精彩
admin

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: