DNS配置及主从同步
Posted 运维讲堂
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了DNS配置及主从同步相关的知识,希望对你有一定的参考价值。
一、DNS简介
二、DNS资源记录类型
CNAME记录:也是别名记录,用于定义A记录的别名
NS记录:用于标识区域的DNS服务器,即是说负责此DNS区域的权威名称服务器,用哪一台DNS服务器来解析该区域。一个区域有可能有多条ns记录,例如zz.com有可能有一个主服务器和多个辅助服务器。
SOA记录:用于一个区域的开始,SOA记录后的所有信息均是用于控制这个区域的,每个区域数据库文件都必须包括一个SOA记录,并且必须是其中的第一个资源记录,用以标识DNS服务器管理的起始位置,SOA说明能解析这个区域的dns服务器中哪个是主服务器。
MX记录:邮件交换器记录,用于告知邮件服务器进程将邮件发送到指定的另一台邮件服务器。(该服务器知道如何将邮件传送到最终目的地)。优先级:0-99,数字越小优先级越高
TXT记录:TXT记录,一般指某个主机名或域名的说明
资源记录的定义格式
语法:name [TTL] IN RR_TYPE value
name:名称字段,此字段是资源记录引用的域对象名,可以是一台单独的主机也可以是整个域。字段值:"."是根域,@是默认域,即当前域。
TTL:生存时间字段,它以秒为单位定义该资源记录中的信息存放在DNS缓存中的时间长度。通常此字段值为空,表示采用SOA记录中的最小TTL值(即1小时)。
IN:此字段用于将当前记录标识为一个INTERNET的DNS资源记录。
RR_TYPE:类型字段,用于标识当前资源记录的类型。
value:用于描述资源的信息且长度可变的必要字段。
三、DNS安装
测试环境centos7.3 x86_64
3.1安装bind
yum -y install bind bind-utils
3.2设置rndc
rndc-confgen -r /dev/urandom –a
3.3修改named.conf配置文件
options {
listen-on port 53 { 192.168.214.89; };
//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; };
forwarders { };
recursion no;
version none;
dnssec-enable no;
dnssec-validation no;
dnssec-lookaside auto;
/* Path to ISC DLV key */
bindkeys-file "/etc/named.iscdlv.key";
managed-keys-directory "/var/named/dynamic";
};
logging {
channel warning
{
file "log/dns_warnings" versions 3 size 20m;
severity warning;
print-category yes;
print-severity yes;
print-time yes;
};
channel general_dns
{
file "log/dns_logs" versions 3 size 20m;
severity info;
print-category yes;
print-severity yes;
print-time yes;
};
category default { warning; } ;
category config { warning; } ;
category queries { general_dns; } ;
};
controls {
inet 127.0.0.1 port 953
allow { 127.0.0.1; } keys { "rndc-key"; };
};
zone "." IN {
type hint;
file "named.ca";
};
include "/etc/named.rfc1912.zones";
include "/etc/named.root.key";
include "/etc/rndc.key";
3.4 修改rndc.key 权限
chown named.named /etc/rndc.key
3.5定义zone区域文件
vi /etc/named.rfc1912.zones
zone "0.0.127.in-addr.arpa" IN {
type master;
file "master/localhost.rev";
allow-update { none; };
notify no;
};
zone "opdevos.cn" IN {
type master;
file "master/opdevos.cn.zone";
allow-update {none; };
};
3.6创建文件夹
mkdir /var/named/master
mkdir /var/named/log
chown named.named master log
3.7配置本地文件
vi /var/named/master/localhost.rev
$TTL 3600
@ IN SOA ns1.opdevos.cn. root.opdevos.cn. (
2018060701 ; Serial
3600 ; Refresh
900 ; Retry
3600000 ; Expire
3600 ) ; Minimum
IN NS ns1.opdevos.cn.
1 IN PTR localhost.
3.8配置opdevos域
cat /var/named/master/opdevos.cn.zone
$TTL 3600
@ IN SOA ns1.opdevos.cn support(
2018060701 ; serial
3600 ; refresh
900 ; retry
3600000 ; expire
1800 ) ; minimum
IN NS ns1.opdevos.cn.
IN TXT "monitor"
ns1 IN A 192.168.214.133
www IN A 192.168.214.254
patch IN A 192.168.214.1
cdnpatch IN CNAME patch.opdevos.cn.
charles IN A 192.168.214.81
3.9启动named服务
systemctl start named
3.10重新加载配置
rndc reload
3.11测试
dig @192.168.214.89 charles.opdevos.cn a
在客户端上使用nslookup查询
nslookup -qt=TXT opdevos.cn 192.168.214.89
3.12 查看统计信息
rndc stats
more /var/named/data/named_stats.txt
四、DNS主从同步
这边设定192.168.214.89为DNS master,192.168.214.92为DNS SLAVE
修改主配置文件/etc/named.rfc1912.zones,添加允许从传输ip
zone "0.0.127.in-addr.arpa" IN {
type master;
file "master/localhost.rev";
#allow-update { none; };
allow-transfer { 192.168.214.92; };
notify no;
};
zone "opdevos.cn" IN {
type master;
file "master/opdevos.cn.zone";
#allow-update {none; };
allow-transfer { 192.168.214.92; };
};
在master的opdevos.cn.zone里添加slave相应的ns记录
vi /var/named/master/opdevos.cn.zone
$TTL 3600
@ IN SOA ns1.opdevos.cn support(
2018060702 ; serial
3600 ; refresh
900 ; retry
3600000 ; expire
1800 ) ; minimum
IN NS ns1.opdevos.cn.
IN NS ns2.opdevos.cn.
IN TXT "monitor"
ns1 IN A 192.168.214.89
ns2 IN A 192.168.214.92
www IN A 192.168.214.254
patch IN A 192.168.214.1
cdnpatch IN CNAME patch.opdevos.cn.
charles IN A 192.168.214.81
接下来我们来配置下slave 192.168.214.92
从的配置文件/etc/named.conf和主的一致
修改named.rfc1912.zones
[root@localhost slaves]# cat /etc/named.rfc1912.zones
zone "0.0.127.in-addr.arpa" IN { type slave; file "slaves/localhost.rev"; #allow-update { none; }; allow-transfer { none; }; masters { 192.168.214.89; }; #notify no; }; zone "opdevos.cn" IN { type slave; file "slaves/opdevos.cn.zone"; #allow-update {none; }; allow-transfer { none; }; masters { 192.168.214.89; }; };
分别重启master 192.168.214.89和slave 192.168.214.92的DNS服务
然后我们看下slave有没有同步主的配置文件过来
cd /var/named/slaves/
[root@localhost slaves]# ls -l
total 8
-rw-r--r-- 1 named named 238 Jun 7 15:10 localhost.rev
-rw-r--r-- 1 named named 512 Jun 7 14:22 opdevos.cn.zone
文件已经成功同步过来了,用dig测试一下
dig @192.168.214.92 opdevos.cn ns
最后我们测试下,在master添加,修改下记录,从是否能正常同步
每修改一次记录serial后面的值加1,大家要养成习惯
[root@localhost named]# vi /var/named/master/opdevos.cn.zone
$TTL 3600
@ IN SOA ns1.opdevos.cn support(
2018060703 ; serial
3600 ; refresh
900 ; retry
3600000 ; expire
1800 ) ; minimum
IN NS ns1.opdevos.cn.
IN NS ns2.opdevos.cn.
IN TXT "monitor"
ns1 IN A 192.168.214.89
ns2 IN A 192.168.214.92
www IN A 192.168.214.254
patch IN A 192.168.214.22
test IN A 192.168.214.33
cdnpatch IN CNAME patch.opdevos.cn.
charles IN A 192.168.214.81
rndc reload重新加载配置
在从192.168.214.92上用dig再测试一下,看是否同步成功
OK,测试成功
以上是关于DNS配置及主从同步的主要内容,如果未能解决你的问题,请参考以下文章