mDNS 是什么(局域网 mDNS)

IT 技术 15 阅读 更新于 2026-10-02 17:01

mDNS 是什么(局域网 mDNS)

mDNS = Multicast DNS,多播域名系统,是在局域网内(同一个子网,不用路由器公网DNS)工作的轻量DNS协议,核心作用:在局域网里,不用记IP地址,直接用域名访问设备。

标准DNS是单播,要找DNS服务器;mDNS是多播,不需要单独DNS服务器,设备自己广播、互相发现。
mDNS域名固定后缀:.local,这是标志性特征。

简单例子

同一个WiFi/局域网里:

  • 你的Mac电脑主机名 MacBook.local
  • 树莓派 raspberrypi.local
  • 打印机、NAS、HomeAssistant、苹果AirPlay、Chromecast都大量用mDNS

你直接在浏览器/ssh输入 raspberrypi.local,mDNS会自动解析成它的局域网IP,不用手动查192.168.x.x。

工作原理(一句话版)

  1. 局域网内设备开机,向224.0.0.251(IPv4多播地址)/ FF02::FB(IPv6)广播宣告:“我的名字xxx.local,IP是xxx”
  2. 同局域网所有支持mDNS的设备都会收到这条消息,存入本地缓存
  3. 当你访问 xxx.local,设备在局域网内多播查询,其他设备应答,拿到IP

和配套协议:DNS-SD

mDNS常和 DNS-SD(DNS Service Discovery,DNS服务发现)一起使用,很多人混叫mDNS。

  • mDNS:解析名字→IP(域名解析)
  • DNS-SD:发现有什么服务,比如局域网有哪些打印机、视频串流、网页服务

AirDrop、AirPlay、打印机自动发现、HomeKit、Avahi、Bonjour 底层就是 mDNS+DNS-SD

  • Bonjour:苹果实现的mDNS+DNS-SD
  • Avahi:Linux下开源实现(树莓派常用)

特点

✅ 优点

  1. 无中心服务器,路由器不需要特殊设置,设备之间互相通信
  2. 即插即用,设备接入局域网自动被发现
  3. IPv4、IPv6都支持

⚠️ 限制(重点,只在同一广播域)

  1. 默认不能跨网段/跨VLAN。路由器默认不转发多播包,所以A网段的mDNS广播到不了B网段;跨网段要用mDNS中继(Avahi reflector、mdns-repeater)
  2. 只适用于局域网,.local 域名公网不能解析
  3. 多播会产生少量局域网广播流量,大量设备环境下会增加网络负载

常见应用场景

  • 苹果生态:AirDrop、AirPlay、隔空打印
  • 智能家居:HomeKit设备发现
  • 嵌入式设备:树莓派、ESP32、NAS
  • 局域网打印机自动搜索
  • 服务发现:在局域网自动列出所有可用web服务

Windows注意

Windows默认原生不带mDNS,Win10/11需要开启:

  • 安装「Bonjour打印服务」或者开启 Function Discovery Resource Publication 服务,才能解析.local

快速测试

ping raspberrypi.local

在支持mDNS的电脑上:

ping raspberrypi.local

能直接ping通对应的局域网IP,就是mDNS生效。


如果你需要,我可以补充:

  • mDNS跨VLAN中继部署(mdns-repeater)
  • 抓包看mDNS报文示例
  • 或者 Avahi 配置实操

你想了解哪部分?

← 返回IT 技术 yicool 百科 · mDNS 是什么(局域网 mDNS)

评论 0