Ubuntu 上部署 DNS(BIND)
讲清在 Ubuntu 上安装并最小化配置 BIND 9 的步骤:区域文件放哪、启动参数、测试命令,以及小网段更省事的轻量替代思路。
结论先行
Ubuntu 部署 DNS 服务器用 bind9 包(服务名 named)。最小链路:装包 → 在 /etc/bind/ 建区域文件 → 启动 named → 用 dig/nslookup 验证。小网段内网解析其实有更轻的选择,先判断是否需要上 BIND。
安装与最小配置
sudo apt update && sudo apt install -y bind9 bind9utils bind9-doc
sudo systemctl enable --now named
交互安装时默认「创建主区域 db.local / 192.168.122.0」之类示例区域,直接回车接受,事后可改。
区域文件骨架(/etc/bind/db.local):
$TTL 1h
@ IN SOA ns1.local root.local (
2026010101 ; serial(改动后必须 +1 才发布)
1d 2h 1w 3d )
@ IN NS ns1.local
ns1.local IN A 192.168.1.2
serial 不改,区域内容改了也不生效——这是 BIND 新手第一坑。
验证
dig @127.0.0.1 ns1.local
sudo systemctl status named
journalctl -u named -n 30
要不要上 BIND
| 场景 | 建议 |
|---|---|
| 内网几台机器互认名字 | 用轻量 DNS(dnsmasq 一类)或 hosts 文件 |
| 需要完整区域管理/转发/ACL | 上 BIND |
Ubuntu 桌面(桌面版条目)一般不跑 BIND;服务器场景基于 服务器版条目 部署更合适。包与版本以 Ubuntu 索引页 对应条目为准。