请注意,本文编写于 1446 天前,最后修改于 1446 天前,其中某些信息可能已经过时。
反向解析篇[/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