DNS 反向解析: 就是将接收到的 IP 地址解析成对应的 域名
root@localhost ~]# yum -y install bind
[root@localhost ~]# vim /etc/named.conf
options {
listen-on port 53 { 192.168.114.10; };
#监听53 端口,ip地址使用提供服务的本地ip,也可以使用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; }; #允许使用本机DNS 解析的网段,any 表示所有
......
};
[root@localhost ~]# vim /etc/named.rfc1912.zones
#文件里有模板,可以复制粘贴后修改
zone "23.168.192.in-addr.arpa" IN { #反向解析地址倒过来写,只写网络位,不用写主机位。如,子网掩码24 ,就只用写前面三段
type master;
file "mynet.com.zone.local";
#指定区域数据文件为 mynet.com.zone.local, 和正向解析的区域数据文件区别
allow-update { none; };
};
#反向解析配置
zone "mynet.com" IN {
type master;
file "mynet.com.zone"; #正向解析区域数据配置文件
allow-update { none; };
};
#正向解析配置
复制代码
[root@localhost ~]# cd /var/named #进入 /var/named 目录
[root@localhost named]# cp named.localhost mynet.com.zone.local # cp -p 保持源文件属性复制
[root@localhost named]# vim /var/named/mynet.com.zone.local #配置反向解析区域配置文件
$TTL 1D
@ IN SOA mynet.com. admin.mynet.com. ( # "@" 表示变量,这里代表192.168.23 网络位
20216301 ; serial #修改更新序列号,10位数以内的整数
#配置主从时,如果主从的跟新序列号一样,从服务器就不会进行更新。所以,每次更新主服务器的区域数据配置文件时,都要更新序列号
1D ; refresh
1H ; retry
1W ; expire
3H ) ; minimum
NS mynet.com. # 域名
A 192.168.23.10 # DNS 地址
200 IN PTR www.mynet.com. # PTR 为反向指针,反向解析 192.168.23.200 的地址为 www.mynet.com
100 IN PTR mail.mynet.com.
:wq #保存退出
#正向区域数据配置文件,使用上一章“配置DNS正向解析” 里的即可,但是要修改跟新序列号 serial 值
[root@promote named]# vim /var/named/mynet.com.zone # 修改正向区域配置文件
$TTL 1D #有效解析记录的生存周期
@ IN SOA mynet.com. admin.mynet.com. ( # @ 表示变量,代表当前DNS 区域名
# mynet.com. 域名是要完整合格域名 "." 不可以少
# admin.mynet.com 管理员邮箱
20216302 ; serial # 更新序列号,可以是 10位数 以内的整数。主从服务器不可以一样
#配置主从时,如果主从的跟新序列号一样,从服务器就不会进行更新。所以,每次更新主服务器的区域数据配置文件时,都要更新序列号
1D ; refresh # 刷新时间,重新下载地址数据的间隔
1H ; retry # 重试延时,下载失败后的重试间隔
1W ; expire # 失效时间,超过该时间仍无法下载则放弃
3H ) ; minimum # 无效解析记录的生存周期
NS mynet.com. # NS 用于记录当前区域的 DNS 名称, 使用完整合格域名
A 192.168.23.10 # 记录 主机的 IP 地址, 也就是 服务器IP 地址
IN MX 10 mail.mynet.com. # MX 为邮件交换记录,数字越大越优先。 可以不配本条配置
www IN A 192.168.23.10 # 设置正向解析 www.mynet.com 对应的 IP
mail IN A 192.168.23.11 # 设置正向解析 mail.mynet.com 对应的 IP
ftp IN CNAME www # CNAME 使用别名 ,设置 ftp 是www 的别名
* IN A 192.168.23.12 # 泛域名解析,"*" 代表任意主机名 ,代表除了上面设置的主机名,其他主机名
[root@localhost named]# systemctl stop firewalld # 关闭防火墙
[root@localhost named]# setenforce 0 # 设置 selinux 级别为 permissive
[root@localhost named]# systemctl restart named # 重启服务
[root@localhost named]# vim /etc/resolv.conf #设置 DNS 服务器地址
nameserver 192.168.23.10
[root@localhost named]# host 192.168.23.100 # 测试反向解析
100.23.168.192.in-addr.arpa domain name pointer mail.mynet.com.
[root@localhost named]# host 192.168.23.200
200.23.168.192.in-addr.arpa domain name pointer www.mynet.com.
主服务器:
[root@localhost named]# vim /etc/named.rfc1912.zones # 修改主DNS服务器的 区域配置文件
#修改反向区域设置
zone "23.168.192.in-addr.arpa" IN {
type master; #类型为主服务器
file "mynet.com.zone.local";
allow-transfer { 192.168.23.11; }; # 允许从服务器下载反向区域数据
};
#修改正向区域设置
zone "mynet.com" IN {
type master;
file "mynet.com.zone";
allow-transfer { 192.168.23.11; };
};
###因为区域数据配置文件,已经在做反向解析时,已经配置,所以此处略过
从服务器:
[root@localhost ~]# yum -y install bind #下载 提供named 服务的软件包
[root@localhost ~]# vim /etc/named.conf
options {
listen-on port 53 { 192.168.23.11; };
#监听53 端口,ip地址使用提供服务的本地ip,也可以使用any 表示所有
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; }; #允许使用本机DNS 解析的网段,any 表示所有
......
};
从服务器:
[root@localhost ~]# vim /etc/named.rfc1912.zones
zone "mynet.com" IN {
type slave; # 类型为从服务器
masters { 192.168.23.10; }; # 指定 主服务器地址 (注意,手动配置本项参数时,大括号里的参数,两边要加空格,以分号结尾,括号外也要以分号结尾)
file "slaves/mynet.com.zone"; # 这是相对路径。从/var/named/ 目录开始
#指定 从主服务器下载的 区域数据文件保存到 /var/named/slaves/ 目录下,叫 mynet.com.zone
};
zone "23.168.192.in-addr.arpa" IN {
type slave;
masters { 192.168.23.10; };
file "slaves/mynet.com.zone.local";
主从DNS 服务器都要重启服务,并在从 DNS 服务器上查看 /var/named/slaves/目录下,是否有同步的区域数据配置文件
[root@localhost ~]# systemctl start named #主服务器重启服务
从服务器
[root@localhost ~]# ls /var/named/slaves/ #/var/named/slaves/ 目录下空
[root@localhost ~]#
[root@localhost ~]# systemctl stop firewalld #关闭防火墙
[root@localhost ~]# setenforce 0 # 设置selinux 级别
[root@localhost ~]# systemctl start named #启动named 服务
[root@localhost ~]# ls /var/named/slaves/ # 查看 /var/named/slaves/ 目录下的文件
mynet.com.zone mynet.com.zone.local # 从服务器 从主服务器上下载的 正向,反向区域数据文件
[root@localhost ~]# vim /etc/resolv.conf # 配置DNS 地址
nameserver 192.168.23.10
nameserver 192.168.23.11
#客户端:
[root@localhost ~]# host www.mynet.com #正向解析成功
www.mynet.com has address 192.168.23.10
[root@localhost ~]# host 192.168.23.100 #反向解析成功
100.23.168.192.in-addr.arpa domain name pointer mail.mynet.com.
然后停止主服务器服务,模拟主服务器故障
[root@localhost named]# systemctl stop named
客户端:
[root@localhost ~]# host www.mynet.com
www.mynet.com has address 192.168.23.10
[root@localhost ~]# host 192.168.23.100
100.23.168.192.in-addr.arpa domain name pointer mail.mynet.com.