linux系统中bind服务程序部署正反向域名解析
利用bind部署域名正反向解析需要修改区域配置文件和数据配置文件。其中数据配置文件一共需要修改两个,一个正向 解析文件,一个反向解析文件。
正向解析:将域名解析为IP
反向解析:将IP解析为域名
区域配置文件保存域名和IP对应关系文件的位置。
数据配置文件保存域名和IP地址真实的对应关系。
1、修改区域配置文件,bind服务程序的区域配置文件为 /etc/named.rfc1912.zones.
vim /etc/named.rfc1912.zones ## 首先清空原始的配置文件,按照如下进行编辑,1-5行为正向解析,6-10行为逆向解析
1 zone "linuxprobe.com" IN { ## 指定将要解析的域名linuxprobe.com
2 type master; ## 指定服务器类型,主服务器
3 file "linuxprobe.com.zone"; ## 指定域名和IP对应关系的文件为:linuxprobe.com.zone
4 allow-update { none; }; ## 指定允许谁进行同步,这里指定为 none
5 };
6 zone "10.168.192.in-addr.arpa" IN { ## 指定要解析的IP,为10.168.192(192.168.10的反写)
7 type master; ## 指定服务器类型,主服务器
8 file "192.168.10.arpa"; ## 指定域名和IP地址对应关系的文件
9 allow-update { none; }; ## 指定允许谁进行同步,这里指定 none
10 };
2、修改数据配置文件, 数据配置文件目录为/var/named, 数据配置文件保存域名和IP真实的对应关系
数据配置文件目录中,named.localhost为正向解析模板文件, named.loopback为反向解析模板文件
[root@PC1 named]# cp named.localhost xxxx
[root@PC1 named]# cp -a named.localhost linuxprobe.com.zone ## 复制正向解析模板文件,-a 用于保留权限
[root@PC1 named]# ll named.localhost xxxx linuxprobe.com.zone
-rw-r-----. 1 root named 152 Jun 21 2007 linuxprobe.com.zone
-rw-r-----. 1 root named 152 Jun 21 2007 named.localhost
-rw-r-----. 1 root root 152 Dec 12 14:43 xxxx
[root@PC1 named]# vim linuxprobe.com.zone ## 修改正向解析的数据配置文件
$TTL 1D
@ IN SOA linuxprobe.com. root.linuxprobe.com. (
0 ; serial
1D ; refresh
1H ; retry
1W ; expire
3H ) ; minimum
NS ns.linuxprobe.com.
ns IN A 192.168.10.10
www IN A 192.168.10.10
[root@PC1 named]# cp -a named.loopback 192.168.10.arpa
$TTL 1D
@ IN SOA linuxprobe.com. root.linuxprobe.com. (
0 ; serial
1D ; refresh
1H ; retry
1W ; expire
3H ) ; minimum
NS ns.linuxprobe.com.
ns A 192.168.10.10
10 PTR www.linuxprobe.com.
3、重启BIND服务程序,BIND服务程序的名称为named
[root@PC1 named]# systemctl restart named
4、将网卡中DNS地址修改为本机IP地址,然后重启网卡服务,这样可以使用本机提供的DNS查询服务
[root@PC1 named]# systemctl restart network ## 重启网卡
5、 测试配置效果
[root@PC1 named]# ping -c 3 www.linuxprobe.com ## ping 域名测试,通过
PING www.linuxprobe.com (192.168.10.10) 56(84) bytes of data.
64 bytes from www.linuxprobe.com (192.168.10.10): icmp_seq=1 ttl=64 time=0.028 ms
64 bytes from www.linuxprobe.com (192.168.10.10): icmp_seq=2 ttl=64 time=0.042 ms
64 bytes from www.linuxprobe.com (192.168.10.10): icmp_seq=3 ttl=64 time=0.046 ms
--- www.linuxprobe.com ping statistics ---
3 packets transmitted, 3 received, 0% packet loss, time 1999ms
rtt min/avg/max/mdev = 0.028/0.038/0.046/0.010 ms
[root@PC1 named]# nslookup ## 使用nslookup测试
> www.linuxprobe.com ## 正向解析测试,通过
Server: 192.168.10.10
Address: 192.168.10.10#53
Name: www.linuxprobe.com
Address: 192.168.10.10
> 192.168.10.10 ## 反向解析测试,通过
Server: 192.168.10.10
Address: 192.168.10.10#53
10.10.168.192.in-addr.arpa name = www.linuxprobe.com.
> xxx.linuxprobe.com ## 测试 xxx.linuxprobe.com,失败
Server: 192.168.10.10
Address: 192.168.10.10#53
** server can't find xxx.linuxprobe.com: NXDOMAIN
> 192.168.10.20 ## 测试 192.168.10.20
Server: 192.168.10.10
Address: 192.168.10.10#53
** server can't find 20.10.168.192.in-addr.arpa.: NXDOMAIN
6、将xxx.linuxprobe.com 加入正向解析的数据配置文件中,然后重启网卡,并测试是否能够解析
[root@PC1 named]# vim linuxprobe.com.zone ## 修改正向解析的数据配置文件,增加了两行
$TTL 1D
@ IN SOA linuxprobe.com. root.linuxprobe.com. (
0 ; serial
1D ; refresh
1H ; retry
1W ; expire
3H ) ; minimum
NS ns.linuxprobe.com.
ns IN A 192.168.10.10
www IN A 192.168.10.10
xxx IN A 111.123.145.23
abc IN A 192.168.10.20
[root@PC1 named]# systemctl restart named ## 重启bind服务程序
[root@PC1 named]# nslookup ## 测试配置效果
> www.linuxprobe.com ## 测试 www.linuxprobe.com ,通过
Server: 192.168.10.10
Address: 192.168.10.10#53
Name: www.linuxprobe.com
Address: 192.168.10.10
> xxx.linuxprobe.com ## 测试 xxx.linuxprobe.com,通过
Server: 192.168.10.10
Address: 192.168.10.10#53
Name: xxx.linuxprobe.com
Address: 111.123.145.23
> abc.linuxprobe.com ## 测试abc.linuxprobe.com, 通过
Server: 192.168.10.10
Address: 192.168.10.10#53
Name: abc.linuxprobe.com
Address: 192.168.10.20
> yyy.linuxprobe.com ## 测试 yyy.linuxprobe.com,失败(因为没有加入正向解析数据配置文件中)
Server: 192.168.10.10
Address: 192.168.10.10#53
** server can't find yyy.linuxprobe.com: NXDOMAIN
> 192.168.10.20 ## 测试 192.168.10.20的方向解析,失败(没有修改反向解析数据配置文件)
Server: 192.168.10.10
Address: 192.168.10.10#53
** server can't find 20.10.168.192.in-addr.arpa.: NXDOMAIN
> 192.168.10.10 ## 测试,通过
Server: 192.168.10.10
Address: 192.168.10.10#53
10.10.168.192.in-addr.arpa name = www.linuxprobe.com.
以上说明,只要报域名和IP对应关系加入正向解析数据配置文件中,重启bind服务,就可以实现正向解析。
7、将192.168.10.20加入反向解析数据配置文件中,重启bind服务程序,测试能否实现反向解析
[root@PC1 named]# vim 192.168.10.arpa ## 修改反向解析数据配置文件,增加两行
$TTL 1D
@ IN SOA linuxprobe.com. root.linuxprobe.com. (
0 ; serial
1D ; refresh
1H ; retry
1W ; expire
3H ) ; minimum
NS ns.linuxprobe.com.
ns A 192.168.10.10
10 PTR www.linuxprobe.com.
20 PTR mmm.xxxxxxxx.com.
30 PTR fsd.zzyyyxxx.com.
[root@PC1 named]# systemctl restart named ## 重启bind服务程序
[root@PC1 named]# nslookup
> 192.168.10.10 ## 测试,通过
Server: 192.168.10.10
Address: 192.168.10.10#53
10.10.168.192.in-addr.arpa name = www.linuxprobe.com.
> 192.168.10.20 ## 测试,通过
Server: 192.168.10.10
Address: 192.168.10.10#53
20.10.168.192.in-addr.arpa name = mmm.xxxxxxxx.com.
> 192.168.10.30 ## 测试,通过
Server: 192.168.10.10
Address: 192.168.10.10#53
30.10.168.192.in-addr.arpa name = fsd.zzyyyxxx.com.
> 192.168.10.40 ## 测试,失败
Server: 192.168.10.10
Address: 192.168.10.10#53
** server can't find 40.10.168.192.in-addr.arpa.: NXDOMAIN
以上说明,只有将域名和IP对应关系写入,反向解析数据配置文件,重启bind服务程序,才可以实现反向解析。