一、实验环境
1、BIND软件包介绍
BIND软件是一款开放源码的DNS服务器软件,由美国加州大学Berkeley分校开发和维护,全称为Berkeley Internet Name Domain。该软件在DNS(域名系统)领域具有重要地位,是目前世界上使用最为广泛的DNS服务器软件之一
- 主服务器程序:named.service
- 全局配置文件:/etc/named.conf
- 区域配置文件:/etc/named.rfc1912.zones
- 正向区域模板文件:/var/named/named.localhost
- 反向区域模板文件:/var/named/named.loopback
- 区域解析文件默认存放目录:/var/named/
- 配置文件语法验证命令:/usr/sbin/named.checkconf
2、全局配置文件解析
全局配置文件named.conf位于/etc/目录下
options {
listen-on port 53 { 127.0.0.1; }; # 指定bind侦听的端口和IP
listen-on-v6 port 53 { ::1; }; # 指定bind侦听的端口和IPv6
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-validation yes; # 启用DNSSEC验证
managed-keys-directory "/var/named/dynamic";
geoip-directory "/usr/share/GeoIP";
pid-file "/run/named/named.pid";
session-keyfile "/run/named/session.key";
include "/etc/crypto-policies/back-ends/bind.config";
};
logging { # 日志
channel default_debug {
file "data/named.run";
severity dynamic;
};
};
zone "." IN { # 根区域
type hint;
file "named.ca";
};
include "/etc/named.rfc1912.zones";
include "/etc/named.root.key";
3、区域配置文件解析
区域配置文件named.rfc1912.zones位于/etc/目录下
。。。略。。。
zone "localhost" IN { # 正向查找区域
type master; # 区域类型:主要区域
file "named.localhost"; # 区域数据文件所在路径
allow-update { none; }; # 不允许任何主机或网络更新区域数据
};
。。。略。。。
zone "0.in-addr.arpa" IN { # 反向查找区域
type master; # 区域类型:主要区域
file "named.empty"; # 区域数据文件所在路径
allow-update { none; }; # 不允许任何主机或网络更新区域数据
};
4、拓扑及需求
正向记录 | 反向记录 | 资源记录 |
---|---|---|
dns.meaauf.com | 192.168.10.1 | A/PTR |
www.meaauf.com | 192.168.10.2 | A/PTR |
web.meaauf.com | www.meaauf.com | CNAME |
mail.meaauf.com | 1921.68.10.3 | MX,10 |
二、主DNS服务器配置
1、地址信息配置
配置IP地址
nmcli connection modify ens160 ipv4.method manual ipv4.addresses 192.168.10.1/24 ipv4.dns 192.168.10.1
nmcli connection up ens160
查看IP地址信息及DNS
ip add show ens160
cat /etc/reslov.conf
2、YUM本地源配置
可以查看【RedHat9 | DNF/YUM仓库管理软件包】
3、关闭SELinux
修改配置文件以达到永久关闭
vim /etc/selinux/config
修改内容
SELINUX=disabled
重启生效
reboot
查看重启后SELinux的状态
sestatus
4、安装BIND9
安装BIND9
dnf -y install bind
5、修改全局配置文件
编辑全局配置文件
vim /etc/named.conf
修改以下内容
listen-on port 53 { any; };
listen-on-v6 port 53 { any; };
allow-query { any; };
dnssec-validation no;
检查配置文件语法
named-checkconf
6、修改区域配置文件
编辑区域配置文件
vim /etc/named.rfc1912.zones
添加正向区域和反向区域
zone "meaauf.com" IN {
type master;
file "meaauf.com.zone";
allow-update { none; };
};
zone "10.168.192.in-addr.arpa" IN {
type master;
file "meaauf.com.ref";
allow-update { none; };
};
7、新建正反区域解析文件
复制正向区域解析模板
cp -p /var/named/named.localhost /var/named/meaauf.com.zone
复制反向区域解析模板
cp -p /var/named/named.loopback /var/named/meaauf.com.ref
编辑正向解析区域文件
vim /var/named/meaauf.com.zone
修改为以下内容
$TTL 1D
@ IN SOA @ rname.invalid. (
0 ; serial
1D ; refresh
1H ; retry
1W ; expire
3H ) ; minimum
NS @
A 192.168.10.1
dns A 192.168.10.1
www A 192.168.10.2
web CNAME www.meaauf.com.
mail A 192.168.10.3
@ MX 10 192.168.10.3
编辑反向解析区域文件
vim /var/named/meaauf.com.ref
修改为以下内容
$TTL 1D
@ IN SOA @ rname.invalid. (
0 ; serial
1D ; refresh
1H ; retry
1W ; expire
3H ) ; minimum
NS @
A 192.168.10.1
1 PTR dns.meaauf.com.
2 PTR www.meaauf.com.
3 PTR mail.meaauf.com.
@ MX 10 mail.meaauf.com.
8、启用DNS服务
启动DNS服务并加入开机自启
systemctl enable --now named.service
调整防火墙策略
firewalld-cmd --add-service=dns --permanent
firrwalld-cmd --reload
三、测试客户端配置
1、地址信息配置
配置IP地址
nmcli connection modify ens160 ipv4.method manual ipv4.addresses 192.168.10.10/24 ipv4.dns 192.168.10.1
nmcli connection up ens160
查看IP地址信息及DNS
ip add show ens160
cat /etc/reslov.conf
2、关闭SELinux
修改配置文件以达到永久关闭
vim /etc/selinux/config
修改内容
SELINUX=disabled
重启生效
reboot
查看重启后SELinux的状态
sestatus
3、使用nslookup测试
正向解析
nslookup
> dns.meaauf.com
> www.meaauf.com
> web.meaauf.com
> mail.meaauf.com
反向解析
nslookup
> 192.168.10.1
> 192.168.10.2
> 192.168.10.3
邮件记录解析
nslookup
> set type=MX
> meaauf.com