速云网络返回首页

DNS port 是什么?DNS 使用哪个端口?

更新于 2026-10-31 · suyungo.buzz

简答:DNS port 通常指 DNS 服务通信使用的端口:传统 DNS 默认使用 UDP 53,必要时回退到 TCP 53;DNS over TLS 使用 TCP 853,DNS over HTTPS 通常通过 HTTPS 443,局域网多播 DNS 使用 UDP 5353。配置防火墙时,普通 DNS 服务通常要同时考虑 UDP 53 和 TCP 53,但客户端发起查询时使用的源端口往往是随机高位端口。

定义:DNS port 是 DNS 客户端、DNS 服务器或相关解析协议收发 DNS 查询与响应时使用的传输层端口号。

先看端口对照表:你需要放行哪个 DNS port?

如果你只是配置普通 DNS,先记住最短结论:UDP 53 是常规查询的首选,TCP 53 是重要的备用和传输通道。使用加密 DNS 时,端口会随协议变化。

协议或场景常见端口传输方式主要用途
传统单播 DNS53UDP大多数普通域名查询
传统单播 DNS53TCP响应过大、截断后重试、区域传输等场景
DNS over TLS(DoT)853TCP通过 TLS 加密 DNS 查询
DNS over HTTPS(DoH)443HTTPS/TLS把 DNS 查询放进 HTTPS 请求中
Multicast DNS(mDNS)5353UDP局域网设备发现和 .local 名称解析

传统 DNS 的 UDP 53 和 TCP 53 依据 Microsoft 对 DNS 网络端口的说明;DoT 的默认 TCP 853 见 RFC 7858;DoH 基于 HTTPS,默认 HTTPS 端口通常为 443,协议定义见 RFC 8484;mDNS 使用 UDP 5353,见 RFC 6762。

DNS 查询时,服务器端口和客户端源端口不是一回事

最容易混淆的是“DNS 使用 53 端口”和“电脑本地也必须固定使用 53 端口”。两者并不相同。

  1. 客户端先生成一个 DNS 查询,并从本机的临时高位源端口发出。
  2. 查询的目标通常是 DNS 服务器的 53 端口,例如 UDP 目标端口 53。
  3. DNS 服务器从源端口 53 返回响应。
  4. 客户端根据此前建立的通信信息,把响应交给发起查询的程序。

Microsoft 文档列出的常见 Windows DNS 通信方式是:查询从随机高位源端口发往目标端口 53,响应则从 DNS 服务器的 53 端口返回客户端的高位目标端口。不同操作系统、客户端和网络设备的临时端口范围可能不同,因此不应把客户端源端口硬编码成 53。

位置典型端口含义
DNS 服务器监听端口53等待传统 DNS 查询
客户端查询源端口随机高位端口由系统或解析器临时分配
客户端查询目标端口53DNS 服务器接收查询的位置
DNS 服务器响应源端口53传统 DNS 服务器返回响应的位置

为什么普通 DNS 不只需要 UDP 53?

UDP 没有建立连接的额外过程,报文开销较小,因此适合大多数普通 DNS 查询。但 DNS 响应可能因为记录数量、DNSSEC 或其他扩展信息而变大。当 UDP 响应无法完整装下时,响应可能带有截断标记,客户端需要改用 TCP 53 重新查询。

TCP 53 还用于 DNS 服务器之间的区域传输等需要可靠传输的场景。Microsoft 的 DNS 端口说明同时列出了 UDP 53 和 TCP 53;其服务端口文档也将 DNS 服务对应到 UDP 53 和 TCP 53。因此,防火墙只放行 UDP 53,可能导致部分域名或特定 DNS 操作失败。

实用结论:如果你管理的是 DNS 服务器、路由器出口策略或企业防火墙,通常应分别检查出站和入站的 UDP 53、TCP 53,而不是只检查 UDP 53。

DoT 853、DoH 443 和普通 DNS 53 有什么区别?

