程序包bind,程序名named,服务dns
程序包:bind、bind-libs、bind-utils
服务脚本:/etc/init.d/named
主配置文件:/etc/named.conf、/etc/named.rfc1912.zones、/etc/rndc.key
rfc1912网络协议
rndc:remote name domain controller 众多功能,远程管理功能,默认只能本地127.0.0.1管理,提供辅助性管理功能
默认工作在tcp953端口
解析库文件:/var/named/ZONE_NAME.ZONE 负责保存本地区域的数据
a.NAME.COM b.NAME.COM c.NAME ...
~]# ls/var/named/
data dynamic named.ca named.empty named.localhost named.loopback slaves
named.ca 全球13个根节点名称服务器
named.localhost
named.loopback 本地回环
主配置文件:
全局配置:options {}
日志子系统配置:logging {}
区域定义:本机能够为哪些zone进行解析,就要定义哪些zone;
zone "ZONE_NAME" IN {}
~]# servicenamed start
Generating/etc/rndc.key: [确定]
启动named: [确定]
~]# ss -tunlp |grep :53
udp UNCONN 0 0 127.0.0.1:53 *:* users:(("named",1183,512))
udp UNCONN 0 0 ::1:53 :::* users:(("named",1183,513))
tcp LISTEN 0 3 ::1:53 :::* users:(("named",1183,21))
tcp LISTEN 0 3 127.0.0.1:53 *:* users:(("named",1183,20))
pS:任何服务程序如果期望其能够通过网络被其它主机访问,至少应该监听在一个能与外部主机通信的IP地址上;就可以作为缓冲dns
dnssec:防止dns被污染,建议测试时关闭
主dns服务器
1、在住配置文件定义区域/etc/named.rfc1912.zones
zone"ZONE_NAME" IN {
type {master|slave|hint根|forward转发};
file"ZONE_NAME.zone";
};
2、定义区域解析库文件/etc/named/ZONE_NAME.zone
soa
宏定义
RR
$TTL86400
@ IN SOA ns1.test.com admin.test.com(
2017111111
1H
5M
7D
1D
//SOAEND THAN NS
IN NS ns1.test.com.
IN NS ns2.test.com.
ns1 IN A 1.1.1.1
ns2 IN A 2.2.2.2
www IN A 3.3.3.3
//NS END test.com可省略
检查主配置文件是否写错named-checkconf
检查zone是否写错named-checkconf “ZONENAME” zone路径
检查服务状态 rndc status
BIND的有用的网站:
http://www.isc.org/products/BIND/
http://www.isc.org/products/BIND/
强烈推荐BIND9解压目录下的/doc/arm管理员手册
其他第三方DNS服务器软件:
MaraDNS,安全的嵌入式DNS. http://www.maradns.org/
Oak DNS 用python写的,和bind的区域文件和cache兼容,地址:
http://www.digitallumber.com/oak
PowerDNS 一个仅支持认证的DNS,http://www.powerdns.org/
MYDNS以mysql作为后台的认证DNS,http://mydns.bboy.net/
原文:http://echoroot.blog.51cto.com/11804540/1946475