DNS服务器系统为rocky9.5,
1、安装DNS
dnf -y install bind bind-utils
bind软件包
BIND 是一个开源的 DNS 服务器软件,广泛用于域名解析服务。
配置管理:
-
权威 DNS 服务器(Authoritative DNS):为特定域名提供解析服务。
-
递归 DNS 服务器(Recursive DNS):为客户端提供递归查询服务。
bind-utils包
bind-utils
包含一系列用于测试、查询和调试 DNS 服务的命令行工具。
如:dig、nslookup、host、rncd、named-checkconf、named-checkzone命令。
2、named.conf配置文件
options {listen-on port 53 { 127.0.0.1; };listen-on-v6 port 53 { ::1; };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;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";
};
3、修改配置文件
sed -e '11s|127.0.0.1|any|' \-e '19s|localhost|any|' \-e '53s|hint|master|' \-e '54s|named.ca|jingyu|' \-i.backup /etc/named.conf
4、编辑区域文件
cat > /var/named/jingyu << jingyu
\$TTL 86400
@ IN SOA . admin.jingyu.com. (2025021801 ; Serial3600 ; Refresh1800 ; Retry1209600 ; Expire86400 ) ; Minimum TTL
; Define the nameservers and mail servers
@ IN NS $(hostname)
$(hostname) IN A $(ip -4 addr show ens160 | grep -oP '(?<=inet\s)\d+(\.\d+){3}') ; DNS server IP address
jingyu
如果网卡是ens33,将ens160换成ens33。
注意!文件的名称必须和配置文件中写的区域文件的名称一致(file)。
第二行的admin.jingyu.com.为邮箱。注意后面的点为结束符。
5、赋权
chown -R named:named /var/named/jingyu
systemctl enable --now named
客户端配置
在网卡或者是/etc/resolv.conf文件中配置:
测试结果
查看记录
options全局参数
1、listen-on
listen-on port 53 { 192.168.6.50; };
作用: 指定 BIND 监听 DNS 请求的网络接口和端口。
-
表示 BIND 仅在 IP 地址
192.168.1.1
的 53 端口监听 DNS 请求。 -
如果设置为
{ any; }
,则表示监听所有可用接口。
2. directory
directory "/var/named";
作用: 指定 BIND 的工作目录。
3. allow-query
allow-query { 192.168.6.0/24; };
作用: 控制哪些客户端可以向 BIND 发起 DNS 查询。
-
仅允许
192.168.1.0/24
网段的客户端发起查询。 -
如果设置为
{ any; }
,则表示允许所有客户端。
4. recursion
recursion yes;
作用: 启用或禁用递归查询功能。
-
启用递归查询,BIND 将为客户端查询不在其本地缓存或权威区域中的域名。
-
如果设置为
no
,则 BIND 仅响应其管理的域名的查询。
5. dnssec-enable
和 dnssec-validation
dnssec-enable yes;
dnssec-validation yes;
作用: 配置 DNSSEC(DNS 安全扩展)功能。
-
dnssec-enable yes;
启用 DNSSEC 支持。 -
dnssec-validation yes;
启用 DNSSEC 验证,BIND 将验证 DNS 响应的签名。
6.forwarders
作用: 指定 BIND 将无法直接解析的查询转发到其他 DNS 服务器。
forwarders { 8.8.8.8; 8.8.4.4; };
-
将查询转发到 Google 的公共 DNS 服务器。
7. dump-file
、statistics-file
dump-file "/var/named/data/cache_dump.db";
statistics-file "/var/named/data/named_stats.txt";
-
作用: 指定缓存转储文件、统计文件等的路径。
-
dump-file
用于存储缓存转储数据。 -
statistics-file
用于存储统计信息。
8. pid-file
作用: 指定 BIND 进程 ID(PID)文件的路径。
pid-file "/run/named/named.pid";
-
该文件包含 BIND 进程的 PID,用于管理和控制 BIND 进程。
9. session-keyfile
session-keyfile "/run/named/session.key";
-
作用: 指定 BIND 会话密钥文件的路径。该文件包含 BIND 用于与
rndc
工具通信的会话密钥。