🗣 Wd提问: linux搭建dns服务器
🤖 Ai回答: 在 Linux 上搭建 DNS 服务器(通常使用 BIND,即 Berkeley Internet Name Domain)是一个常见的网络管理任务。下面以 Ubuntu 22.04 LTS 为例,详细讲解如何搭建一个基本的 DNS 服务器。
✅ 一、准备工作
1、更新系统
bash
sudo apt update && sudo apt upgrade -y
2、安装 BIND9
bash
sudo apt install bind9 bind9utils bind9-doc -y
`bind9`:核心 DNS 服务
`bind9utils`:常用工具(如 `dig`, `nslookup`)
`bind9-doc`:文档(可选)
✅ 二、配置主配置文件
1、编辑主配置文件
bash
sudo nano /etc/bind/named.conf.options
替换内容如下(根据你的网络环境修改):
conf
options {
directory /var/cache/bind;
// 允许哪些客户端查询
allow-query { any; };
// 递归请求允许
recursion yes;
// 仅允许来自本地的递归查询(安全建议)
allow-recursion { 127.0.0.1; 192.168.1.0/24; }; // 可选
// 防止缓存投毒
dnssec-validation auto;
// 设置日志
auth-nxdomain no; RFC1035
listen-on port 53 { any; };
};
🔍 说明:
`allow-query { any; }` 表示允许所有主机查询(生产环境建议限制为内网)。
若你希望只允许特定网段访问,请将 `any` 改为 `192.168.1.0/24` 等。
✅ 三、创建区域文件(Zone File)
1、创建一个正向解析区域(例如:65.hk)
bash
sudo nano /etc/bind/db.65.hk
输入以下内容(请根据实际情况修改):
dns
$TTL 86400
@ IN SOA ns1.65.hk、admin.65.hk、(
2025040501 ; Serial
3600 ; Refresh
1800 ; Retry
604800 ; Expire
86400 ) ; Minimum TTL
@ IN NS ns1.65.hk.
@ IN A 192.168.1.100 ; 服务器 IP
ns1 IN A 192.168.1.100 ; DNS 服务器
www IN A 192.168.1.101 ; 映射到具体主机
mail IN A 192.168.1.102
✅ 注意:
`SOA` 记录中第一个字段是 域名(@ 表示 65.hk)
`admin.65.hk.` 是管理员邮箱(注意末尾点号不能省略)
`192.168.1.100` 是你的 DNS 服务器真实公网或内网地址
`192.168.1.101` 等是你要解析的主机地址
2、编辑主配置文件添加区域
编辑主配置文件:
bash
sudo nano /etc/bind/named.conf.local
添加如下内容:
conf
zone 65.hk {
type master;
file /etc/bind/db.65.hk;
};
✅ 说明:`type master` 表示这是主域名服务器。
✅ 四、检查配置并重启服务
1、检查语法是否正确
bash
sudo named-checkconf
sudo named-checkzone 65.hk /etc/bind/db.65.hk
✅ 如果没有输出错误,表示配置正确。
2、重启 BIND 服务
bash
sudo systemctl restart bind9
3、设置开机自启
bash
sudo systemctl enable bind9
✅ 五、测试 DNS 服务
1、使用 `dig` 测试
bash
dig @192.168.1.100 www.65.hk
✅ 应该返回正确的 IP 地址(如 192.168.1.101)
2、使用 `nslookup`
bash
nslookup www.65.hk 192.168.1.100
✅ 六、防火墙设置(如启用)
如果你使用了 `ufw` 防火墙,需要放行 53 端口(UDP/TCP):
bash
sudo ufw allow 53/tcp
sudo ufw allow 53/udp
sudo ufw reload
✅ 七、常见问题排查
| 问题 | 解决方法 |
| 无法解析 | 检查 `named-checkzone` 是否报错 |
| 无响应 | 检查 `bind9` 是否运行:`systemctl status bind9` |
| 权限问题 | 确保配置文件属主为 `root:bind`,权限 644 |
| 无法从外部访问 | 检查 `allow-query` 和防火墙 |
✅ 可选进阶功能
添加反向解析(如 `1.168.192.in-addr.arpa`)
配置转发(forwarding to Google DNS)
使用 `dnsmasq` 做轻量级 DNS(适合小局域网)
启用 DNSSEC(高级安全)
📌 总结
| 步骤 | 内容 |
| 1 | 安装 `bind9` |
| 2 | 配置 `named.conf.options` |
| 3 | 创建区域文件 `/etc/bind/db.xxx.com` |
| 4 | 在 `named.conf.local` 添加 zone |
| 5 | 检查语法并重启服务 |
| 6 | 测试 `dig` / `nslookup` |
✅ 完成!你现在拥有了一个可以正常工作的私有 DNS 服务器。
如需进一步扩展(比如支持多个域名、动态更新、主从同步等),欢迎继续提问!
📌 提示:生产环境中建议使用更严格的访问控制和日志监控。
📣 商家广告:





0
IP地址: 42.142.79.225
搜索次数: 0
提问时间: 2025-11-09 01:56:44
🛒 域名购买:
z-o.net
fl.gs
j-f.com.cn
3.ln.cn
7mt.net
e-d.cn
kaosou.com.cn
chusou.cn
vg.gs
ftp.gs
❓️ 热门提问:
到哪里买主机好
站群 seo
磁悬浮机房
去香港要多少钱
世界上第一个搜索引擎
程序PHP前端框架整合
香港晚上几点亮灯
二手台式主机多少钱一台
云计算出来是干什么的
hadoop服务器
豌豆Ai站群搜索引擎系统
🌐 域名评估:
r.ln.cn
yu7.ac.cn
5a.nm.cn
hechaocheng.cn
yu7.ah.cn
vtoltower.space
erlp.cn
catl.gs.cn
zz.hl.cn
xhkt.net
⛏ 最新挖掘:
凯里酸汤鱼
贵阳烤脑花
都匀毛尖茶
花溪牛肉粉
贵阳烤生蚝
贵阳烤豆腐
贵阳纸包鱼
贵阳特色菜
🖌 热门作画:
🤝 关于我们:
豌豆Ai
域名
建站
站群
留痕
推广
评估
源码
开发Ai
工具
日记
价格
加盟
广告
流量
留言
联系
🗨 加入群聊:
🔗 友情链接:
域名出售平台
搜索引擎入口
ai提问
🧰 站长工具:
Ai工具 whois查询 搜索
📢 温馨提示:本站所有问答由Ai自动创作,内容仅供参考,若有误差请用“联系”里面信息通知我们人工修改或删除。
👉 技术支持:本站由豌豆Ai提供技术支持,使用的最新版:《豌豆Ai站群搜索引擎系统 V.25.10.25》搭建本站。