比较项传统 DNSDoTDoH
常见端口UDP/TCP 53TCP 853HTTPS 443
是否加密传输默认不加密通过 TLS 加密通过 HTTPS/TLS 加密
配置重点DNS 地址和 53 端口服务器地址、TLS 主机名和 853DoH URL、HTTPS 连接和 443
排查重点UDP/TCP 53 是否被拦截TCP 853 和证书握手是否正常HTTPS 443、URL 和 TLS 是否正常

DoT 是在 TCP 853 上建立 TLS 连接,RFC 7858 明确规定默认使用 TCP 853,且该端口不应传输明文 DNS。DoH 则把 DNS 查询和响应映射到 HTTP 交换中,使用 HTTPS 的安全传输能力;因此看到 443 并不代表它一定是普通网页访问,也可能承载 DoH。

需要注意的是,加密传输和 DNSSEC 解决的问题不同:DoT、DoH 主要保护客户端与解析服务之间的传输过程,DNSSEC 主要用于验证 DNS 数据的来源和完整性,不能简单把两者视为同一种功能。

mDNS 为什么使用 UDP 5353?

mDNS 是 Multicast DNS 的缩写,主要服务于局域网内的设备发现,例如查找带有 .local 名称的设备或配合局域网服务发现。它不是普通互联网单播 DNS 的另一个写法,而是使用链路本地多播地址和 UDP 5353 的独立机制。

RFC 6762 指定 mDNS 使用 UDP 5353,并规定相关查询和响应发送到 mDNS 多播地址。普通 DNS 服务器通常监听单播 53 端口,不能因为 53 可用就自动替代局域网 mDNS。

如果局域网打印机、共享设备或本地服务发现失败,可以检查网络是否允许局域网多播以及 UDP 5353;但不要为了修复普通域名解析,随意把所有公网 DNS 请求改发到 5353。

防火墙配置 DNS port 的最短操作流程

下面的流程适用于你正在配置个人电脑、路由器、服务器或企业网络出口的情况。菜单名称会因系统和防火墙产品版本不同而变化,以下是通用判断路径。

  1. 先确认使用的协议:普通 DNS 检查 UDP 53 和 TCP 53;DoT 检查 TCP 853;DoH 检查 HTTPS 443;局域网 mDNS 检查 UDP 5353。
  2. 确认方向:客户端通常需要允许向 DNS 服务器发起出站连接;DNS 服务器还需要允许对应端口的入站请求。不要只看端口号而忽略入站、出站和接口范围。
  3. 确认目标地址:把规则限定到实际使用的 DNS 服务器或可信网络范围,避免为了测试而长期放开所有来源。
  4. 先测试 UDP,再测试 TCP:普通查询通常先走 UDP 53;如果 UDP 查询失败或响应被截断,再检查 TCP 53。
  5. 记录失败位置:如果 UDP 53 超时,重点看出站规则、路由器和 DNS 地址;如果 UDP 成功但 TCP 53 失败,重点看 TCP 防火墙规则或服务器监听状态。

如果网络环境强制使用加密 DNS,则不要把“53 端口可用”当成 DoT 或 DoH 可用的证明;它们需要分别验证 853 或 443 以及对应的 TLS/HTTPS 配置。

用 nslookup、dig 和系统命令验证 DNS 通信

验证时建议先做名称解析,再按协议检查端口。命令只负责观察当前结果,不代表某个 DNS 服务永久可用。

Windows:使用 nslookup 检查解析

在命令提示符或 PowerShell 中运行:

nslookup example.com

观察是否返回 DNS 服务器地址和解析结果。如果需要指定 DNS 服务器,可运行:

nslookup example.com 1.1.1.1

如果解析超时,继续检查 DNS 地址、网络出口以及 UDP 53;不要仅凭浏览器打不开网页就断定是 DNS 53,因为网页本身还涉及 TCP 或 TLS 连接。

Linux 或 macOS:使用 dig 区分 UDP 和 TCP

默认查询通常使用 UDP:

