局域网 .local 域名:Windows mDNS 快速配置
3
局域网设备寻址
使用 .local 域名访问动态 IP 设备
mDNS 会让同一局域网中的设备使用 设备名.local 互相发现。即使 DHCP 重新分配地址,只要设备名称不变,访问地址通常也不需要修改。
一、先获取本机 .local 名称
在 Windows PowerShell 中执行:
$mdnsName = "$env:COMPUTERNAME.local"
$mdnsName
[System.Net.Dns]::GetHostAddresses($mdnsName) |
Select-Object -ExpandProperty IPAddressToString
第一行结果就是当前设备可尝试使用的名称,例如 MY-PC.local。后面的命令用于确认它是否能解析到本机真实地址。
二、快速检查 Windows mDNS
Get-Service Dnscache, FDResPub
Get-NetUDPEndpoint -LocalPort 5353 -ErrorAction SilentlyContinue
Test-Connection "$env:COMPUTERNAME.local" -Count 1
正常情况下,DNS Client 服务正在运行,UDP 5353 存在监听,并且 Test-Connection 能解析到设备当前地址。
三、在另一台设备上验证
$target = "TARGET-PC.local"
[System.Net.Dns]::GetHostAddresses($target) |
Select-Object -ExpandProperty IPAddressToString
Test-Connection $target -Count 1
把 TARGET-PC 替换成目标电脑的系统名称。只有另一台设备也能解析并连通,才能说明局域网内的 mDNS 已经真正可用。
四、直接用于 SSH
ssh username@TARGET-PC.local
也可以写入 SSH 配置,后续只输入短别名:
Host target-pc
HostName TARGET-PC.local
User username
ServerAliveInterval 30
ServerAliveCountMax 3
五、解析失败时的最小修复
先确认 Windows 网络类型为“专用网络”,再启动必要的发现服务:
Get-NetConnectionProfile
Set-NetConnectionProfile -InterfaceAlias "以太网" -NetworkCategory Private
Set-Service FDResPub -StartupType Automatic
Start-Service FDResPub
请按实际网卡名称替换“以太网”。修改网络类型和服务需要管理员权限。
六、代理软件返回 198.18.x.x
如果 设备名.local 被解析为 198.18.x.x,通常不是设备真实地址,而是代理软件的 Fake-IP。以 Mihomo/Clash 为例,可将 .local 排除:
dns:
fake-ip-filter:
- "*.local"
rules:
- DOMAIN-SUFFIX,local,DIRECT
保存配置并重启代理后再次解析。不同客户端的配置入口可能不同,但原则都是让 .local 不经过远程 DNS、DoH 或 Fake-IP。
局域网 .local 域名:Windows mDNS 快速配置
https://www.quietphoenix.top/archives/windows-mdns-local-quick-config