安装Bind服务程序
[root@localhost ~]# yum -y install bind-chroot
已加载插件:fastestmirror, langpacks
Loading mirror speeds from cached hostfile
正在解决依赖关系
--> 正在检查事务
---> 软件包 bind-chroot.x86_64.32.9.9.4-50.el7 将被 安装
--> 正在处理依赖关系 bind = 32:9.9.4-50.el7,它被软件包 32:bind-chroot-9.9.4-50.el7.x86_64 需要
--> 正在检查事务
---> 软件包 bind.x86_64.32.9.9.4-50.el7 将被 安装
--> 解决依赖关系完成
依赖关系解决
================================================================================
Package 架构 版本 源 大小
================================================================================
正在安装:
bind-chroot x86_64 32:9.9.4-50.el7 CentOS7 86 k
为依赖而安装:
bind x86_64 32:9.9.4-50.el7 CentOS7 1.8 M
事务概要
================================================================================
安装 1 软件包 (+1 依赖软件包)
总下载量:1.9 M
安装大小:4.3 M
Downloading packages:
--------------------------------------------------------------------------------
总计 118 MB/s | 1.9 MB 00:00
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
正在安装 : 32:bind-9.9.4-50.el7.x86_64 1/2
正在安装 : 32:bind-chroot-9.9.4-50.el7.x86_64 2/2
验证中 : 32:bind-9.9.4-50.el7.x86_64 1/2
验证中 : 32:bind-chroot-9.9.4-50.el7.x86_64 2/2
已安装:
bind-chroot.x86_64 32:9.9.4-50.el7
作为依赖被安装:
bind.x86_64 32:9.9.4-50.el7
完毕!
bind服务程序中三个比较关键的文件:
主配置文件(/etc/named.conf):只有58行,而且在去除注释信息和空行之后,实际有效的参数仅有30行左右,这些参数用来定义bind服务程序的运行。
区域配置文件(/etc/named.rfc1912.zones):用来保存域名和IP地址对应关系的所在位置。类似于图书的目录,对应着每个域和相应IP地址所在的具体位置,当需要查看或修改时,可根据这个位置找到相关文件。
数据配置文件目录(/var/named):该目录用来保存域名和IP地址真实对应关系的数据配置文件。
正向解析实验
bind服务程序的名称为named。首先需要在/etc目录中找到该服务程序的主配置文件,然后把第13行和第19行的地址均修改为any,分别表示服务器上的所有IP地址均可提供DNS域名解析服务,以及允许所有人对本服务器发送DNS查询请求。这两个地方一定要修改准确。
第1步:
[root@localhost ~]# vim /etc/named.conf
//
// named.conf
//
// Provided by Red Hat bind package to configure the ISC BIND named(8) DNS
// server as a caching only nameserver (as a localhost DNS resolver only).
//
// See /usr/share/doc/bind*/sample/ for example named configuration files.
//
// See the BIND Administrator's Reference Manual (ARM) for details about the
// configuration located in /usr/share/doc/bind-{version}/Bv9ARM.html
options {
listen-on port 53 { any; };
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; };
添加以下内容
zone "chenjin.com" IN {
type master;
file "chenjin.com.zone";
};
保存退出
第2步:编辑数据配置文件。我们可以从/var/named目录中复制一份正向解析的模板文件(named.localhost),然后把域名和IP地址的对应数据填写数据配置文件中并保存。在复制时记得加上-a参数,这可以保留原始文件的所有者、所属组、权限属性等信息,以便让bind服务程序顺利读取文件内容:
[root@localhost ~]# cd /var/named/
[root@localhost named]# cp -a named.localhost chenjin.com.zone
[root@localhost named]# ll
总用量 20
-rw-r----- 1 root named 152 6月 21 2007 chenjin.com.zone
drwxr-x--- 7 root named 61 4月 2 16:19 chroot
drwxrwx--- 2 named named 6 8月 4 2017 data
drwxrwx--- 2 named named 6 8月 4 2017 dynamic
-rw-r----- 1 root named 2281 5月 22 2017 named.ca
-rw-r----- 1 root named 152 12月 15 2009 named.empty
-rw-r----- 1 root named 152 6月 21 2007 named.localhost
-rw-r----- 1 root named 168 12月 15 2009 named.loopback
drwxrwx--- 2 named named 6 8月 4 2017 slaves
编辑数据配置文件。在保存并退出后文件后记得重启named服务程序,让新的解析数据生效。
[root@localhost named]# vim chenjin.com.zone
[root@localhost named]# systemctl restart named
第3步:检验解析结果。为了检验解析结果,要先把Linux系统网卡中的DNS地址参数修改成本机IP地址,这样就可以使用由本机提供的DNS查询服务了。nslookup命令用于检测能否从DNS服务器中查询到域名与IP地址的解析记录,进而更准确地检验DNS服务器是否已经能够为用户提供服务。
[root@localhost named]# vim /etc/sysconfig/network-scripts/ifcfg-ens33
结果:
反向解析:
第1步:编辑主配置文件添加以下内容:
root@localhost named]# vim /etc/named.conf
zone "chenjin.com" IN {
type master;
file "chenjin.com.zone";
};
zone "1.168.192.in-addr.arpa" IN {
type master;
file "192.168.1.arpa";
};
include "/etc/named.rfc1912.zones";
include "/etc/named.root.key";
第2步:编辑数据配置文件。首先从/var/named目录中复制一份反向解析的模板文件(named.loopback),然后把下面的参数填写到文件中。
[root@localhost named]# cd /var/named/
[root@localhost named]# ls
chenjin.com.zone data named.ca named.localhost slaves
chroot dynamic named.empty named.loopback
[root@localhost named]# cp -a named.loopback 192.168.1.arpa
[root@localhost named]# vim 192.168.1.arpa 注意:最好yy复制p粘贴进行修改
[root@localhost named]# systemctl restart named
部署从服务器
主ip:192.168.1.63 操作系统centos7.4
从ip:192.168.1.64 操作系统centos7.4
第1步:在主服务器的区域配置文件中允许该从服务器的更新请求,即修改allow-update {允许更新区域信息的主机地址;};参数,然后重启主服务器的DNS服务程序。
[root@localhost named]# vim /etc/named.conf
zone "chenjin.com" IN {
type master;
file "chenjin.com.zone";
allow-update { 192.168.1.64; };
};
zone "1.168.192.in-addr.arpa" IN {
type master;
file "192.168.1.arpa";
allow-update { 192.168.1.64; };
};
[root@localhost slaves]# systemctl restart named //配好后重启服务器
第2步:在从服务器中填写主服务器的IP地址与要抓取的区域信息,然后重启服务。注意此时的服务类型应该是slave(从),而不再是master(主)。masters参数后面应该为主服务器的IP地址,而且file参数后面定义的是同步数据配置文件后要保存到的位置,稍后可以在该目录内看到同步的文件。
zone "chenjin.com" IN {
type slave;
masters { 192.168.1.63; };
file "slaves/chenjin.com.zone";
};
zone "1.168.192.in-addr.arpa" IN {
type slave;
masters { 192.168.1.63; };
file "slaves/192.168.1.arpa";
};
[root@localhost slaves]# systemctl restart named //配好后重启服务器
第3步:检验解析结果
[root@localhost slaves]# cd /var/named/slaves
[root@localhost slaves]# ls
192.168.1.arpa chenjin.com.zone
则表示成功