1. 软件安装:
[[email protected] ~]# yum install -y bind bind-chroot bind-utils
说明:
bind为DNS服务主要软件包;
bind-chroot是通过将相关文件封装到一个伪根目录内,已达到安全防护的目的,一旦该程序被攻破,将只能访问到伪根目录内的内容,而并不是真实的根目录。原本/etc/named.conf > /var/named/chroot/etc/named.conf. DNS服务的配置文件都会被安装到我们的伪根里面,会在里面生成一个与原来服务完全相同的一个目录体系结构。该服务的根目录就会把 /var/named/chroot 当成是自己的根目录,这样就可以对我们的真实根目录进行保护。
bind-utils这个软件提供DNS相关的一些工具dig、nslookup等,用来域名解析和DNS调试
2. 复制相关配置文件到伪目录下
BIND 的一些服务文档位置和模板: /usr/share/doc/bind-9.8.2/sample
[[email protected] ~]# cp -p /etc/named.* /var/named/chroot/etc/ [[email protected] ~]# cp -rvp /usr/share/doc/bind-9.8.2/sample/var/* /var/named/chroot/var/
3. 修改配置
主配置文件修改,127.0.0.1→dns服务ip,allow-query改为any
[[email protected] etc]# vim /var/named/chroot/etc/named.conf options { listen-on port 53 { 172.16.0.100; }; 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; }; recursion yes; dnssec-enable yes; dnssec-validation yes; dnssec-lookaside auto; /* Path to ISC DLV key */ bindkeys-file "/etc/named.iscdlv.key"; managed-keys-directory "/var/named/dynamic"; }; logging { channel default_debug { file "data/named.run"; severity dynamic; }; }; zone "." IN { type hint; file "named.ca"; }; //This is my DNS configuration zone "racdb-scan" { type master; file "racdb-scan.zone"; allow-update { none; }; }; zone "0.16.172.in-addr.arpa" { type master; file "172.16.0.zone"; allow-update { none; }; };//file后名跟的是正反向配置文件的文件名,一定要对应好
配置正向解析文件#cp named.localhost racdb-scan.zone
$TTL 1D @ IN SOA @ racdb-scan. ( 2017012501 ; serial 1D ; refresh 1H ; retry 1W ; expire 3H ) ; minimum NS @ A 127.0.0.1 AAAA ::1 IN MX 10 www.racdb-scan. racdb-scan IN A 172.16.0.20
【注意:】MX记录一定要定义资源记录的最前面,否则就会解析不成功
$TTL = 1D(默认生存时间=1D、缓存服务器保存记录的时间是1天。也就是告诉缓存服务器保存域的解析记录为1天)
serial = 2017012501 (更新序列号,标记地址数据库的变化,可以是10位以内的整数。作用是当辅域名服务器来复制这个文件的时候,如果号码增加了就复制)
refresh = 1D (刷新=1D、辅域名服务器每隔24小时查询一个主服务器)
retry = 1H (1 hour) (重试=3600秒、当辅域名服务试图在主服务器上查询更新时,而连接失败了,辅域名服务器每隔1小时访问主域名服务器)
expire = 1W (7 days) (到期=604800秒、辅域名服务器在向主服务更新失败后,7天后删除中的记录。)
域名解析记录:
NS: 域名服务器(Name Server)记录
MX: 邮件交换(Mail Exchange)记录
A: 地址(Address)记录,只用在正向解析的区域数据文件中
CNAME: 别名(Canonical Name)记录
配置反向解析文件##cp named.localhost 172.16.0.zone
$TTL 1D @ IN SOA @ racdb-scan. ( 2017012501 ; serial 1D ; refresh 1H ; retry 1W ; expire 3H ) ; minimum NS @ A 127.0.0.1 AAAA ::1 20 IN PTR racdb-scan.
说明:
PTR指针(Point)记录,只用在反向解析的区域数据文件中
配置反向解析记录时,只需要指定IP地址中的主机地址部分即可,例子:上面的20,网络地址部分不用写,并且最后注意加"."
4. 启动服务
[[email protected] ~]# service named restart Stopping named: [ OK ] Starting named: [ OK ]
5.测试
在客户端的dns配置文件中加入DNS服务ip
[[email protected] ~]# cat /etc/resolv.conf nameserver 172.16.0.100
nslookup测试正向解析
[[email protected] ~]# nslookup racdb-scan Server: 172.16.0.100 Address: 172.16.0.100#53 Name: racdb-scan Address: 127.0.0.1
nslookup测试反向解析
[[email protected] ~]# nslookup 172.16.0.20 Server: 172.16.0.100 Address: 172.16.0.100#53 20.0.16.172.in-addr.arpa name = racdb-scan.
参考了:https://www.cnblogs.com/weijie0717/p/6363059.html