目前市面上有很多 DNS 服务器软件,各有特点:
| BIND9 | |
| Unbound | |
| dnsmasq | |
| PowerDNS | |
| CoreDNS | |
| Public DNS |
如果你只是在家庭网络里做简单的域名解析,dnsmasq 或 Unbound 就足够了。但如果要搭建企业级、功能全面、稳定可靠的内网 DNS 服务器,BIND9 依然是首选。
BIND(Berkeley Internet Name Domain)是由加州大学伯克利分校开发的,BIND9 是其经典版本,开源(MPL 2.0 许可证),几十年来被无数互联网公司验证过。
一句话:BIND9 是 DNS 服务器界的“瑞士军刀”,虽然学习曲线稍陡,但学会了就能应对绝大多数 DNS 需求。
在 Linux 上安装 BIND9 主要涉及以下几个包:
bind | named) |
bind-libs | |
bind-utils | dig、nslookup、host |
安装命令(AlmaLinux / CentOS / Rocky Linux):
sudo dnf install bind bind-utils -y安装完成后,主要文件位置:
/etc/named.conf | |
/var/named/ | |
/usr/sbin/named | |
/var/log/messages | |
/run/named/ |
注意: named进程默认以named用户运行,所以区域文件的权限要设置好。
# 启动服务
sudo systemctl start named
# 设置开机自启
sudo systemctl enable named
# 查看服务状态
sudo systemctl status named
# 查看进程
ps -ef | grep named
# 查看监听端口(DNS 使用 53 端口,TCP 和 UDP)
sudo netstat -nutpl | grep :53DNS 服务同时使用 TCP 和 UDP 的 53 端口:
- UDP 用于普通查询
- TCP 用于主从区域传输(数据量大时)
BIND9 功能强大、稳定可靠,是搭建内网 DNS 服务器的首选。下一篇文章,我们将正式开始在 AlmaLinux 上安装和配置 BIND9,让你拥有自己的第一个 DNS 服务器。