一、實驗環境
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偵聽的端口和IPlisten-on-v6 port 53 { ::1; }; # 指定bind偵聽的端口和IPv6directory "/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 ; serial1D ; refresh1H ; retry1W ; expire3H ) ; minimumNS @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 ; serial1D ; refresh1H ; retry1W ; expire3H ) ; minimumNS @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