1.相关名称解释
FQDN是全称域名,是域名和对应此域内某台主机名所构成。
DNS服务器常用工作方式有递归(返回IP),迭代(返回下一级NS的ip地址),相对于局域网用户,DNS服务器工作方式是递归,但是相对于根域和顶级域是迭代。
权威答案:在域名解析中DNS服务器返回本管理域内的主机的IP(解析结果为:flags: qr aa rd ra)
非权威答案:在域名解析中DNS服务器递归获取到目标主机的ip(解析结果为:flags: qr rd ra)
DNS监听端口是53/UDP和53/TCP,其中主从服务器进行区域传送时,使用TCP,进行域名递归解析时使用UDP
假若不提供递归解析时,可以不需要添加根区域
queryperf提供DNS解析压力测试
区域传送类型:
完全区域传送
增量区域传送
区域类型:
主区域:master
从区域:slave
提示区域:hint
转发区域:forward
acl用于定义全局访问变量
acl innet {
192.168.0.0/24;
}
2.DNS程序结构
安装DNS需要安装bind、bind-utils、bind-libs三个软件包
/etc/named.conf:BIND进程工作属性,区域定义(注释符号为“#”)
区域类型:主区域、从区域、提示区域、转发区域
/var/named/ :定义区域数据文件(注释符号为“;”)
/etc/rndc.key:rndc(Remote Name Domain Controller)
密钥文件
配置信息:/etc/rndc.conf
service named reload 会重新加载上诉文件
rndc-confgen >/etc/rndc.conf依据其中的提示,并删除系统默认的/etc/rndc.key,即可实现远程控制
rndc status
3.DNS常用命令
dig与nslookup命令
dig -t A|SOA FQDN
dig -x IP
dig + trace FQDN
dig -t axfr DOMAIN 得到区域所有的信息
nslookup FQDN
或者:
nslookup
server IP(设置DNS服务器)
SET q=A|SOA(设置查询方式)
FQDN(查询的全称域名)
4.DNS服务器架构
DNS服务器:
主从DNS服务器(从DNS服务器扮演着相同的域名解析工作,但是当主服务器宕机后,从DNS服务器回立刻宕机)
主从复制中:1.从服务器zone中type:slave,此外还需要添加master { ;};
2.主服务器/var/named中区域数据文件需要新增从区域的NS名,即有两条NS记录,分别是主和从服务器
缓存器
转发器
5.zone区域文件配置
资源记录格式:
NAME [TTL] IN RRT VALUE
NAME:可以为ZONE NAME和FQDN,其中FQDN全写的时候一定需要添加“.”,FQDN简写时可以省略ZONE NAME部分,而且一定不能添加“.”,
资源记录类型(PRT):
SOA(Start of Authority)(第一条记录,必须存在,正向反向都要有,而且此处ZONE NAME名字必须同/etc/named.conf中zone配置的名字,常用@表示)
ZONE NAME TTL IN SOA FQDN ADMIN_MAILBOX(
serial number
refresh
retry
expire
na ttl)
时间单位,M(分钟),H(小时),D(天) ,W(周),默认单位秒
邮箱格式:admin@time.com.cn. 写为admin.time.com.cn.
@ 表示区域名(ZONE NAME)为name.conf中所配置zone名字
NS(Name Server):ZONE NAME --> FQDN(一般NS类型后有A类型,可以有主从DNS,正向反向区域都必须存在)
ZONE NAME TTL IN NS VALUE
time.com. 600 IN NS ns.time.com.cn
ns.time.com.cn 600 IN A 192.168.0.123
MX(Mail exchanger):ZONE NAME -->FQDN(一般MX类型后有A类型,可以有多条记录,使用pri进行选择,仅能够定义在正向区域中)
ZONE NAME TTL IN MX pri VALUE
优先级(pri):0-99,数字越小级别越高
time.com.cn. 600 IN MX 10 mail.time.com.cn
mail.time.com.cn. 600 IN A 192.168.0.123
A(address):FQDN -->IPV4(仅能够定义在正向区域中)
FQDN TTL IN A VALUE
www.time.com.cn. 600 IN A 192.168.0.123
AAAA:FQDN-->IPV4
PTR(pointer):IP-->FQDN(ip反解)
CNAME:FQDN-->FQDN(别名)
6.named.conf文件配置
/etc/named.conf:
结构为:(“{”前与后都需要有空格,“}”后需要有“;”,前面需要空格,每个语句结束需要“;”,如果仅仅是双冒号内,不用“;”,只需要语句结束后添加“;”)
option {
directory "/var/named";(必须要有)
};
zone ‘.’ in {
type master|slave|hint;
file "....";
allow-transfer { none; };(允许哪些可以进行区域传送,可以配置IP,net)
};
7.子域授权
当子域有主从DNS服务器时,父域需要配置两条NS和两条A记录。
当父域已经配置了子域时,并且子域已经配置后,可以在父域可以解析子域内容,但是子域无法解析父域,当需要子域需要解析父域时,需要添加forward字
forward only:非本区域内的主机都会转发,若无法解析,将停止解析
forward first:非本区域内的主机都会转发,若无法解析,将自己解析
若forward配置在option内,则非本区域内的主机都会转发,若forward配置在zone区域内,则非本区域内中的zone区域将会转发
8.视图
视图用于实现智能DNS,当配置view时,需要将全部zone配置在view内,option配置在view外,且放在第一行,match-clients用于配置来源客户端。
DLZ配合BIND实现mysql支撑的智能DNS。
8.错误汇集
报错:dumping master file: slaves/tmp-mHavE2krzW: open: file not found
1.主要是zone名字写错,将in写成了ip :zone "0.168.192.ip-addr.arpa" IN =》 zone "0.168.192.in-addr.arpa" IN
2.file 对应的文件名书写有错,多加了空格:file " slaves/time.com.cn.zone;"; =》file "slaves/time.com.cn.zone;";