正向解析: FQDN-> IP, 域名到ip解析
反选解析: ip -> FQDN ip到域名的解析
FQDN:Fully Qualified Domain Name
软件安装
yum install bind bind-chroot bind-utils bind-libs -y
# 安装了bind-chroot => bind对应的就是named服务器的软件, chroot -> change root => 改变根
关闭防火墙,设置宽容模式
# systemctl stop firewalld
# setenforce 0
正向解析
第一步: 把对应的文件拷贝到chroot对应的目录下
/etc/named.conf -> /var/named/chroot/etc/
/var/named/named.ca -> /var/named/chroot/var/named
修改chroot权限:
python chown -R root:named chroot/
第二步、编辑配置文件
vim /var/named/chroot/etc/named.conf
配置文件内容:
options {
listen-on port 53 {any; };
listen-on-v6 port 53 { ::1; }; #监听端口为53,大括号内数据内容可以为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";
secroots-file "/var/named/data/named.secroots";
recursing-file "/var/named/data/named.recursing";
allow-query { localhost; };
recursion yes;
# dnssec-enable yes;
#dnssec-validation yes;
#managed-keys-directory "/var/named/dynamic";
pid-file "/run/named/named.pid";
#session-keyfile "/run/named/session.key";
/* https://fedoraproject.org/wiki/Changes/CryptoPolicy */
include "/etc/crypto-policies/back-ends/bind.config";
};
logging {
channel default_debug {
file "data/named.run";
severity dynamic;
};
};
zone "openlab.com" IN { # 正向解析openlab.com
type master; #主服务器类型
"""
type: hint, master, slave;
hint: 一般用于根域
master: 一般用于主域名服务器
slave: 一般用于从域名服务器
"""
file "openlab.zone";#区域文件名
};
第三步:配置区域文件
vim /var/named/chroot/var/named/openlab.zone
区域配置文件内容:
@ IN SOA dns1.openlab.com. test1.163.com(
10 # serial: 序号,代表数据库文件的新旧,需要越大代表越新。如果你修改了数据库文件,需要将这个数据放大
1D # refresh: 更新频率,定义slave多久向Master请求更新数据
1H # retry: 失败重新尝试,如果slave无法对Master实现连接,多长时间内,slave会尝试重新连接到Master。
1W #expire: 失效时间,如果一直尝试失败,持续连接到这个设置值时限,那么slave将不在继续尝试连接,并且尝试删除这份下载的zone file信息
3H) #Minimum: 缓存时间,如果这个数据库zone file中,每笔RR记录都没有写到TTL缓存时间的话,那么就以这个SOA的设置值为主
IN NS dns1.openlab.com.
IN NS dns2.openlab.com.
IN MX 10 mail.openlab.com.
dns1 IN A 192.168.116.129
dns2 IN A 192.168.116.130
mail IN A 192.168.116.222
ftp IN A 192.168.116.223
www IN A 192.168.116.224
ntp IN A 192.168.116.225
dhcp IN A 192.168.116.226
web IN A 192.168.116.227
在/var/named/chroot/var/named/
下创建data目录
logging -> data目录(创建这个目录,root:named)
修改data权限:chmod -R 775 data/
使data有写入named.run的权限
第四步、重启服务
systemctl restart named-chroot
第五步、配置resolv.conf
vim /etc/resolv.conf
/etc/resolv. conf是DNS客户机配置文件,用于设置DNS服务器的IP地址及DNS域名,还包含了主机的域名搜索顺序
该文件是由城名解析器( resolver,-个根据主机名解析IP地址的库)使用的配文件
格式:每行以一个关键字开头,后接个或多个由空格隔开的参数
search localdomain
nameserver 192.168.116.2
nameserver 192.168.116.129
nameserver 192.168.116.130
第六步、测试
根据编写好的区域配置文件测试
host ftp.openlab.com
测试成功,通过域名解析到IP地址
逆向解析
第一步、在配置文件vim /var/named/chroot/etc/named.conf
中增加
zone "116.168.192.in-addr.arpa" IN {
type master;
file "131.168.192.zone";
};
第二步、配置131.168.192.zone
文件
vim /var/named/chroot/var/named/131.168.192.zone
文件内容:
#TTL: DNS记录的缓存时间。是其他域名服务器将数据存放在缓存中的时间, 1D: 代表一天。
# SOA: Start Of Authority, 起始授权记录,一个区域解析库有且仅能有一个SOA记录,必须位于解析库的第一条记录。
$TTL 1D
@ IN SOA dns1.openlab.com. test1.163.com (
11
1D
1H
1W
3H)
IN NS dns1.openlab.com.
IN NS dns2.openlab.com. # NS记录:标明当前区域的DNS服务器
131 IN PTR dns1.openlab.com. # PTR记录: 反向解析,后面记录的数据就是反解到的主机名
220 IN PTR mail.openlab.com.
221 IN PTR dns2.openlab.com.
222 IN PTR www.openlab.com.
223 IN PTR dhcp.openlab.com.
224 IN PTR mail.openlab.com.
225 IN PTR ftp.openlab.com.
第三步、重启服务
systemctl restart named-chroot
第四步、配置resolv.conf
vim /etc/resolv.conf
nameserver 192.168.116.131
第五步、根据配置好的区域配置文件进行测试
host 192.168.116.221
测试成功,通过IP地址逆向解析出域名