---
canonical: https://koalavps.com/zh/guides-self-host-dns-resolver-on-a-vps/
language: zh
generated: 2026-10-21T13:34:54.966Z
---

[首页](https://koalavps.com/zh/) / [探索](https://koalavps.com/zh/resources/) /  KoalaVPS 现场笔记

KoalaVPS 现场笔记

# 为您的设备提供解析器，而非开放放大器。

当访问被有意限制时，私有 DNS 解析器可让你掌控解析与过滤。

[找到你的 VPS](https://koalavps.com/zh/vps/)

## 本文档内容

[选择角色](https://koalavps.com/zh/guides-self-host-dns-resolver-on-a-vps/#section-1)[保持私密](https://koalavps.com/zh/guides-self-host-dns-resolver-on-a-vps/#section-2)[设置日志策略](https://koalavps.com/zh/guides-self-host-dns-resolver-on-a-vps/#section-3)[测试多个名称](https://koalavps.com/zh/guides-self-host-dns-resolver-on-a-vps/#section-4)[证明陌生人无法查询它](https://koalavps.com/zh/guides-self-host-dns-resolver-on-a-vps/#section-5)[保持加密 DNS 声明的准确性](https://koalavps.com/zh/guides-self-host-dns-resolver-on-a-vps/#section-6)[在开放端口前选择解析器链](https://koalavps.com/zh/guides-self-host-dns-resolver-on-a-vps/#section-7)[回环 Unbound 起点](https://koalavps.com/zh/guides-self-host-dns-resolver-on-a-vps/#section-8)[从两个网络运行验收清单](https://koalavps.com/zh/guides-self-host-dns-resolver-on-a-vps/#section-9)[诊断超时、循环和验证失败](https://koalavps.com/zh/guides-self-host-dns-resolver-on-a-vps/#section-10)[知识库](https://koalavps.com/zh/resources/)

## 选择角色

Unbound 等递归解析器和 AdGuard Home 等过滤界面解决相关但不同的问题。决定服务是自行递归还是转发到上游，并了解哪一方能看到查询。

## 保持私密

不受限制的公共解析器可能被滥用于反射攻击。请绑定到专用网络或仅允许授权来源，包括 IPv6。如果使用加密的 DNS，请进行身份验证或以其他方式适当限制访问，而不要假定 HTTPS 会使其变为私有。

## 设置日志策略

DNS 查询可能泄露敏感的浏览和应用程序活动。禁用不必要的保留，保护你保留的记录，并向用户说明范围。加密传输保护的是路径；它并不能阻止解析器本身看到查询。

## 测试多个名称

在启用的情况下验证 DNSSEC 行为、IPv4 和 IPv6 结果、过滤例外以及上游失败时的恢复。保留一种安全的访问修复方式，不要完全依赖你正在修复的解析器。

## 证明陌生人无法查询它

将解析器绑定到预期接口，定义允许的客户端范围并限制防火墙。在重启前验证配置。从授权客户端查询，然后从受信任网络外部重复：该请求应被拒绝或超时。单独检查 IPv6。接受任意互联网查询的解析器可能成为滥用来源。

- 在应用更改前运行配置验证器

- 测试一个允许的客户端和一个被拒绝的客户端

- 保持详细查询诊断的临时性

```
unbound-checkconf
```

官方文档：[未绑定的访问控制配置](https://unbound.docs.nlnetlabs.nl/en/latest/manpages/unbound.conf.html)

## 保持加密 DNS 声明的准确性

DNS-over-HTTPS 或 DNS-over-TLS 会加密特定的传输路径。解析器仍会收到查询，而转发解析器可以将其传递给另一家运营商。审查上游选择和保留策略。如果你公开加密解析器端点，请使其访问策略像普通 DNS 端口一样审慎。

## 在开放端口前选择解析器链

一种实用的私有设计是让 VPN 客户端查询 AdGuard Home，再由 AdGuard 转发到回环地址上的 Unbound。随后由 Unbound 执行递归；AdGuard 提供过滤和管理界面。或者仅使用 Unbound 以减小技术栈。为每个监听器分配不同的地址/端口，并明确转发方向：将 Unbound 指回 AdGuard 会形成循环。在发布任何内容之前，先确定哪些私有客户端可以使用该服务。

- 除非有明确的授权客户端策略，否则保持公共入站 TCP 和 UDP 53 关闭。

- 为过滤接口和 DNS 监听器设置独立的访问规则。

- 安装前请检查端口占用情况；现有的系统解析器可能已经绑定了目标地址。

官方文档：[AdGuard Home 设置](https://github.com/AdguardTeam/AdGuardHome/wiki/Getting-Started)

## 回环 Unbound 起点

在已安装 Unbound 的系统上，以下片段演示仅可在主机上访问的后端。请将其与发行版配置集成，而不要覆盖软件包设置或信任锚管理。高位端口可让另一个 DNS 前端使用端口 53。请验证完整的有效文件，然后通过已安装的服务管理器重新加载。远程客户端需要单独控制的隧道或前端；此片段有意不创建公共解析器。

```
server:
interface: 127.0.0.1
port: 5335
access-control: 127.0.0.0/8 allow
access-control: 0.0.0.0/0 refuse
access-control: ::0/0 refuse

# Validate the complete installed configuration:
unbound-checkconf
```

官方文档：[Unbound 配置参考](https://unbound.docs.nlnetlabs.nl/en/latest/manpages/unbound.conf.html)

## 从两个网络运行验收清单

先在本地查询后端，再走常规客户端路径。检查普通 A/AAAA 记录、一个故意不存在的名称，并使用有文档记录的测试域验证 DNSSEC。从允许子网之外的机器重复测试：它不得获得递归服务。检查浏览器是否使用自己的加密解析器并绕过已配置的设备 DNS。更改期间保留一个临时的独立解析器，以免 DNS 错误移除你的管理路径。

- 本地诊断：dig @127.0.0.1 -p 5335 example.org A

- 检查 UDP 和 TCP 可达性，以及 IPv6 监听器。

- 确认过滤例外，并仅记录实际需要的诊断信息。

## 诊断超时、循环和验证失败

前端超时但本地后端正常，说明问题可能出在前端地址、防火墙或转发目标。反复的自主查询可能意味着循环。大范围 DNSSEC 失败可能涉及系统时间不正确或信任锚维护；应修复原因，而不是让验证保持禁用。如果只有大型响应失败，请排查 TCP 回退和网络路径。查询日志应保持临时启用，并在让解析器成为所有设备的依赖之前，测试重启和配置恢复。

继续探索

## 继续阅读。

[网络 ### 网络应当能自我说明。 了解北欧地区的选择、端口速度与实际吞吐量之间的区别，以及托管网络应公布哪些证据。…](https://koalavps.com/zh/network/)[法律 ### 隐私政策——更少记录，清晰理由。 了解账户、支付和技术记录，为什么可能需要它们，以及应就访问和保留提出哪些问题。适用政策必须指明数据控制者和实际发生的处理。…](https://koalavps.com/zh/privacy/)[指南 ### 用途明确的私有隧道。 WireGuard 可以将你的设备连接到服务器或专用网络。其优势取决于正确的路由、DNS 和端点安全。…](https://koalavps.com/zh/guides-wireguard-vpn-on-a-vps/)

配置您的基础设施

## 掌控一切。 按你的条件部署。

无需身份文件。完整管理员权限。原生加密货币计费。

[选择配置](https://koalavps.com/zh/vps/)
