实验参考刘遄老师《linux就该这么学》书籍第十三章:使用 BIND 提供域名解析服务。
一、DNS服务器正反向解析
1.1实验环境
主机ip | 主机名 | 操作系统 | 主机作用 |
192.168.11.131 | master | contos7 | dns主服务 |
192.168.11.132 | node1 | contos7 | dns从服务 |
1.2bind服务安装
[root@master~]# yum install bind-chroot.x86_64
已加载插件:fastestmirror, langpacks
Loading mirror speeds from cached hostfile
* base: mirrors.aliyun.com
* extras: mirrors.cn99.com
* updates: mirrors.aliyun.com
正在解决依赖关系
--> 正在检查事务
--------------省列部分内容---------------
事务概要
================================================================================================================================================================================================
安装 1 软件包 (+2 依赖软件包)
升级 ( 4 依赖软件包)
总计:4.2 M
总下载量:2.5 M
Is this ok [y/d/N]: y
Downloading packages:
(1/3): bind-chroot-9.11.4-26.P2.el7_9.7.x86_64.rpm | 93 kB 00:00:00
(2/3): python-ply-3.4-11.el7.noarch.rpm | 123 kB 00:00:00
(3/3): bind-9.11.4-26.P2.el7_9.7.x86_64.rpm | 2.3 MB 00:00:01
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
总计 2.0 MB/s | 2.5 MB 00:00:01
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
正在更新 : 32:bind-license-9.11.4-26.P2.el7_9.7.noarch 1/11
--------------省列部分内容---------------
验证中 : 32:bind-libs-lite-9.11.4-26.P2.el7.x86_64 11/11
已安装:
bind-chroot.x86_64 32:9.11.4-26.P2.el7_9.7
作为依赖被安装:
bind.x86_64 32:9.11.4-26.P2.el7_9.7 python-ply.noarch 0:3.4-11.el7
作为依赖被升级:
bind-libs.x86_64 32:9.11.4-26.P2.el7_9.7 bind-libs-lite.x86_64 32:9.11.4-26.P2.el7_9.7 bind-license.noarch 32:9.11.4-26.P2.el7_9.7 bind-utils.x86_64 32:9.11.4-26.P2.el7_9.7
完毕!
文件名 | 文件说明 | 作用说明 |
---|---|---|
/etc/named.conf | 主配置文件 | 用来定义 bind 服务程序的运行。 |
/etc/named.rfc1912.zones | 区域配置文件 | 用来保存域名和 IP 地址对应关系的所在位置。 |
/var/named | 数据配置文件目录 | 用来保存域名和 IP 地址真实对应关系的数据配置文件。 |
修改主配置文件第13行内容使服务器上的所有 IP地址均可以提供 DNS 域名解析服务,修改第21行允许所有人对本服务器发送 DNS 查询请求。
[root@master ~]# vim /etc/named.conf
--------------省列部分内容---------------
13 listen-on port 53 { any; }; #大括号内容修改为any
14 listen-on-v6 port 53 { ::1; };
15 directory "/var/named";
16 dump-file "/var/named/data/cache_dump.db";
17 statistics-file "/var/named/data/named_stats.txt";
18 memstatistics-file "/var/named/data/named_mem_stats.txt";
19 recursing-file "/var/named/data/named.recursing";
20 secroots-file "/var/named/data/named.secroots";
21 allow-query { any; }; #大括号内容修改为any
--------------省列部分内容---------------
1.2.1 正向解析实验
在 DNS 域名解析服务中,正向解析是指根据域名查找到对应的 IP 地址。当用户输入了一个域名后,bind 服务程序会自动进行查找,并将匹配到的 IP 地址返给用户。
1、编辑区域配置文件,可将原来内容全部清空只留一下内容
[root@master ~]# vim /etc/named.rfc1912.zones
zone "bindtest.com" IN {
type master; #服务类型
file "bindtest.com.zone"; #域名与ip解析规则
allow-update { none; }; #允许哪些客户机动态更新解析
};
2、从/var/named 目录中复制一份正向解析的模板文件(named.localhost)进行编辑
[root@master ~]# cd /var/named/
[root@master named]# cp -a named.localhost bindtest.com.zone
[root@master named]# vim bindtest.com.zone
$TTL 1D
@ IN SOA bindtest.com. root.bindtest.com. (
0 ; serial #更新序列号
1D ; refresh #更新时间
1H ; retry #重试延时
1W ; expire #失效时间
3H ) ; minimum #无效解析记录的缓存时间
NS ns.bindtest.com. #域名服务器记录
ns IN A 192.168.11.131 #域名解析服务器
@ IN MX 10 mail.bindtest.com. #邮件交换记录,设置序列号为10或其他
mail IN A 192.168.11.131 #表示mial.bindtest.com解析后地址为192.168.11.131
www IN A 192.168.11.131
bbs IN A 192.168.11.132 #表示bbs.bindtest.com解析后地址为192.168.11.132
3、系统网卡中的 DNS 地址参数修改成本机 IP 地址,重启服务bind服务检测是否正向是否配置成功
[root@master named]# systemctl restart named
[root@master named]# nslookup www.bindtest.com
Server: 192.168.11.131
Address: 192.168.11.131#53
Name: www.bindtest.com
Address: 192.168.11.131
[root@master named]# nslookup bbs.bindtest.com
Server: 192.168.11.131
Address: 192.168.11.131#53
Name: bbs.bindtest.com
Address: 192.168.11.132
1.2.1 反向解析实验
反向解析的作用是将 IP 地址解析为对应的域名信息。
1、编辑区域文件,在下方追加反向解析区域配置
[root@master ~]# vim /etc/named.rfc1912.zones
zone "bindtest.com" IN {
type master;
file "bindtest.com.zone";
allow-update { none; };
};
zone "11.168.192.in-addr.arpa" IN{ #在定义区域时应该要把 IP 地址反写,比如原来是 192.168.11.0,反写后应该就是 11.168.192,而且只需写出 IP 地址的网络位即可
type master;
file "192.168.11.arpa";#此处名字需与正向解析文件区别开来
allow-update { none; };
};
2、从/var/named 目录中复制一份正向解析的模板文件(named.loopback)进行编辑
[root@master ~]# cd /var/named/
[root@master named]# cp -a named.loopback 192.168.11.arpa
[root@master named]# vim 192.168.11.arpa
$TTL 1D
@ IN SOA bindtest.com. root.bindtest.com. (
0 ; serial
1D ; refresh
1H ; retry
1W ; expire
3H ) ; minimum
NS ns.bindtest.com.
ns A 192.168.11.131
131 PTR ns.bindtest.com. #PTR为反向指针 192.168.11.131可解析成ns.bindtest.com
131 PTR mail.bindtest.com.
131 PTR www.bindtest.com.
132 PTR bbs.bindtest.com.
3、重启服务、检验解析结果
[root@master named]# systemctl restart named
[root@master named]# nslookup 192.168.11.131
131.11.168.192.in-addr.arpa name = mail.bindtest.com.
131.11.168.192.in-addr.arpa name = www.bindtest.com.
131.11.168.192.in-addr.arpa name = ns.bindtest.com.
[root@master named]# nslookup 192.168.11.132
132.11.168.192.in-addr.arpa name = bbs.bindtest.com.
二、从服务部署
在实际工作环境中,对于解析任务繁重,工作负荷较大的服务器而言,难免存在服务器出现问题,而在网络环境中,如果因为服务器不能提供服务,损失将会是巨大的,因此需要做一个备份可提供服务的DNS服务器,称为从DNS服务器
2.1主服务配置
修改主服务区域文件配置。
[root@master named]# vim /etc/named.rfc1912.zones
zone "bindtest.com" IN {
type master;
file "bindtest.com.zone";
allow-update { 192.168.11.132; }; #修改成允许更新区域信息的主机地址
};
zone "11.168.192.in-addr.arpa" IN{
type master;
file "192.168.11.arpa";
allow-update { 192.168.11.132; }; #修改成允许更新区域信息的主机地址
};
重启主服务bind程序
[root@master named]# systemctl restart named
2.1从服务配置
1、参照1.2对bind服务安装并对主配置文件(/etc/named.conf)进行修改
2、修改从服务区域文件
[root@node1 ~]# vim /etc/named.rfc1912.zones
zone "bindtest.com" IN {
type slave; #服务类型为从服务
masters { 192.168.11.131; }; #主服务IP地址
file "slaves/bindtest.com.zone"; #同步配置文件的位置
};
zone "11.168.192.in-addr.arpa" IN{
type slave;
masters { 192.168.11.131; };
file "slaves/192.168.11.arpa";
};
由于目前还没重新启动从服务,切换到数据配置文件目录的slaves下可以看到此时并没有文件
[root@node1 ~]# cd /var/named/slaves/
[root@node1 slaves]# ll
总用量 0
3、重启服务,可以看到重启服务后主服务的正反向解析服务的配置文件已经同步到相应目录下了
[root@node1 slaves]# systemctl restart named
[root@node1 slaves]# ll
总用量 8
-rw-r--r-- 1 named named 420 11月 3 10:33 192.168.11.arpa
-rw-r--r-- 1 named named 399 11月 3 10:33 bindtest.com.zone
4、将系统dns地址修改为192.168.11.132并重启网络服务后检验解析结果
[root@node1 slaves]# nslookup
> 192.168.11.131
131.11.168.192.in-addr.arpa name = www.bindtest.com.
131.11.168.192.in-addr.arpa name = ns.bindtest.com.
131.11.168.192.in-addr.arpa name = mail.bindtest.com.
> www.bindtest.com
Server: 192.168.11.132 #可以看到解析服务已经变成了从服务了
Address: 192.168.11.132#53
Name: www.bindtest.com
Address: 192.168.11.131
> exit