🗣 Wd提问: linux dns 服务器
🤖 Ai回答: 在 Linux 上搭建 DNS 服务器是网络管理的核心任务之一。最常用的软件是 BIND (Berkeley Internet Name Domain),它是行业标准、功能最强大的开源 DNS 服务器软件。以下是一个清晰、实用、分步骤的指南,涵盖从安装到测试的全过程:
一、核心概念快速理解
* 权威 DNS 服务器:管理特定域名(如 `65.hk`)的记录,回答“这个域名对应哪个 IP?”(企业内网/公网域名托管常用)。
* 递归 DNS 服务器:代表客户端查询整个 DNS 树(如查询 `google.com`),最终返回结果(类似公共 DNS `8.8.8.8` 的功能)。
* 本教程重点:搭建 权威 DNS 服务器(管理自己的域名)和 递归 DNS 服务器(为内网提供解析服务)。
二、使用 BIND9 搭建 DNS 服务器(以 Ubuntu/Debian 为例)
步骤 1:安装 BIND9
bash
sudo apt update
sudo apt install bind9 bind9utils bind9-doc -y
* `bind9`:核心服务
* `bind9utils`:包含 `dig`, `nslookup`, `rndc` 等工具
* `bind9-doc`:文档(可选,但推荐)
步骤 2:关键配置文件位置
| 文件路径 | 作用 |
| : | :|
| `/etc/bind/named.conf` | 主配置文件(通常只包含 include 语句) |
| `/etc/bind/named.conf.options` | 全局选项(监听 IP、递归设置、转发器等) |
| `/etc/bind/named.conf.local` | 自定义区域配置(添加你的正向/反向区域) |
| `/etc/bind/named.conf.default-zones` | 默认根区和 localhost 区(通常无需修改) |
| `/var/lib/bind/` | 区域文件存储目录(推荐放这里,SELinux/AppArmor 友好) |
步骤 3:配置递归 DNS 服务器(为内网提供解析)
目标:让内网客户端(如 `192.168.1.0/24`)能通过此服务器查询外网域名(如 `google.com`)。
1、 编辑 `/etc/bind/named.conf.options`:
bash
sudo nano /etc/bind/named.conf.options
2、 关键配置项:
apache
options {
directory /var/cache/bind;
// 允许内网客户端查询 (关键!)
allow-query { 192.168.1.0/24; localhost; };
// 开启递归查询 (关键!)
recursion yes;
// 可选:指定上游 DNS(转发器),提升速度/隐私
forwarders {
8.8.8.8; // Google DNS
1.1.1.1; // Cloudflare DNS
};
// 重要安全设置:禁止公开递归(防被滥用做 DDoS)
allow-recursion { 192.168.1.0/24; localhost; };
allow-query-cache { 192.168.1.0/24; localhost; };
dnssec-validation auto;
auth-nxdomain no; 与 RFC 兼容
listen-on-v6 { any; }; 监听 IPv6(按需)
};
* `allow-query`:谁可以向我发起查询(必须限制内网 IP)
* `recursion yes`:开启递归功能
* `allow-recursion`:谁可以要求我递归查询(必须与 `allow-query` 一致)
步骤 4:配置权威 DNS 服务器(管理自己的域名)
目标:管理域名 `65.hk`,让内网/外网能解析 `www.65.hk` 到 `192.168.1.100`。
4.1 添加正向区域(域名 → IP)
1、 编辑 `/etc/bind/named.conf.local`:
bash
sudo nano /etc/bind/named.conf.local
2、 添加区域声明:
apache
zone 65.hk {
type master; 主 DNS 服务器
file /var/lib/bind/db.65.hk; 区域文件路径
allow-transfer { none; }; 禁止区域传输(安全)
};
4.2 创建正向区域文件
bash
sudo nano /var/lib/bind/db.65.hk
dns
; TTL (缓存时间)
$TTL 86400
; SOA 记录 (起始授权机构 必须第一行)
@ IN SOA ns1.65.hk、admin.65.hk、(
2024052001 ; Serial (格式: YYYYMMDDNN)
3600 ; Refresh
1800 ; Retry
604800 ; Expire
86400 ) ; Min TTL
; Nameserver 记录
@ IN NS ns1.65.hk.
@ IN NS ns2.65.hk、; 备用 DNS
; A 记录 (主机名 → IPv4)
ns1 IN A 192.168.1.10 ; 本机 IP
ns2 IN A 192.168.1.11 ; 备用 DNS IP
www IN A 192.168.1.100
mail IN A 192.168.1.50
@ IN A 192.168.1.100 ; 65.hk = www
; CNAME 记录 (别名)
ftp IN CNAME www
; MX 记录 (邮件服务器)
@ IN MX 10 mail.65.hk.
4.3 添加反向区域(IP → 域名,可选但推荐)
1、 编辑 `/etc/bind/named.conf.local`:
apache
zone 1.168.192.in-addr.arpa { 反向区域格式:IP倒序.in-addr.arpa
type master;
file /var/lib/bind/db.192.168.1;
allow-transfer { none; };
};
2、 创建反向区域文件:
bash
sudo nano /var/lib/bind/db.192.168.1
dns
$TTL 86400
@ IN SOA ns1.65.hk、admin.65.hk、(
2024052001 ; Serial
3600
1800
604800
86400 )
@ IN NS ns1.65.hk.
@ IN NS ns2.65.hk.
; PTR 记录 (IP最后一位 → 主机名)
10 IN PTR ns1.65.hk.
11 IN PTR ns2.65.hk.
100 IN PTR www.65.hk.
50 IN PTR mail.65.hk.
步骤 5:验证配置 & 重启服务
bash
检查 named.conf 语法
sudo named-checkconf
检查区域文件语法 (替换为你的真实文件名)
sudo named-checkzone 65.hk /var/lib/bind/db.65.hk
sudo named-checkzone 1.168.192.in-addr.arpa /var/lib/bind/db.192.168.1
重启 BIND 服务
sudo systemctl restart bind9
查看状态 (确认无报错)
sudo systemctl status bind9
三、客户端测试 DNS 服务器
方法 1:使用 `dig` (推荐)
bash
查询本机是否响应递归查询
dig @localhost google.com
查询权威记录 (必须指定权威服务器 IP)
dig @192.168.1.10 65.hk
测试反向解析
dig -x 192.168.1.100 @localhost
* 关键观察点:
* `ANSWER SECTION`:是否有正确结果
* `SERVER`:是否来自你的 DNS 服务器
* `flags: qr rd ra`:`ra` 表示递归可用(递归服务器测试)
方法 2:配置客户端使用此 DNS
1、 在客户端(如 Windows/Linux)的网络设置中,将 DNS 服务器地址设为 `192.1
📣 商家广告 :
👍
0
👎
IP地址: 244.127.161.169
搜索次数: 1
提问时间: 2025-11-09 03:17:59
🛒 域名购买 :
yxxg.cn 3qk.cn w-p.cn qz.gs shusou.com.cn wangsou.com.cn f.cq.cn 352.net.cn 827.net.cn 03.gold
❓️ 热门提问 :
域名批量注册 韩国vps适合做站吗 ip具体指什么 关键词搜索引擎平板 监控主机机柜 如何清空云空间 厉害的搜索引擎 机房防鼠板一般需要多高 站群程序搭建服务公司案例 电子商务网站建设的核心是什么 豌豆Ai站群搜索引擎系统
🌐 域名评估 :
qw.gs catl.club aaaa.jx.cn vtoltower.com musk.tax tab.ltd rr.tj.cn evtol.nx.cn pwtr.cn q.sd.cn
⛏ 最新挖掘 :
凯里酸汤鱼 贵阳烤脑花 都匀毛尖茶 花溪牛肉粉 贵阳烤生蚝 贵阳烤豆腐 贵阳纸包鱼 贵阳特色菜
🖌 热门作画 :
🤝 关于我们:
豌豆Ai
域名
建站
站群
留痕
推广
评估
源码
开发Ai
工具
日记
价格
加盟
广告
流量
留言
联系
🗨 加入群聊 :
🔗 友情链接 :
北京网络推广
Motor de búsqueda
ai提问
🧰 站长工具 :Ai工具 whois查询 搜索
📢 温馨提示 :本站所有问答由Ai自动创作,内容仅供参考,若有误差请用“联系”里面信息通知我们人工修改或删除。
👉 技术支持 :本站由豌豆Ai 提供技术支持,使用的最新版:《豌豆Ai站群搜索引擎系统 V.25.10.25》搭建本站。