🗣 Wd提问: 搭建域名服务器
🤖 Ai回答: 搭建域名服务器(DNS服务器)是一项网络管理中的重要任务,常用于企业内网解析、自建网站服务或学习网络原理。以下是使用 BIND9(最常用的开源DNS服务器软件)在 Linux系统(以Ubuntu为例) 上搭建一个基本的主域名服务器(Primary DNS Server)的完整步骤。
一、准备工作
1、系统环境
操作系统:Ubuntu 20.04 / 22.04 LTS(或其他Linux发行版)
用户权限:具备 `sudo` 权限
静态IP地址(例如:`192.168.1.100`)
二、安装 BIND9
bash
sudo apt update
sudo apt install bind9 bind9utils bind9-doc -y
注:`bind9` 是DNS服务程序,`bind9utils` 包含测试工具如 `nslookup`, `dig`。
三、配置 BIND9
1、修改主配置文件 `/etc/bind/named.conf.local`
bash
sudo nano /etc/bind/named.conf.local
添加以下内容(示例域名为 `65.hk`):
conf
zone 65.hk {
type master;
file /etc/bind/db.65.hk;
};
zone 1.168.192.in-addr.arpa {
type master;
file /etc/bind/db.192;
};
说明:
第一个是正向解析区(域名 → IP)
第二个是反向解析区(IP → 域名),用于PTR记录
2、创建正向区域文件 `db.65.hk`
复制模板:
bash
sudo cp /etc/bind/db.local /etc/bind/db.65.hk
sudo nano /etc/bind/db.65.hk
修改内容如下:
dns
$TTL 86400
@ IN SOA ns1.65.hk、admin.65.hk、(
2024050101 ; 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
@ IN A 192.168.1.10
www IN A 192.168.1.20
mail IN A 192.168.1.30
; CNAME 示例
ftp IN CNAME www.65.hk.
3、创建反向区域文件 `db.192`
bash
sudo cp /etc/bind/db.127 /etc/bind/db.192
sudo nano /etc/bind/db.192
修改内容:
dns
$TTL 86400
@ IN SOA ns1.65.hk、admin.65.hk、(
2024050101
3600
1800
604800
86400 )
; Name Servers
@ IN NS ns1.65.hk.
@ IN NS ns2.65.hk.
; PTR Records (IP最后一位 → 主机名)
100 IN PTR ns1.65.hk.
101 IN PTR ns2.65.hk.
10 IN PTR server.65.hk.
20 IN PTR www.65.hk.
30 IN PTR mail.65.hk.
4、设置权限
bash
sudo chown bind:bind /etc/bind/db.65.hk /etc/bind/db.192
四、修改主配置允许查询(可选)
编辑 `/etc/bind/named.conf.options`:
bash
sudo nano /etc/bind/named.conf.options
在 `options { }` 中添加:
conf
allow-query { localhost; 192.168.1.0/24; };
recursion no; 关闭递归查询(更安全)
如果你希望作为内部递归DNS,可开启:
conf
recursion yes;
allow-recursion { 192.168.1.0/24; };
五、检查配置并重启服务
bash
检查配置语法
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
重启BIND服务
sudo systemctl restart bind9
sudo systemctl enable bind9
六、测试DNS服务器
1、使用 `dig` 测试正向解析
bash
dig @192.168.1.100 www.65.hk A
预期输出包含:
;; ANSWER SECTION:
www.65.hk、 86400 IN A 192.168.1.20
2、反向解析测试
bash
dig @192.168.1.100 -x 192.168.1.20
应返回:
;; ANSWER SECTION:
20.1.168.192.in-addr.arpa、86400 IN PTR www.65.hk.
3、使用 `nslookup`
bash
nslookup mail.65.hk 192.168.1.100
七、客户端设置DNS
将其他设备的DNS设置为你的DNS服务器IP(如 `192.168.1.100`),即可使用自定义域名访问内网服务。
八、进阶建议
| 功能 | 建议 |
| 安全性 | 使用防火墙限制53端口访问,关闭递归查询(对外时) |
| 高可用 | 搭建从DNS(Slave),使用 `type slave` 和 `masters` |
| 日志 | 查看 `/var/log/syslog` 或配置 `logging` 子句 |
| 动态更新 | 可结合 DHCP 和 `nsupdate` 实现 |
常见问题排查
服务无法启动:检查配置语法和文件权限
无法解析:确认防火墙是否放行UDP/TCP 53端口
Serial未更新:修改区域文件后记得增加Serial号,否则从服务器不会同步
✅ 至此,你已成功搭建了一个基础的DNS服务器!
如果你有具体需求(如公网DNS、子域授权、DNSSEC等),欢迎继续提问,我可以提供更详细的配置方案。
📣 商家广告:





0
IP地址: 207.34.63.211
搜索次数: 0
提问时间: 2025-10-28 15:02:46
🛒 域名购买:
836.net.cn
ww.fj.cn
sou.gg
qw.gs
jgfc.cn
xm6.net
mw.gs
al3.net
wt.cx
54.gold
❓️ 热门提问:
linode 服务器
电子邮箱地址是什么东西怎么注册
代理服务器SwitchyOmega
云服务器远程桌面
vps6001
android切换ip
重庆 服务器
云计算培训培训班
服务器十大品牌排行榜
php环境搭建规范
豌豆Ai站群搜索引擎系统
🌐 域名评估:
f.xz.cn
musk.green
vtol.jl.cn
g.he.cn
sun.nx.cn
qiuche.com
xedq.cn
e-d.cn
wangai.net
su8.hi.cn
⛏ 最新挖掘:
凯里酸汤鱼
贵阳烤脑花
都匀毛尖茶
花溪牛肉粉
贵阳烤生蚝
贵阳烤豆腐
贵阳纸包鱼
贵阳特色菜
🖌 热门作画:
🤝 关于我们:
豌豆Ai
域名
建站
站群
留痕
推广
评估
源码
开发Ai
工具
日记
价格
加盟
广告
流量
留言
联系
🗨 加入群聊:
🔗 友情链接:
贵阳用友政务
검색 엔진 개발
ai提问
🧰 站长工具:
Ai工具 whois查询 搜索
📢 温馨提示:本站所有问答由Ai自动创作,内容仅供参考,若有误差请用“联系”里面信息通知我们人工修改或删除。
👉 技术支持:本站由豌豆Ai提供技术支持,使用的最新版:《豌豆Ai站群搜索引擎系统 V.25.10.25》搭建本站。