内网配置

此配置案例使用 Ubuntu 进行演示

Redhat、CentOS 等操作系统命令与 Ubuntu 可能不一致,请自行搜索相关文档。

安装 Bind9

# 安装依赖软件包
sudo apt install -y bind9 bind9-host dnsutils

设置开机启动

# 启动 Bind9
sudo systemctl start named

# 开机启动 Bind9
sudo systemctl enable named

# 查看运行状态
sudo systemctl status named

防火墙放行 53 端口

sudo ufw allow Bind9

配置 Bind9

sudo nano /etc/bind/named.conf.options

修改或添加以下内容,允许其他人查询DNS,并且在本机查询不到时,转发到外部DNS服务器;并对 "lan.ac.cn" 解析进行拦截在本机解析。

options {
        listen-on port 53 { any; };
        allow-query     { any; };
        forward         first;
        forwarders      { 223.5.5.5; 223.6.6.6; 119.29.29.29; 119.28.28.28; 114.114.114.114; 114.114.115.115; };
}

zone "lan.ac.cn" {
	type master;
	file "lan.ac.cn_zone";
};

配置域名解析

编辑域名正向解析的域文件:

vim /var/named/lan.ac.cn_zone

在 lan.ac.cn_zone 文件中添加以下内容:

$TTL	60
@		IN 	SOA 	ns1.renfei.net. hostmaster.renfei.net. (2024072701 3600 1200 1209600 600)
@ 		IN 	NS 		ns1.renfei.net.
@ 		IN 	NS 		ns2.renfei.net.
www		IN 	A 		192.168.4.21

在上方解析内容中,SOA、NS 必须存在,其他内容根据需要添加;在案例中:www 意思为 www.lan.ac.cn 解析到 192.168.4.21

验证 Bind9 语法

named-checkconf

重启 Bind9

sudo systemctl restart named

验证 DNS 解析

dig @127.0.0.1 www.lan.ac.cn

; <<>> DiG 9.11.4 <<>> @127.0.0.1 www.lan.ac.cn
; (1 server found)
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 27619
;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 2, ADDITIONAL: 1

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4096
;; QUESTION SECTION:
;www.lan.ac.cn.			IN	A

;; ANSWER SECTION:
www.lan.ac.cn.		60	IN	A	192.168.4.21

;; AUTHORITY SECTION:
lan.ac.cn.		60	IN	NS	ns2.renfei.net.
lan.ac.cn.		60	IN	NS	ns1.renfei.net.

;; Query time: 0 msec
;; SERVER: 127.0.0.1#53(127.0.0.1)
;; WHEN: Mon Jul 29 17:25:52 CST 2024
;; MSG SIZE  rcvd: 104

其他配置

在内网搭建好此 DNS 服务器以后,还需要到路由器中配置 DHCP 服务,将分配给内网设备的 DNS 指向此内网服务器。 如果内网没有 DHCP 自动分配 IP,可以手动设置设备的 IP 地址和 DNS 指向本服务器。

域名维护者内网DNS配置[email protected]
LAN: Local Area Network