You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Mac M1设备上Dnsmasq无法解析.local后缀本地域名问题问询

M1芯片Mac Dnsmasq本地域名解析失败排查解决方案

步骤1:确认Dnsmasq服务与基础配置正常

  • 执行sudo brew services list,检查dnsmasq条目状态为started、运行用户为root,若状态异常执行sudo brew services restart dnsmasq重启服务
  • 直接向本地Dnsmasq发起解析请求验证配置:
    dig @127.0.0.1 test90.local A
    
    若返回结果的ANSWER SECTION中存在指向127.0.0.1的记录,说明Dnsmasq本身配置无误,问题出在系统DNS路由配置。

步骤2:配置Mac本地域名解析规则

Mac默认不会将.local后缀的解析请求转发到本地DNS服务,需手动添加resolver配置:

  • 创建resolver配置目录:
    sudo mkdir -p /etc/resolver
    
  • 写入.local后缀的解析规则:
    sudo tee /etc/resolver/local > /dev/null <<EOF
    

nameserver 127.0.0.1
domain local
search_order 1
EOF

- 执行`scutil --dns`验证配置,找到`domain : local`对应的resolver条目,确认nameserver为127.0.0.1即为生效。

## 步骤3:调整系统DNS优先级
- 打开「系统设置 > 网络 > 选中当前在用的网络(WiFi/有线网络)> 详细信息 > DNS」,在DNS服务器列表最顶部添加`127.0.0.1`与`::1`,保存并应用配置
- 刷新系统DNS缓存:
```bash
dscacheutil -flushcache
sudo killall -HUP mDNSResponder

步骤4:排查端口与冲突问题

  • 验证53端口被Dnsmasq正常监听:
    sudo lsof -i :53
    
    若无Dnsmasq进程监听,需在/opt/homebrew/etc/dnsmasq.conf中添加以下配置后重启服务:
    listen-address=127.0.0.1
    port=53
    
  • 若存在Bonjour服务占用.local后缀解析的情况,执行以下命令关闭多播广告后重启mDNSResponder即可:
    sudo defaults write /Library/Preferences/com.apple.mDNSResponder.plist NoMulticastAdvertisements -bool true
    sudo killall -HUP mDNSResponder
    

验证

执行ping test90.local,正常可返回127.0.0.1的响应结果。

内容的提问来源于stack exchange,提问作者Waqas Afzal

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.01 21:15:04