环境:
VMware Workstation 12 pro, 配置相同的2台CentOS 7.4 1708,bind 9.9.4,关闭selinux清空iptable规则,主从配置要注意时间同步,不然没法复制。
/var/named/下的文件要注意权限问题!!!!!!!
基础知识:
DNS(Domain Name System,域名系统),万维网上做为域名和IP地址相互映射的一个分布式数据库,可以使用户更方便的访问互联网,而不用去记住可以被机器直接读取的IP数串。经过域名,最终获得该域名对应的IP地址的过程叫作域名解析(或主机名解析)。DNS协议运行在UDP协议之上,使用端口号53。
BIND (Berkeley Internet Name域)是DNS的一个实现。(域名系统)协议。绑定包括一个DNS服务器(命名),将主机名解析为IP地址;一个解析器库(当与DNS交互时应用程序的例程);和用于验证DNS服务器是否正常运行的工具。
正向解析:
1.安装bind程序linux
yum install bind -y
2.修改配置文件:数据库
vim /etc/named.conf #这里将监听端口和ip注释掉就好,alow-query配置改成any,容许任何人到本机作dns查询,默认是本机,这里也能够设置为网段 #recursion 这里根据实际需求去配置是否容许递归查询 #dnssec注释掉,安全拓展比较麻烦,不会影响到本次实验的配置
3.编辑域文件vim
#这个文件内定义了域的设定,同时也给出了不少模板,能够参考着写本身的域配置 vim /etc/named.rfc1912.zones
这里在结尾补上下面的配置参数:注意分号和空格,不然会出现错误,域名和ip看各类状况去配置。centos
zone "douma.com" IN { type master; file "douma.com.zone"; allow-transfer { 192.168.238.132; }; };
配置完后要检查文件是否符合语法,有报错就去修改,没有的话证实语法无误,可是它没法检查ip和域名的错误。安全
named-checkconf
4.编写解析库文件
bind的解析库文件存放在 /var/named/下,在对应目录下建立与以前named.rfc1912.zones文件中定义的文件名相同的文件而且写入解析内容服务器
$TTL 86400 $ORIGIN douma.com. @ IN SOA ns1.douma.com. admin.douma.com. ( 2018041901 1H 10M 1W 1D ) IN NS ns1 IN NS ns2 IN MX 10 mx1 IN MX 20 mx2 ns1 IN A 192.168.238.131 ns2 IN A 192.168.238.132 mx1 IN A 192.168.238.131 mx2 IN A 192.168.238.110 www IN A 192.168.238.131 ftp IN CNAME www * IN A 192.168.238.134 smtp IN A 192.168.238.135
完成后检查语法是否有误网络
named-checkzone "douma.com" /var/named/douma.com.zone
返回OK证实不存在问题。
5.启动named服务app
#以前未启动的话执行 systemctl start named #以前已经启动话执行 systemctl restart named
查看named的运行情况分布式
#查看53端口是否在监听中 ss -tnl
6.正向解析基本完成,能够使用host命令,dig命令进行检测,正常解析的话证实正向解析成功。ide
host -t A www.douma.com 192.168.238.131 dig -t A www.douma.com @192.168.238.131
反向区域解析
1.因为有着以前的正向解析的配置,所以,反向解析的话直接修改/etc/named.rfc1912.zones就好。记得要检查语法。
vim /etc/named.rfc1912.zones
添加如下内容
zone "238.168.192.in-addr.arpa" IN { type master; file "192.168.238.zone"; allow-transfer { 192.168.238.132; }; };
反向解析的配置写法
区域名称:网络地址反写.in-addr.arpa.
192.168.238. --> 238.168.192.in-appr-arpa.
定义区域
zone "ZONE_NAME" {
type {master | slave | forward };
file "网络地址.zone"
};
2.编辑解析库文件,路径也在/var/named下,新建文件名仍要和named.rfc1912.zones内定义的文件名同步,不须要MX和A,以及AAAA记录,以PTR记录为主。完成后一样须要检查语法。
$TTL 86400 $ORIGIN 238.168.192.in-addr.arpa. @ IN SOA ns1.douma.com. admin.douma.com. ( 2018041901 1H 10M 1W 1D ) IN NS ns1.douma.com. IN NS ns2.douma.com. 131 IN PTR ns1.douma.com. 132 IN PTR ns2.douma.com. 132 IN PTR mx1.douma.com. 110 IN PTR mx2.douma.com. 131 IN PTR www.douma.com.
3.配置完成后从新载入域文件
#这里使用rndc指令,以前systemctl也能够 rndc reload
4.检查配置是否能够正常解析
host -t ptr 192.168.238.131 192.168.238.131 dig -x 192.168.238.131 @192.168.238.131
dns主从复制:
刚才配置的centos主机基本无需修改,只须要在named.rfc1912.zones 的域配置段内加入allow-transfer字段,运行区域传送,这里以前就写入了,所以无需再次修改。
axfr:
全量传输时,从域名服务器从主域名服务器上请求zone文件,poll的时间间隔由SOA记录中的refresh标签订义。请求zone文件的过程是从域名服务器向主域名服务器发送查询来实现,若是主域名服务器中SOA记录中的序列号(serial number标签订义)大于从域名服务器SOA记录的序列号,从域名服务器就会向主域名服务器发送全量传输请求。正式因为axfr会传送所有的解析信息,所以要特别注意,dns的allow-transfer参数防止,容许的范围过大,致使解析的信息泄露。
在另外一台centos主机进行从dns服务器的配置:
1.检测主服务器是否容许axfr。
dig -t axfr douma.com @192.168.238.131
2.安装bind,修改/etc/named.conf配置文件,与主dns的配置相同便可,记得执行语法检查。
3.修改/etc/named.rfc1912.zones配置文件。
type字段设置为备份模式slave,masters字段指明主dns服务器ip地址,因为从服务器是从主备份解析库文件,所以它无需手动建立库文件,指明文件路径就好,这里因为named的默认工做目录是在/var/named/,而从服务器备份的文件在slaves下,所以在file字段要写清楚路径。完成后检查域文件语法。
vim /etc/named.rfc1912.zones
zone "douma.com" IN { type slave; file "slaves/douma.zone"; masters { 192.168.238.131; }; }; zone "238.168.192.in-addr.arpa" IN { type slave; file "slaves/238.168.192.zone"; masters { 192.168.238.131; }; };
4.完成后载入配置文件启动服务,查看/var/log/messages就能够看到传送的进行。传送完成后在从服务下会出现复制过来的解析库文件。
systemctl start named
vim /va/log/messages
检查从服务可否正常解析
host -t A www.douma.com 192.168.238.132 dig -t A www.douma.com @192.168.238.132 host -t ptr 192.168.238.131 192.168.238.132 dig -x 192.168.238.131 @192.168.238.132
注意:
修改主dns上的解析库文件后要手动修改序列号,这样从服务器才能正确去复制,更改后的信息。这里使用的增量修改,就是指传送改变了的内容。
主从服务器时间必须同步主从服务器时间必须同步主从服务器时间必须同步