dnsbind配置教程
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
dnsbind配置教程
实验环境
三台centos7虚拟机,⼀台ip为192.168.52.130,⼀台为192.168.52.131,最后⼀台为192.168.52.132
安装bind
使⽤yum -y insall bind bind-libs bind-utils来安装bind
使⽤rpm -ql bind来查询bind的⽣成了哪些⼯具,⽐如dig等等
备份⽂件
之后的⽂件,⽐如/etc/named.conf等等,都是安装bind的之后有的,建议在实验前,使⽤mv ⽂件⽂件.backup备份⼀下,等学习完后,在去看看默认⽂件是怎么样的
另外bind的sample配置⽂件在/usr/share/doc/bind-*/sample下,可以进⾏参考
配置bind
单台dns服务器
操作包含3个⽂件
/etc/named.conf # 整个dns服务器配置
/etc/named.rfc1912.zones # 上⾯的⽂件通过include命令导⼊此⽂件,bind的sample⾥⾯注释写着这个⽂件包含的zone应该包含所有localhost名称和地址的定义,如
RFC1912中所建议的那样,并且不应该泄漏给别的nameserver(这只是⼀个规范,不是强制要求)
/var/named/.zone # 具体某个zone的配置,后⾯详细说明
使⽤单台虚拟机ip为192.168.52.130
配置⽂件
/etc/named.conf
options{
directory "/var/named"; # 指定之后单独zone⽂件的路径
};
# 所有这个⽂件都有这样的配置,好像是root域的配置
zone "." IN {
type hint;
file "named.ca";
};
include "/etc/named.rfc1912.zones"; # 符合rfc要求的⼀类zone
include "/etc/named.root.key"; # 暂不清楚,应该和加密相关
/etc/named.rfc1912.zones
zone "" IN {
type master; # 主从设置,如果是从(slave),还要设置字段masters
file ".zone";
};
/var/named/.zone
该⽂件和前⾯2个不⼀样,使⽤;为注释,前⾯2个可以#,//或/**/
$TTL 600 ;全局ttl设定
; 配置soa,必须要有⼀个,且要在开头,@表⽰当前域,也就是,IN表⽰internet,soa为类型,.暂不确定,好像是该域的ns的名称,为管理者邮箱,第⼀个.表⽰@,因为和当前域@重复,所以写成. @ IN SOA . (
1811201955 ; 序列号,在主从中有作⽤(serial)
1H ; 刷新时间(refresh)
5M ; 重试时间(retry)
1W ; 超时时间(expire)
10M) ; 否定答案缓存时间(minimum),以上中⽂来源于⽹络,英⽂来源于⽂档注释,单位不确定什么意思,⽐如那个w
; 配置ns服务,⾄少要有⼀个,且必须配套要有ns的a记录
IN NS ns1
ns1 IN A 192.168.52.130
; 上⾯的写法可以这样,补全后缀,注意要加.,选择⼀个就好
; IN NS .
; ns1 IN A 192.168.52.130
; @表⽰当前域,即,第⼆⾏名称为空,表⽰同上,即还有⼀个,ip为2.2.2.2
@ IN A 1.1.1.1
IN A 2.2.2.2
; 表⽰的ip为3.3.3.3
www IN A 3.3.3.3
; 通配符,都指向255.255.255.255
* IN A 255.255.255.255
使⽤指令进⾏检测语法错对
named-checkconf检测conf⽂件,⾃然也会检查include进去的⽂件
named-checkzone "" /var/named/.zone检测zone⽂件
启动dns
service named start启动服务,其实就是systemctl start named.service
service named stop关闭服务
rndc reload⽤于在不关闭服务的情况下,更新配置,但是这个配置在配置⽂件有错误的情况下,也是显⽰更新成功,但是不会⽣效,使⽤要注意(todo)检查
使⽤host -t a 192.168.52.130来测试,如果没错,按照设置会输出1.1.1.1和2.2.2.2
两台服务器测试主从同步设置
主从服务器以zone为粒度,也就是这⾥这⾥的主从是相对于zone来说的,⼀个主服务器在这个zone⾥是主,在另⼀个就可能是从了
就只操作为例,进⾏操作,
的主服务器IP为192.168.52.130
的从服务器ip为192.168.52.131
操作的⽂件
主:
修改/var/named/.zone
从:
新增/etc/named.conf
新增/etc/named.rfc1912.zones
/var/named/slaves/.zone(这个⽂件不⽤新建,bind在同步过程中,⾃动⽣成)
配置⽂件
主服务器/var/named/.zone
$TTL 600
@ IN SOA . (
1811201955
1H
5M
1W
10M)
IN NS ns1
;新增ns记录,注意新增的名称为空,即为默认的.
IN NS nsSlave
;新增对应的a记录
nsSlave IN NS 192.168.52.131
ns1 IN A 192.168.52.130
@ IN A 1.1.1.1
IN A 2.2.2.2
www IN A 3.3.3.3
* IN A 255.255.255.255
从服务器/etc/named.conf
options{
directory "/var/named";
};
zone "." IN {
type hint;
file "named.ca";
};
include "/etc/named.rfc1912.zones";
include "/etc/named.root.key";
从服务器/etc/named.rfc1912.zones
zone "" IN {
type slave; # 这⾥为slave
masters {192.168.52.130;}; # 这⾥注意加s和;
masterfile-format text; # 默认⽣成的zone⽂件是乱码的,加上这个设置,输出就不会乱码了
file "slaves/.zone"; # 同步⽂件的路径
};
启动服务
在检查完配置⽂件的准确性后,分别启动主和备服务器,可以看到从服务器在/var/named/下⽣成了zone⽂件
使⽤host -t a 196.128.52.131,如果没错误,在主从服务器下都会输出1.1.1.1和2.2.2.2
防⽕墙
使⽤centos7默认防⽕墙开启,只有22端⼝是开放的,如果在⾮本机测试,要开启端⼝53,这⾥我直接关闭了防⽕墙,使⽤systemctl stop firewalld
测试增量传送
修改主服务器的/var/named/.zone⽂件,来进⾏增量修改
$TTL 600
@ IN SOA . (
1811201955
1H
5M
1W
10M)
IN NS ns1
;新增ns记录,注意新增的名称为空,即为默认的.
IN NS nsSlave
;新增对应的a记录
nsSlave IN NS 192.168.52.131
ns1 IN A 192.168.52.130
@ IN A 1.1.1.1
IN A 2.2.2.2
www IN A 3.3.3.3
; 增量传送
; 新增⼀个,放在通配符前⾯,同时修改序列号为1811202031,使⽤rndc reload在不⽤关闭服务器服务下来更新配置
hello IN A 4.4.4.4
* IN A 255.255.255.255
在新增域名和更新序列号后,更新配置,可以看到从服务器的配置⽂件也会很快更新
测试
再次使⽤之前的命令host -t a 196.128.52.130和host -t a 196.128.52.131进⾏测试,应该都会输出⼀样的4.4.4.4两台服务器进⾏⼦域授权
将⼀台dns服务器的⼦域授权给另⼀台dns服务器管理
以为例
⽗dns服务器为192.168.52.130
⼦dns服务器为192.168.52.132
配置⽂件
修改⽗dns的/var/named/.zone
新增⼦dns的/etc/named.conf
新增⼦dns的/etc/named.rfc1912.zones
新增⼦dns的/var/named/.zone
配置⽂件
⽗dns的/var/named/.zone
$TTL 600
@ IN SOA . (
1811201955
1H
5M
1W
10M)
IN NS ns1
IN NS nsSlave
; 添加新的ns记录,第⼀个代表要授权的⼦域
sub IN NS nsSub
; 为ns记录设置a记录,指向⼦dns服务器
nsSub IN A 192.168.52.132
nsSlave IN NS 192.168.52.131
ns1 IN A 192.168.52.130
@ IN A 1.1.1.1
IN A 2.2.2.2
www IN A 3.3.3.3
hello IN A 4.4.4.4
* IN A 255.255.255.255
⼦dns的/etc/named.conf
options{
directory "/var/named";
};
zone "." IN {
type hint;
file "named.ca";
};
include "/etc/named.rfc1912.zones";
include "/etc/named.root.key";
⼦dns的/etc/named.rfc1912.zones
zone "" IN {
type master;
file ".zone";
};
⼦dns的/var/named/.zone
$TTL 600
@ IN SOA . (
1811201031
1H
5M
1W
10M)
IN NS ns1
ns1 IN A 192.168.52.130
@ IN A 11.11.11.11
hello IN A 22.22.22.22
测试
在检查后配置⽂件没有错误后,对⽗dns输⼊rndc reload重新装载配置,对⼦dns输⼊service named start启动服务
host -t A 192.168.52.130和host -t A 192.168.52.132进⾏测试,如果配置没有出错,输出11.11.11.11参考⽂档
待完成
1.view的使⽤
2.主从的原理,是主提醒,还是从去取
3.⽂档的⼀些阅读,⽐如序列号的范围,⽐如序列号⾃动策略。