反向解析篇[/button">https://blog.deepfal.cn/index.php/archives/329/"]反向解析篇[/button]

1、服务安装

1.1、服务安装

执行下面的命令安装

apt install -y bind9 dnsutils

在这里插入图片描述

1.2、配置文件作用

服务安装完成之后,执行下面的命令查看配置文件列表

ls -l /etc/bind

然后得到下面的信息

root@debian:~# ls -l /etc/bind
总用量 48
-rw-r--r-- 1 root root 2761 5月  18 16:02 bind.keys
-rw-r--r-- 1 root root  237 5月  18 16:02 db.0
-rw-r--r-- 1 root root  271 5月  18 16:02 db.127
-rw-r--r-- 1 root root  237 5月  18 16:02 db.255
-rw-r--r-- 1 root root  353 5月  18 16:02 db.empty
-rw-r--r-- 1 root root  270 5月  18 16:02 db.local
-rw-r--r-- 1 root bind  463 5月  18 16:02 named.conf
-rw-r--r-- 1 root bind  498 5月  18 16:02 named.conf.default-zones
-rw-r--r-- 1 root bind  165 5月  18 16:02 named.conf.local
-rw-r--r-- 1 root bind  846 5月  18 16:02 named.conf.options
-rw-r----- 1 bind bind   77 9月  16 11:23 rndc.key
-rw-r--r-- 1 root root 1317 5月  18 16:02 zones.rfc1918

这些文件分别对应的作用如下:

db.127 反向区域数据库,用于将ip解析为对应的域名
db.local 正向区域数据库,用于将域名解析为对应的IP地址
db.local 正向区域数据库,用于将域名解析为对应的IP地址
named.conf.default-zones 默认区域
named.conf.local 用于定义解析域,也可以直接在named.conf中直接划定解析域
named.conf.options 配置文件,全局选项配置
/etc/bind9/named.conf Bind的主配置文件,不包含DNS数据

2、服务配置

执行下面的命令启动服务

systemctl restart bind9

在这里插入图片描述

2.1、编辑named.conf

首先备份文件

cp /etc/bind/named.conf /etc/bind/named.conf.bak

写入配置参数

echo "#主文件配置" >  /etc/bind/named.conf
echo 'include "/etc/bind/named.conf.local";' >> /etc/bind/named.conf
echo 'options {' >> /etc/bind/named.conf
echo -e "\tdirectory \"/var/cache/bind\";" >> /etc/bind/named.conf
echo -e "\tdnssec-validation auto;" >> /etc/bind/named.conf
echo -e "\tlisten-on-v6 { any; };" >> /etc/bind/named.conf
echo '};' >> /etc/bind/named.conf

初步实现效果

root@debian:~# cat /etc/bind/named.conf
#主文件配置
include "/etc/bind/named.conf.local";
options {
    directory "/var/cache/bind";
    dnssec-validation auto;
    listen-on-v6 { any; };
};
root@debian:~# 

然后继续追加

echo '#include "/etc/bind/named.conf.default-zones";' >> /etc/bind/named.conf
echo 'zone "uos.com" {' >> /etc/bind/named.conf
echo -e "\ttype master;" >> /etc/bind/named.conf
echo -e "\tfile  \"/etc/bind/db.uos.com\";" >> /etc/bind/named.conf
echo '};' >> /etc/bind/named.conf
echo 'zone "siro.com" {' >> /etc/bind/named.conf
echo -e "\ttype  master;" >> /etc/bind/named.conf
echo -e "\tfile  \"/etc/bind/db.siro.com\";" >> /etc/bind/named.conf
echo '};' >> /etc/bind/named.conf

最终效果如下:

root@debian:~# cat /etc/bind/named.conf
#主文件配置
include "/etc/bind/named.conf.local";
options {
    directory "/var/cache/bind";
    dnssec-validation auto;
    listen-on-v6 { any; };
};
#include "/etc/bind/named.conf.default-zones";
zone "uos.com" {
    type master;
    file  "/etc/bind/db.uos.com";
};
zone "siro.com" {
    type  master;
    file  "/etc/bind/db.siro.com";
};

