搭建DNS服务器

搭建基础环境:Centos7.2


1、安装最新的bind软件

#yum install bind* -y


搭建DNS服务器_第1张图片

2、修改配置

安装完之后 配置文件将位于 /etc/named.conf

配置文件中第一段中最重要的为第一段,详明资源记录的目录。

其中 /var/named/ 区域数据文件

配置文件中还需要定义其他区域的类型及数据文件。


搭建DNS服务器_第2张图片

其中named.ca为根数据文件

named.localhost定义了本机的回环数据文件(正向解析)

named.loopback定义了本机的回环数据文件(反向解析)


3、记录类型

A记录:地址记录,用来指定域名的IPv4地址(如:8.8.8.8),如果需要将域名指向一个IP地址,就需要添加A记录。

CNAME: 如果需要将域名指向另一个域名,再由另一个域名提供ip地址,就需要添加CNAME记录。

TXT:在这里可以填写任何东西,长度限制255。绝大多数的TXT记录是用来做SPF记录(反垃圾邮件)。

NS:域名服务器记录,如果需要把子域名交给其他DNS服务商解析,就需要添加NS记录。

AAAA:用来指定主机名(或域名)对应的IPv6地址(例如:ff06:0:0:0:0:0:0:c3)记录。

MX:如果需要设置邮箱,让邮箱能收到邮件,就需要添加MX记录。

SRV:记录了哪台计算机提供了哪个服务。格式为:服务的名字、点、协议的类型,例如:_xmpp-server._tcp。


4、区域类型

主区域:master

从区域:slave

根区域:hint

转发区域:forward

启动服务前查看配置文件及数据文件是否有误

命令:

#named-checkconf 检测named.conf 语法格式,不能检查逻辑错误

#namad-checkzone " " 目标路径 检测/var/named/中对应的文件是否存在语法错误


5、启动服务

systemctl start named


搭建DNS服务器_第3张图片

DNS: 监听的协议及端口:

53/udp

53/tcp

953/tcp, rndc


可以使用dig、nslookup 命令进行DNS解析测试。

#dig -t A oa.mabeyx.com @192.168.12.118 -t指定类型、指定解析域名、指定DNS服务器

#nslookup server 192.168.12.118


6、配置文件(主DNS服务器:named.conf)

acl innet {                                                          #定义网段组

192.168.129.0/24;

};

options {

directory "/var/named";

recursion yes;                                                   #允许任意查询进行递归

allow-recursion { 192.168.12.0/24; };         #定给某个网段递归

querylog no;                                                     #开启用户使用记录日志功能,不建议开启

};

zone "." IN {                                                     #说明13台根服务器的地址

type hint;

file "named.ca";

};

zone "mabeyx.com" IN {

type master;                                                     #说明该类型为主从服务器

file "mabeyx.com.zone";                               #说明数据文件存放于/var/named/mabeyx.com.zone

allow-transfer { 192.168.12.119; };              #允许单个主机来查询所有数据记录

};


7、配置文件(从DNS服务器:named.conf)

zone "mabeyx.com" IN {

type slave;

file "slaves/mabeyx.com.zone";

masters { 192.168.12.118; };                      #说明主服务器是哪个主机

allow-transfer { none; };                            #允许单个主机来查询所有数据记录


8、智能DNS服务器:(CDN的部分实现机制)

view telecom {                                  #视图功能

match-clients { any; };                    #当访问的IP段为any内是使用telecom.mabeyx.com.zone进行解析

zone "mabeyx.com" IN {

type master;

file "telecom.mabeyx.com.zone";

};

};


view unicom {

match-clients { innet; };                  #当访问的IP段为innet内是使用unicom.mabeyx.com.zone进行解析

zone "mabeyx.com" IN {

type master;

file "unicom.mabeyx.com.zone";

};

};



备注:zone文件需要保持权限为640,且named为属主或属组


9、其他说明

配置文件:

recursion yes; 详明允许被递归。 递归将消耗大量资源

allow-recursion { 192.168.12.0/24; } 声明只允许该网段请求的允许使用递归。


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

zone文件一般格式:

$TTL 43200

@                IN                 SOA                   mabeyx.com.                       admin.mabeyx.com. (

                                                                     2017052701                         #版本号,每次更改配置后都需要更换

                                                                     1H                                          #更新频率(Refresh)。即slave向master要求数据更新的频率

                                                                     5M                                         #失败重新尝试时间(Retry)导致slave无法对master达成联机

                                                                     2D                                          #失效时间(Expire)。

                                                                     6H )

                    IN                   NS                    ns1

                    IN                   MX   10           mail

ns1              IN                   A                      192.168.12.118

oa               IN                   A                       192.168.12.232

mail           IN                   A                       192.168.12.177

*                 IN                    A                      192.168.12.120

qq              IN                    A                      192.168.12.122


10、心得

    目前大多数情况下是没必要去自建DNS服务器,搭建DNS简单但维护有些麻烦,自建DNS服务器无非是想让域名快速指向期望的IP地址,而不想在公网上饶一圈,一般来说这种情况并不多,使用本地的hosts文件劫持即可满足了,当需要劫持数达到一定量级,且有专人去维护时再考虑自建DNS。

你可能感兴趣的:(搭建DNS服务器)