dig @1.1.1.1 example.com

强制使用 TCP 53:

dig +tcp @1.1.1.1 example.com

如果默认查询成功而 +tcp 失败,说明需要进一步检查 TCP 53 的路径、防火墙和 DNS 服务器监听情况。

Windows:测试 TCP 端口

PowerShell 可以测试 TCP 连接:

Test-NetConnection 1.1.1.1 -Port 53

该命令主要验证 TCP 53,不等于验证 UDP 53。UDP 是否可用,仍应结合 nslookup、抓包工具或防火墙日志判断。

Linux:查看本机套接字

如果你管理 DNS 服务,可使用:

ss -lntup | grep ':53'

它用于查看本机是否有进程监听与 53 相关的 TCP 或 UDP 套接字。若没有输出,不代表远端 DNS 不可用,只说明当前机器可能没有本地 DNS 服务监听 53。

DNS port 常见误区与安全边界

  • 误区一:DNS 53 等于网站 53。 DNS 53 是名称解析通信端口,不是网页服务端口。HTTP 常见端口是 80,HTTPS 常见端口是 443;解析域名和访问网站是两个不同步骤。
  • 误区二:只开放 UDP 53 就足够。普通查询常用 UDP,但响应过大、区域传输或回退场景可能需要 TCP 53。
  • 误区三:客户端必须固定使用源端口 53。多数客户端使用临时高位源端口,目标 DNS 服务器才通常是 53。
  • 误区四:DoH 一定能从端口号看出来。DoH 使用 HTTPS 443,与普通网页共享常见端口,仅看 443 不能确认具体应用。
  • 误区五:DNS 端口改了就能解决所有连接问题。域名解析成功后,还要继续建立到目标服务的连接;延迟、丢包、MTU、路由和客户端策略都可能造成后续连接失败。

安全上,DNS 服务器不应无条件向互联网开放递归服务。配置规则时应限制来源、接口和用途,并通过日志确认实际流量;这里只讨论端口和排查方法,不替代具体防火墙产品的安全策略。

常见问题

DNS port 默认是多少?

传统 DNS 默认使用 53 端口,并同时涉及 UDP 53 和 TCP 53。普通查询通常优先使用 UDP,遇到响应过大或需要可靠传输的场景可能使用 TCP。

防火墙只放行 UDP 53 可以吗?

不建议把它作为完整配置。普通 DNS 常用 UDP 53,但 TCP 53 可能用于截断响应后的重试、较大响应以及区域传输。管理 DNS 服务或出口防火墙时,应按实际方向分别检查 UDP 53 和 TCP 53。

DoT 和 DoH 分别使用哪个端口?

DoT 默认使用 TCP 853;DoH 通过 HTTPS 传输,通常使用 HTTPS 的 443 端口。具体是否启用,还要看客户端和 DNS 服务的配置。

5353 是普通 DNS 端口吗?

不是。UDP 5353 通常用于 Multicast DNS,也就是 mDNS,主要面向局域网设备发现和 .local 名称解析;普通单播 DNS 通常使用 53。

为什么 nslookup 能解析,但网页仍然打不开?

nslookup 主要证明某个域名解析请求得到响应,不等于后续网页连接成功。网页访问还涉及目标 IP 的路由、TCP 或 QUIC、TLS、代理、MTU 和丢包等因素,建议把 DNS 解析和后续连接分开测试。

如何确认 TCP 53 是否可用?

Linux 或 macOS 可以用 <code>dig +tcp @DNS服务器 域名</code>;Windows PowerShell 可以用 <code>Test-NetConnection DNS服务器 -Port 53</code>。后者主要测试 TCP,不代表 UDP 53 一定可用。

相关阅读

参考资料

  1. Microsoft Learn:Network Ports Used by DNS
  2. IETF RFC 7858:Specification for DNS over Transport Layer Security
  3. IETF RFC 8484:DNS Queries over HTTPS
  4. IETF RFC 6762:Multicast DNS