mDNS(Multicast DNS,多播DNS)可以在没有DNS服务器的局域网中,通过主机的mDNS服务查询其他主机的主机名+.local后缀获取IP地址。
mDNS协议由苹果公司主导(RFC 6762)开发,并集成在Bonjour服务中,其他系统,如Windows 10/11,以及主流Linux发行版都预装了mDNS服务(avahi-daemon和avahi-utils软件包)。
例如Windows 11 ping PVE Linux的主机名,会通过mDNS解析出对方的IPv6链路本地地址:

也可以使用-4参数强制获取IPv4地址,并且在Windows上是可以省略.local后缀的:

抓包可以看到Windows向多播地址224.0.0.251的UDP 5353端口发起了mDNS查询:

PVE的mDNS服务进程收到多播请求后,会再向这个多播地址响应自己的IP地址:

反过来PVE也可以通过Windows的主机名获取对方的IP地址:

如果发行版没有带mDNS服务,可以通过apt install -y avahi-daemon avahi-utils进行安装,systemctl enable avahi-daemon && systemctl status avahi-daemon设置服务自启。











