1.系统配置
[root@master01 ~]# cat /etc/redhat-release
CentOS Linux release 7.3.1611 (Core)
[root@master01 ~]# uname -r
3.10.0-514.el7.x86_64
2.安装工具
yum -y install bind bind-utils
3.主要配置文件
/etc/named.conf #主配置文件
/etc/named.rfc1912.zones #区域配置文件
3.1编辑/etc/named.conf
![DNS搭建配置
DNS服务搭建]()
![DNS搭建配置
DNS服务搭建]()
options {
listen-on port 53 { any; }; #监听所有网段53端口
listen-on-v6 port 53 { ::1; };
directory "/var/named";
dump-file "/var/named/data/cache_dump.db";
statistics-file "/var/named/data/named_stats.txt";
memstatistics-file "/var/named/data/named_mem_stats.txt";
allow-query { any; }; #允许所有IP
View Code
3.2编辑/etc/named.rfc1912.zones
![DNS搭建配置
DNS服务搭建]()
![DNS搭建配置
DNS服务搭建]()
在末尾添加以下配置:
zone "test.com" IN { //zone的名称
type master; //类型
file "test.com.zone"; //test.com这个zone存放的文件地址
allow-update { none; };
};
zone "16.168.192.in-addr.arpa" in { //反解
type master;
file "192.168.16.rev";
};
View Code
3.3编辑zone文件地址配置
vim /var/named/test.com.zone
![DNS搭建配置
DNS服务搭建]()
![DNS搭建配置
DNS服务搭建]()
$TTL 1D
@ IN SOA test.com. root (
#dns区域地址 #配置通知邮箱
0 ; serial #更新序列号序列号
1D ; refresh #刷新时间
1H ; retry #重试延时
1W ; expire #失效时间
3H ) ; minimum #无效解析记录缓存时间
NS dns.test.com. #域名服务器解析记录
dns IN A 192.168.16.100 #dns.test.com. 域名解析地址为192.168.16.100
master01 IN A 192.168.16.100
master02 IN A 192.168.16.101
slave21 IN A 192.168.16.121
slave22 IN A 192.168.16.122
slave23 IN A 192.168.16.123
slave24 IN A 192.168.16.124
slave25 IN A 192.168.16.125
View Code
vim /var/named/192.168.16.rev
![DNS搭建配置
DNS服务搭建]()
![DNS搭建配置
DNS服务搭建]()
$TTL 1D
@ IN SOA dns.test.com. abc.test.com. (
0 ; serial
1D ; refresh
1H ; retry
1W ; expire
3H ) ; minimum
NS dns.test.com.
100 PTR master01.test.com. #PTR 反解 192.168.16.100对应到master01.test.com.
101 PTR master02.test.com.
121 PTR slave21.test.com.
122 PTR slave22.test.com.
123 PTR slave23.test.com.
124 PTR slave24.test.com.
125 PTR slave25.test.com.
View Code
4.开启服务
systemctl start named
systemctl enable named
5.验证
![DNS搭建配置
DNS服务搭建]()
![DNS搭建配置
DNS服务搭建]()
[root@master01 ~]# nslookup master01.test.com
Server: 192.168.16.100
Address: 192.168.16.100#53
Name: master01.test.com
Address: 192.168.16.100
[root@master01 ~]# nslookup slave21.test.com
Server: 192.168.16.100
Address: 192.168.16.100#53
Name: slave21.test.com
Address: 192.168.16.121
[root@master01 ~]# nslookup 192.168.16.123
Server: 192.168.16.100
Address: 192.168.16.100#53
123.16.168.192.in-addr.arpa name = slave23.test.com.
View Code
6.服务端配置
windows系统
点击网络连接,配置dns服务器地址
清除dns缓存,ipconfig /flushdns
linux系统
修改网卡配置文件/etc/sysconfig/network-scripts/ifcfg-em1, 将PEERDNS参数(是否将dhcp获取到的dns配置覆盖手工配配置的dns服务器)改为no,并且添加DNS1=192.168.16.100
linux默认没有dns缓存
在通过ping 某个dns域名,无法解析的时候,可以看看cat /etc/resolv.conf 看这里面的dns是否有所设定的dns服务器。
7.配置参数
$TTL,这里为6小时。$TTL指令表示一个资源记录在其他DNS服务器中的缓存时间
SOA(start of authority)资源记录:它定义了一个域的全局特性,必须是出现在zone文件中的第一个资源记录,而且一个zone文件中必须只有一个SOA资源记录。其中SOA后面的dns是域名服务器(必须从NS指定的主机中选择), root是管理员邮箱(root@cobb.com),其全写分别是dns.data.com.和root.data.com,因为$ORIGIN指明了域名,所以这个地方可以略去。
serial,这部分用来标记ZONE文件更新,如果发生更新则Serial要单增,否则MASTER不会通知SLAVE进行更新。
refresh,这个标记SLAVE服务器多长时间主动(忽略MASTER的更新通知)向MASTER复核Serial是否有变,如有变则更新之。
retry,如Refresh过程不能完成,重试的时间间隔。
expire部分,如SLAVE无法与MASTER取得联系,SLAVE继续提供DNS服务的时间,这里为2W(两周时间)。Expire时间到期后SLAVE仍然无法联 系MASTER则停止工作,拒绝继续提供服务。Expire的实际意义在于它决定了MASTER服务器的最长下线时间(如MASTER迁移,DOWN机等)。
minimum部分,这个部分定义了DNS对否定回答(NXDOMAIN即访问的记录在权威DNS上不存在)的缓存时间。
NS(name server)资源记录:它定义了为本域(domain)服务的域名服务器。
A(Address)资源记录:它定义域名的IPv4地址。