2.2、创建文件

执行下面的命令使用模板创建

cp   /etc/bind/db.local   /etc/bind/db.siro.com
cp  /etc/bind/db.local   /etc/bind/db.uos.com

2.3、编辑文件

2.3.1、db.siro.com

首先查看默认内容

root@debian:~# more  /etc/bind/db.siro.com
;
; BIND data file for local loopback interface
;
$TTL    604800
@   IN  SOA localhost. root.localhost. (
                  2     ; Serial
             604800     ; Refresh
              86400     ; Retry
            2419200     ; Expire
             604800 )   ; Negative Cache TTL
;
@   IN  NS  localhost.
@   IN  A   127.0.0.1
@   IN  AAAA    ::1

然后需要修改的地方就是:

@ IN NS localhost.
@ IN A 127.0.0.1
@ IN AAAA ::1

修改为:

@   IN  NS  www.siro.com.
www IN  A   10.1.10.11
blog    IN  A   10.1.1.12

修改方式:首先使用vim进入该文件,删除下面的内容

@   IN  NS  localhost.
@   IN  A   127.0.0.1
@   IN  AAAA    ::1

然后保存推出,执行下面的命令

echo -e "@\tIN\tNS\twww.siro.com." >> /etc/bind/db.siro.com
echo -e "www\tIN\tA\t10.1.10.11"  >> /etc/bind/db.siro.com
echo -e "blog\tIN\tA\t10.1.1.12" >> /etc/bind/db.siro.com

实现效果如下:

root@debian:~# more  /etc/bind/db.siro.com
;
; BIND data file for local loopback interface
;
$TTL    604800
@   IN  SOA localhost. root.localhost. (
                  2     ; Serial
             604800     ; Refresh
              86400     ; Retry
            2419200     ; Expire
             604800 )   ; Negative Cache TTL
;

@   IN  NS  www.siro.com.
www IN  A   10.1.10.11
blog    IN  A   10.1.1.12

2.3.2、db.uos.com

同理,删除下面的内容

@ IN NS localhost.
@ IN A 127.0.0.1
@ IN AAAA ::1

然后执行:

echo -e "@\tIN\tNS\twww.uos.com." >> /etc/bind/db.uos.com
echo -e "www\tIN\tA\t10.1.10.111"  >> /etc/bind/db.uos.com
echo -e "blog\tIN\tA\t10.1.1.112" >> /etc/bind/db.uos.com

实现效果如下:

root@debian:~# more /etc/bind/db.uos.com
;
; BIND data file for local loopback interface
;
$TTL    604800
@   IN  SOA localhost. root.localhost. (
                  2     ; Serial
             604800     ; Refresh
              86400     ; Retry
            2419200     ; Expire
             604800 )   ; Negative Cache TTL
;
@   IN  NS  www.uos.com.
www IN  A   10.1.10.111
blog    IN  A   10.1.1.112

3、验证测试

首先重启服务

systemctl daemon-reload&&systemctl restart bind9&&systemctl enable bind9

在这里插入图片描述

3.1、修改DNS地址

Linux下修改下面这个文件

/etc/resolv.conf

把nameserver后面的IP改成自己的DNS服务器IP地址,实现效果如下:

root@debian:~# more /etc/resolv.conf 
domain localdomain
search localdomain
nameserver 10.1.10.2

Windows下进入下面的地址

控制面板\网络和 Internet\网络连接

然后修改对应的网卡配置,如下:
在这里插入图片描述

3.2、使用nslookup测试

Windows下进行测试:

首先调出CMD窗口,执行下面的命令

nslookup

在这里插入图片描述
可以看到,此时的DNS服务器地址就是我们的服务器IP,接着验证域名解析:

nslookup  www.uos.com

在这里插入图片描述
此时域名解析是成功的了


本文转载自CSDN

最后修改:2020 年 09 月 23 日
如果觉得我的文章对你有用,请随意赞赏~