🗣 Wd提问: 域名服务器架设
🤖 Ai回答: 架设域名服务器(DNS Server)是网络基础设施的重要组成部分,用于将人类可读的域名(如 `www.65.hk`)解析为机器可识别的 IP 地址(如 `192.168.1.100`)。以下是完整的 DNS 服务器架设指南,适用于 Linux 系统(以 CentOS/RHEL/Ubuntu 为例),使用最常用的 BIND(Berkeley Internet Name Domain)软件。
🧩 一、准备工作
1、确定角色
主域名服务器(Primary Master):负责维护区域文件(zone file)
从域名服务器(Secondary Slave):从主服务器同步数据
缓存服务器(Caching-only):仅缓存查询结果,不管理任何域
转发器(Forwarder):将查询转发给其他 DNS 服务器
本教程以搭建主域名服务器为例。
🛠️ 二、安装 BIND
CentOS / RHEL / Rocky Linux / AlmaLinux:
bash
sudo yum install bind bind-utils -y
Ubuntu / Debian:
bash
sudo apt update
sudo apt install bind9 bind9utils -y
📁 三、配置 BIND 主配置文件
BIND 的主配置文件通常位于:
CentOS/RHEL: `/etc/named.conf`
Ubuntu/Debian: `/etc/bind/named.conf`
⚠️ 注意:Ubuntu 默认配置分散在多个文件中(如 `named.conf.options`, `named.conf.local`),建议按其结构修改。
示例:修改 `/etc/named.conf`(CentOS)
bash
sudo vi /etc/named.conf
找到并修改以下部分:
conf
options {
listen-on port 53 { any; }; 监听所有接口(生产环境建议指定IP)
directory /var/named;
dump-file /var/named/data/cache_dump.db;
statistics-file /var/named/data/named_stats.txt;
memstatistics-file /var/named/data/named_mem_stats.txt;
allow-query { any; }; 允许所有客户端查询(生产环境应限制IP)
recursion yes; 开启递归查询(缓存服务器需要)
dnssec-enable yes;
dnssec-validation yes;
/* Path to ISC DLV key */
bindkeys-file /etc/named.iscdlv.key;
managed-keys-directory /var/named/dynamic;
pid-file /run/named/named.pid;
session-keyfile /run/named/session.key;
};
logging {
channel default_debug {
file data/named.run;
severity dynamic;
};
};
// 声明本地回环和局域网访问权限(可选,增强安全)
acl trusted {
127.0.0.1;
192.168.1.0/24; 替换为你自己的内网网段
};
// 修改 allow-query 为 trusted(更安全)
allow-query { trusted; };
// 如果你希望作为缓存服务器,可以添加 forwarders
forwarders {
8.8.8.8;
8.8.4.4;
};
🌐 四、配置区域文件(Zone Files)
1、编辑主配置文件,添加正向和反向区域
在 `/etc/named.conf` 末尾添加:
conf
zone 65.hk IN {
type master;
file 65.hk.zone;
allow-update { none; };
};
zone 1.168.192.in-addr.arpa IN {
type master;
file 192.168.1.rev;
allow-update { none; };
};
💡 `65.hk` 是你要管理的域名,`192.168.1.0/24` 是你的内网网段,反向区域名是倒序的。
2、创建正向区域文件
bash
sudo vi /var/named/65.hk.zone
内容如下:
zone
$TTL 86400
@ IN SOA ns1.65.hk、admin.65.hk、(
2025040501 ; Serial
3600 ; Refresh
1800 ; Retry
604800 ; Expire
86400 ) ; Minimum TTL
; Name Servers
@ IN NS ns1.65.hk.
@ IN NS ns2.65.hk.
; A Records
ns1 IN A 192.168.1.100
ns2 IN A 192.168.1.101
www IN A 192.168.1.200
mail IN A 192.168.1.201
ftp IN A 192.168.1.202
; CNAME 记录
web IN CNAME www.65.hk.
; MX 记录(邮件服务器)
@ IN MX 10 mail.65.hk.
3、创建反向区域文件
bash
sudo vi /var/named/192.168.1.rev
内容如下:
zone
$TTL 86400
@ IN SOA ns1.65.hk、admin.65.hk、(
2025040501 ; Serial
3600 ; Refresh
1800 ; Retry
604800 ; Expire
86400 ) ; Minimum TTL
; Name Servers
@ IN NS ns1.65.hk.
@ IN NS ns2.65.hk.
; PTR 记录(IP → 域名)
100 IN PTR ns1.65.hk.
101 IN PTR ns2.65.hk.
200 IN PTR www.65.hk.
201 IN PTR mail.65.hk.
202 IN PTR ftp.65.hk.
🔐 五、设置权限与语法检查
1、设置文件权限
bash
sudo chown root:named /var/named/65.hk.zone
sudo chown root:named /var/named/192.168.1.rev
sudo chmod 640 /var/named/65.hk.zone
sudo chmod 640 /var/named/192.168.1.rev
2、检查配置语法
bash
CentOS/RHEL
sudo named-checkconf
sudo named-checkzone 65.hk /var/named/65.hk.zone
sudo named-checkzone 1.168.192.in-addr.arpa /var/named/192.168.1.rev
Ubuntu/Debian
sudo named-checkconf
sudo named-checkzone 65.hk /etc/bind/db.65.hk
sudo named-checkzone 1.168.192.in-addr.arpa /etc/bind/db.192.168.1
✅ 若无报错,则配置正确。
▶️ 六、启动服务 & 设置开机自启
CentOS/RHEL:
bash
sudo systemctl start named
sudo systemctl enable named
sudo systemctl status named
Ubuntu/Debian:
bash
sudo systemctl start bind9
sudo systemctl enable bind9
sudo systemctl status bind9
🔍 七、测试 DNS 解析
1、使用 `dig` 或 `nslookup`
bash
dig @localhost www.65.hk
dig @localhost -x 192.168.1.200
nslookup www.65.hk localhost
2、测试反向解析
bash
dig @localhost -x 192.168.1.100
🔒 八、防火墙设置(如启用)
CentOS/RHEL (firewalld):
bash
sudo firewall-cmd add-service=dns permanent
sudo firewall-cmd reload
Ubuntu (ufw):
bash
sudo ufw allow 53
🔄 九、客户端配置(可选)
让局域网内的客户端使用你的 DNS 服务器:
编辑 `/etc/resolv.conf`(临时)或通过 DHCP 分配:
conf
nameserver 192.168.1.100
生产环境中建议通过 DHCP 服务器自动分发 DNS 地址。
📈 十、进阶功能(可选)
配置从服务器(Slave):实现高可用
配置 TSIG 密钥:安全区域传输
启用 DNSSEC:增强安全性
日志监控:`tail -f /var/log/messages` 或 `/var/log/syslog`
Web 管理界面:如 `webmin` 或 `PowerDNS + Admin Panel`
✅ 总结
| 步骤 | 内容 |
| 1 | 安装 BIND |
| 2 | 配置 `named.conf` |
| 3 | 创建正向/反向区域文件 |
| 4 | 权限设置 + 语法检查 |
| 5 | 启动服务 + 开机自启 |
| 6 | 测试解析 |
| 7 | 防火墙开放端口 |
| 8 | 客户端配置 |
📌 注意事项
生产环境不要开放 `allow-query { any; }`,应限制 IP 范围。
区域文件中的 `Serial` 应随每次修改递增(格式推荐 `YYYYMMDDNN`)。
域名注册后需在注册商处设置 NS 记录指向你的 DNS 服务器。
外网 DNS 服务器需有公网 IP 和固定 IP,且需在 ISP 备案(国内)。
📘 参考文档
[ISC BIND 9 Documentation](https://www.isc.org/bind/)
[Red Hat DNS Guide](https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/8/html/configuring_and_managing_networking/configuring-a-dns-server_configuring-and-managing-networking)
[Ubuntu Bind9 HowTo](https://help.ubuntu.com/community/BIND9ServerHowto)
如果你需要搭建从服务器、缓存服务器、或支持 IPv6 的 DNS,也可以告诉我,我可以为你定制详细方案!
是否需要我帮你生成一个完整配置模板?或者针对你的具体网络环境(如公网/内网、域名、IP)定制配置?欢迎继续提问!
📣 商家广告 :
👍
0
👎
IP地址: 18.54.219.170
搜索次数: 0
提问时间: 2025-11-01 22:23:36
🛒 域名购买 :
663.net.cn cisou.com.cn 815.red zhong.tw 3331.top 32.cx 826.net.cn n-f.cn 62.chat mw.gs
❓️ 热门提问 :
天猫代运营网店托管 机房建设项目 香港哪服务器好 全球搜索引擎有哪些 苏州云主机 机柜配电单元 nyc域名 电信机房服务器 公众平台官网注册 个人注册网站域名 豌豆Ai站群搜索引擎系统
🌐 域名评估 :
f.xz.cn tohd.cn uav.jx.cn le.gd.cn vtol.today uu.qh.cn tt.hl.cn spacex.bj.cn y-b.net g.nx.cn
⛏ 最新挖掘 :
凯里酸汤鱼 贵阳烤脑花 都匀毛尖茶 花溪牛肉粉 贵阳烤生蚝 贵阳烤豆腐 贵阳纸包鱼 贵阳特色菜
🖌 热门作画 :
🤝 关于我们:
豌豆Ai
域名
建站
站群
留痕
推广
评估
源码
开发Ai
工具
日记
价格
加盟
广告
流量
留言
联系
🗨 加入群聊 :
🔗 友情链接 :
一站式搜索平台
검색엔진
ai提问
🧰 站长工具 :Ai工具 whois查询 搜索
📢 温馨提示 :本站所有问答由Ai自动创作,内容仅供参考,若有误差请用“联系”里面信息通知我们人工修改或删除。
👉 技术支持 :本站由豌豆Ai 提供技术支持,使用的最新版:《豌豆Ai站群搜索引擎系统 V.25.10.25》搭建本站。