自定义区域配置文件
自定义区域的配置范例如下:
1
|
zone "host.com" IN {
|
这里自定义了一个host.com的主机域,可以放在/etc/named.rfc1912.zones文件中,也可以放置在自定义的文件中,在/etc/named.conf里include进来
主机域
- 主机域和业务域无关,且建议分开
- 主机域其实是一个假域,也就是说,主机域其实是不能解析到互联网上的,它只对局域网(内网)提供服务
自定义区域数据库文件
- 一般而言是文本文件,且只包含资源记录、宏定义和注释
- 需在自定义区域配置文件中指定存放路径,可以绝对路径或相对路径(相对于/var/named目录)
- 注意文件的属性(属主、属组及权限)
配置范例
1
|
$ORIGIN .
|
资源记录(Resource Record)
资源记录格式
1
|
name [ttl(缓存时间)] IN 资源记录类型(RRtype) Value
|
常用资源记录类型(RR-type)
SOA记录
SOA: 起始授权,只能有一条
- name:只能是区域名称,通常可以简写为@,例如:od.com.
- value:有n个数值,最主要的是主DNS服务器的FQDN,点不可省略
注意:SOA必须是区域数据库文件第一条记录
例子:
1
2
3
4
5
6
7@ 600 IN SOA dns.host.com. 管理员邮箱(dnsadmin.host.com.)(
序列号(serial number) ;注释内容,十进制数据,不能超过10位,通常使用日期时间戳,例如2018121601
刷新时间(refresh time) ;即每隔多久到主服务器检查一次
重试时间(retry time) ;应该小于refresh time
过期时间(expire time);当辅助DNS服务器无法联系上主DNS服务器时,辅助DNS服务器可以在多长时间内认为其缓存是有效的,并供用户查询。
netgative answer ttl ;非权威应答的ttl,缓存DNS服务器可以缓存记录多长时间
)
NS记录
NS:可以有多条,每一个NS记录,必须对应一个A记录
- name:区域名称,通常可以简写为@
- value:DNS服务器的FQDN(可以使用相对名称)
例子:
1
@ 600 IN NS ns1
A记录
A:只能定义在正向区域数据库文件中(ipv4->FQDN)
- name:FQDN(可以使用相对名称)
- value:IP
例子:
1
2www 600(单位s) IN A 10.4.7.11
www 600(单位s) IN A 10.4.7.12
注 可以做轮询
MX记录
MX:邮件交换记录,可以有多个(用的不多)
- name:区域名称,用于标识smtp服务器
- value:包含优先级和FQDN
- 优先级:0-99,数字越小,级别越高,
例子:
1
2@ 600 IN MX 10 mail
@ 600 IN MX 20 smtp
CNAME记录
CNAME:canonical name,别名(FQDN->FQDN)
- name :FQDN
- value :FQDN
例子:
1
eshop IN CNAME www
宏定义
- $ORIGIN .
- $TTL 60
注释
区域数据库文件中使用;
(分号)来进行注释
实战正解主机域配置
在/etc/named.rfc1912.zones文件内最下,添加以下内容
1
|
zone "host.com" IN {
|
在/var/named下创建host.com.zone文件,写入以下内容
1
|
$TTL 600 ; 10 minutes
|
三种配置方式:
- 用宏定义$ORIGIN . 下面用host.com
- 不用宏定义,下面用@
- 不用宏定义,下面用host.com.
检查配置并生效
检查自定义区域配置
1
|
#named-checkzone host.com. /var/named/host.com.zone
|
检查主配置文件
1
|
#named-checkconf
|
重启named服务
1
|
#systemctl restart named
|
检查该正解域是否生效
配置主机名
1
|
# hostnamectl set-hostname hdss7-11.host.com
|
开启第二台虚机,配置好DNS后验证解析
维护正解域(增、删、改、查)
增加一条资源记录
1
|
$TTL 600 ; 10 minutes
|
增加一个HDSS7-12.host.com的A记录解析,并验证
修改一条资源记录
给10.4.7.12
这台主机增加一个辅助ip
1
|
# ip addr add 10.4.7.13/24 dev eth0
|
修改DNS服务器上的区域数据库文件
1
|
$TTL 600 ; 10 minutes
|
修改HDSS7-12.host.com的A记录解析,指向新增的辅助ip10.4.7.13
检查:
1
|
ping HDSS7-12.host.com
|
删除一条资源记录
1
|
$TTL 600 ; 10 minutes
|
删除HDSS7-12.host.com的A记录解析,并验证
查询记录
略
实验文档3:自定义反解域
欢迎加入王导的VIP学习qq群:==>932194668<==
添加反解域的自定义区域配置
1
|
zone "7.4.10.in-addr.arpa" IN {
|
添加反解域的区域数据库文件
1
|
$TTL 600 ; 10 minutes
|
注意:一个IP只能对应唯一的FQDN反解PTR记录,且应该与正解A记录对应
检查反解域的配置
1
|
[root@hdss7-11 ~]# named-checkzone 7.4.10.in-addr.arpa /var/named/7.4.10.in-addr.arpa.zone
|
重启BIND9服务
1
|
[root@hdss7-11 ~]# systemctl restart named.service
|
检查解析是否生效
-
方法1:
1
2[root@hdss7-11 ~]# dig -t PTR 11.7.4.10.in-addr.arpa. @10.4.7.11 +short
HDSS7-11.host.com. -
方法2:
1
2[root@hdss7-11 ~]# dig -x 10.4.7.11 @10.4.7.11 +short
HDSS7-11.host.com.
增删改
增加一条反解记录
1
|
$TTL 600 ; 10 minutes
|
删除一条反解记录
1
|
$TTL 600 ; 10 minutes
|
修改一条反解记录
1
|
$TTL 600 ; 10 minutes
|
实验文档4:DNS主辅同步
欢迎加入王导的VIP学习qq群:==>932194668<==
DNS主辅同步架构
IP | 主机名 | 功能 |
---|---|---|
10.4.7.11 | HDSS7-11.host.com | DNS主 |
10.4.7.12 | HDSS7-12.host.com | DNS辅 |
注意:所有资源记录的增、删、改的操作,均在主DNS上进行,辅助DNS仅提供查询功能 |
辅助DNS主机上安装部署BIND9
安装BIND9软件
1
|
|
注意:辅助DNS的BIND9软件版本应小于等于主DNS的BIND9软件版本
修改辅助DNS主配置文件
修改主配置文件,并加入masterfile-format text;
1
|
options {
|
修改主DNS主配置文件
加入以下配置
1
|
allow-transfer { 10.4.7.12; };
|
检查配置并重启主DNS
1
|
# named-checkconf
|
检查完全区域数据传送
1
|
[root@hdss7-12 ~]# dig -t axfr host.com @10.4.7.11
|
辅助DNS上创建自定义正解区域配置
1
|
zone "host.com" IN {
|
检查配置并启动辅助DNS
1
|
# named-checkconf
|
检查同步过来的区域数据库文件
1
|
[root@hdss7-12 slaves]# ll
|
检查解析是否正确
使用主DNS查询一个A记录
1
|
# dig -t A HDSS7-11.host.com @10.4.7.11 +short
|
使用辅助DNS查询一个A记录
1
|
# dig -t A HDSS7-11.host.com @10.4.7.12 +short
|
辅助DNS上创建自定义反解区域配置
略
增加、删除、修改记录,并验证同步
注意:一定要手动修改主DNS上SOA记录里的serial值!
增加记录
删除记录
修改记录
再增加一个od.com的业务域,并验证主辅同步(复习)
主DNS上增加自定义区域
主DNS上增加自定义区域数据库文件
主DNS上增加自定义区域资源记录
检查配置并重启主DNS服务
辅助DNS上增加自定义区域
检查完全区域数据传送
检查配置并重启辅助DNS服务
验证主辅同步
分别使用主DNS和辅助DNS查询新业务域的A记录
在主DNS上新增一条A记录,并验证主辅同步
在主DNS上修改一条A记录,并验证主辅同步
在主DNS上删除一条A记录,并验证主辅同步
客户端配置DNS解析高可用
在客户端主机(以Linux主机为例,Windows和Mac操作系统略)配置主、辅DNS
1
|
#cat /etc/resolv.conf
|
这样客户端高可用就配置好了,任意一个DNS服务器宕机也不会影响正常解析