网络工程 · 3 12 月, 2025 0

mDNS:局域网里的“零配置DNS”,它和LLMNR有什么不同?

在现代网络中,设备发现和名称解析是基础功能。我们熟悉的 DNS 解决了全球范围的域名解析,但在一个没有 DNS 服务器的小型网络里,怎么办?

除了 LLMNR,还有一个更常见的协议:mDNS(Multicast DNS)

✅ 什么是 mDNS?

mDNS,全称 Multicast DNS,顾名思义,它通过组播在局域网内解析域名,通常使用 .local 作为后缀。一句话解释:

mDNS 是一种零配置协议,让设备在没有 DNS 服务器的情况下,通过组播解析域名并发现服务。

它的典型应用场景:

  • Apple 的 Bonjour 服务
  • 智能家居设备自动发现
  • 打印机、IoT 设备无需手动配置

组播地址和端口:

  • IPv4:224.0.0.251
  • IPv6:FF02::FB
  • 端口:UDP 5353

✅ mDNS 的工作方式(简单例子)

假设你有一台智能打印机,名字叫 printer.local

  • 打印机启动后,会主动通过 mDNS 发送组播:“我叫 printer.local,我提供打印服务在端口 631”。
  • 你的电脑如果支持 mDNS(比如 macOS、Linux 上的 Avahi),就能自动发现并解析这个名字,无需手动配置 DNS。

这就是 mDNS 的核心:主动广播服务信息 + 响应查询

✅ 和 LLMNR 的区别

虽然 mDNS 和 LLMNR 都解决“没有 DNS 时如何解析名字”的问题,但它们的设计理念和行为不同:

特性 LLMNR mDNS
名称后缀 主机名(无域名) 通常 .local 域名
查询方式 组播查询,被动响应 组播查询,主动广播服务信息
协议端口 UDP/TCP 5355 UDP 5353
应用场景 Windows 局域网名称解析 跨平台设备发现(Bonjour、IoT)
安全风险 易被利用进行 MITM 攻击 也可能被伪造,但更常用于家庭/IoT网络

一句话总结:

LLMNR 是“有人问才回答”,mDNS 是“有人问也回答,还主动告诉大家我能干什么”。

✅ 安全注意

mDNS 和 LLMNR 都有安全隐患:

  • 攻击者可以伪造响应,诱导流量或窃取凭据。
  • 在企业网络中,通常建议禁用 LLMNR,并对 mDNS 进行隔离或限制。

总结

mDNS 是局域网设备发现的好帮手,尤其在智能家居和零配置场景中。但在安全敏感的网络里,必须谨慎使用。如果你看到 UDP 5353 的流量,那就是 mDNS 在工作。