搭建基础环境:Centos7.2
1、安装最新的bind软件
#yum install bind* -y
2、修改配置
安装完之后 配置文件将位于 /etc/named.conf
配置文件中第一段中最重要的为第一段,详明资源记录的目录。
其中 /var/named/ 区域数据文件
配置文件中还需要定义其他区域的类型及数据文件。
其中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: 监听的协议及端口:
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。
网友评论