区域传输
区域传输:
完全传输:传送整个解析库
增量传输:传递解析库变化的那部分内容
Domain: Fully Qualified Domain Name正向:FQDN --> IP
反向: IP --> FQDN
负责本地域名的正向和反向解析库:
正向区域
反向区域
DNS解析
一次完整的查询请求经过的流程:
Client -->hosts文件-->DNS Service Local Cache --> DNS Server (recursion) --> Server Cache --> iteration(迭代) --> 根--> 顶级域名DNS-->二级域名DNS…
解析答案:
肯定答案:
否定答案:请求的条目不存在等原因导致无法返回结果
权威答案:
非权威答案:
A记录
name: 某主机的FQDN,例如www.magedu.com.
value: 主机名对应主机的IP地址;
例如:
www.magedu.com.IN A 1.1.1.1
www.magedu.com.IN A2.2.2.2
mx1.magedu.com. IN A3.3.3.3
mx2.magedu.com. IN A4.4.4.4
注意:
*.magedu.com. IN A 5.5.5.5
magedu.com.IN A6.6.6.6
避免用户写错名称时给错误答案,可通过泛域名解析进行解析至某特定地址
子域
子域授权:每个域的名称服务器,都是通过其上级名称服务器在解析库进行授权
类似根域授权tld:
.com.IN NS ns1.com.
.com.IN NSns2.com.
ns1.com. IN A 2.2.2.1
ns2.com. IN A 2.2.2.2
magedu.com. 在.com的名称服务器上,解析库中添加资源记录:
magedu.com. IN NS ns1.magedu.com.
magedu.com. IN NS ns2.magedu.com.
magedu.com. IN NS ns3.magedu.com.
ns1.magedu.com. IN A 3.3.3.1
ns2.magedu.com. IN A 3.3.3.2
ns3.magedu.com. IN A 3.3.3.3
glue record:粘合记录,父域授权子域的记录
子域
子域授权:分布式数据库
正向解析区域子域方法:
定义一个子区域:
ops.magedu.com. IN NS ns1.ops.magedu.com.
ops.magedu.com. IN NSns2.ops.magedu.com.
ns1.ops.magedu.com. IN A 1.1.1.1
ns2.ops.magedu.com. IN A 1.1.1.2
fin.magedu.com. IN NS ns1.fin.magedu.com.
fin.magedu.com. IN NS ns2.fin.magedu.com.
ns1.fin.magedu.com. IN A 3.1.1.1
ns2.fin.magedu.com. IN A 3.1.1.2
注意:关闭dnssec功能:
dnssec-enable no;
dnssec-validation no;
编译安装bind
下载bind:
isc.org:
bind-9.8
bind-9.9
bind-10
编译安装bind
# tar xvfbind-9.11.0a3.tar.gz
# cd bind-9.11.0a3/
# groupadd-r -g 53 named
# useradd-r -u 53 -g 53 named
# ./configure --prefix=/usr/local/bind9 --sysconfdir=/etc/named/ --disable-ipv6 --disable-chroot--enable-threads
# make
# make install
环境变量:
vim /etc/profile.d/named.sh
export PATH=/usr/local/bind9/bin:
/usr/local/bind9/sbin/:$PATH
库和头文件
vim /etc/ld.so.conf.d/named.conf
/usr/local/bind9/lib
ldconfig–v
ls -sv/usr/local/bind9/include /usr/include/named
man帮助
vim /etc/man.config
MANPATH /usr/local/bind9/share/man
man named.conf
vim /etc/named/named.conf
options {
directory "/var/named/"
};
zone "." IN {
type hint;
file "named.ca";
};
zone "localhost" IN {
type master;
file “named.localhost";
allow-update {none;};
};
zone “1.0.0.127.in-addr.arpa" IN {
type master;
file "named.loopback";
allow-update {none;};
};
区域数据库
mkdir/var/named
named-checkconf
dig +norec@a.root-servers.net > /var/named/named.ca
vim /var/named/named.localhost
$TTL 1d
@ IN SOA localhost. admin.localhost. (
2016061801
1h
5m
7d
1d)
IN NS localhost.
localhost. IN A 127.0.0.1
vim /var/named/named.local
$TTL 1d
@ IN SOA localhost. admin.localhost. (
2016061801
1h
5m
7d
1d)
IN NS localhost.
IN PTR localhost.
编译安装bind
设置权限
chmod 640 /var/named/*
chmod 640 /etc/named/named.conf
chown :named /var/named/*
chown :named /etc/named/named.conf
启动服务和测试
man named
named -u named -f -g -d 3 前端级别3方式运行
named -u named 后台运行
killall named
ss -uln
tail /var/log/message
named -u named
支持rndc
rndc reload 看报错提示
rndc-confgen -r /dev/urandom > /etc/named/rndc.conf 生成key
tail /etc/named/rndc.conf >> /etc/named/named.conf
killall -SIGHUP named
rndc status
压力测试
/root/bind-xxx/contrib/scripts
编译压力测试工具
cd /root/bind-xxx/contrib/queryperf
./configure
make
cp queryperf /usr/local/bind9/bin
queryperf -h
压力测试
vim test.txt
www.magedu.com A
magedu.com NS
magedu.com MX
pop3.magedu.com A
web.magedu.com A
queryperf -d test.txt -s 127.0.0.1
打开日志功能
rndc querylog
rndc status
queryperf -d test.txt -s 127.0.0.1
wc -l /var/log/message
#dig A example.com
; <<>> DiG9.9.4-RedHat-9.9.4-14.el7 <<>> A example.com
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<-opcode: QUERY, status: NOERROR, id: 30523
...
SERVFAIL:Thenameserverencountered a problem while processing the query.
可使用dig +trace排错,可能是网络和防火墙导致
NXDOMAIN:The queried name does not exist in the zone.
可能是CNAME对应的A记录不存在导致
REFUSED:The nameserverrefused the client's DNS request due to policy restrictions.
可能是DNS策略导致
DNS排错
NOERROR不代表没有问题,也可以是过时的记录
查看是否为权威记录,flags:aa标记判断
被删除的记录仍能返回结果,可能是因为*记录存在
如:*.example.com.INA172.25.254.254
注意“.”的使用
避免CNAME指向CNAME记录,可能产生回环
test.example.com. IN CNAME lab.example.com.
lab.example.com. IN CNAME test.example.com.
正确配置PTR记录,许多服务依赖PTR,如sshd,MTA
正确配置轮询round-robin记录