基于Debian Linux 11搭建bind9 dns服务器

大老赖不赖 42 2022-10-10

视频版:

稍等我后面再做补充

安装bind9

可能相关的包:

bind9提供了DNS服务器功能

dnsutils则提供了DNS测试和除错工具

bind9-doc 提供bind9的文档

# bind9
apt install bind9
# 包括了一些dns测试工具
apt install dnsutils

开始配置bind9

# 修改 forward内的为第三方dns
nano /etc/bind/named.conf.options
# 修改dns服务器
nano /etc/resolv.conf
# 可能需要重启networking?
# 测试
dig baidu.com

创建正向搜索记录

nano /etc/bind/named.conf.local
zone "example.com" {

  type master;

  file "/etc/bind/db.example.com";

  //allow-transfer {xxx.xxx.xxx.xxx;}; // Secondary DNS server of the hoster

};

db.example.com可以从

cp /etc/bind/db.local /etc/bind/db.example.com

修改下面的那几个解析记录为:

@	IN	NS	e.com.
@	IN	A	12.34.56.78
www	IN	A	1.2.3.4
local	IN	A	127.0.0.1
test	IN	A	66.66.66.66
systemctl restart bind9

检查dns解析记录

nslookup www.example.com

创建反向搜索记录

zone "${反向网段}.in-addr.arpa" {
	type master;
	file "${dir}/db.${正向网段}";
};

例如:

zone "3.2.1.in-addr.arpa" {
	type master;
	file "/etc/bind/zones/db.1.2.3";
};

db文件:

@	IN	NS	test.com.
12	IN	PTR	test.com

SOA

起始授权机构,SOA(Start Of Authority):该记录表明DNS名称服务器是DNS域中的数据表的信息来源,该服务器是主机名字的管理者,创建新区域时,该资源记录自动创建,且是DNS数据库文件中的第一条记录。

起始授权机构(SOA)标签允许你配置此DNS区域的SOA记录。当DNS服务器加载DNS区域时,它首先通过SOA记录来决定此DNS区域的基本信息和主服务器,"属性"如下:

序列号:序列号代表了此区域文件的修订号。当区域中任何资源记录被修改或者点击了增量按钮时,此序列号会自动增加。在配置了区域复制时,辅助DNS服 务器会间歇的查询主服务器上DNS区域的序列号,如果主服务器上DNS区域的序列号大于自己的序列号,则辅助DNS服务器向主服务器发起区域复制。

主服务器:主服务器包含了此DNS区域的主DNS服务器的FQDN,此名字必须使用“.”结尾。

负责人:指定了管理此DNS区域的负责人的邮箱,你可以修改为在DNS区域中定义的其他RP(负责人)资源记录,此名字必须使用“.”结尾。

刷新间隔: 此参数定义了辅助DNS服务器查询主服务器以进行区域更新前等待的时间。当刷新时间到期时,辅助DNS服务器从主服务器上获取主DNS区域的SOA记录, 然后和本地辅助DNS区域的SOA记录相比较,如果值不相同则进行区域传输。默认情况下,刷新间隔为15分钟

参考
10.7. Domain Name Servers (DNS)
How to Configure DNS Server on Debian
Debian下安装DNS服务器
Debian10安装部署DNS服务-正向解析篇
Debian10安装部署DNS服务-反向解析篇
Understanding SOA records