树莓派create-ap共享热点中Mac OS无法解析URL地址问题求助
我之前也碰到过一模一样的情况——用create-ap在树莓派搭好热点,Windows、Linux连上去都能正常解析对应URL,唯独Mac不行,手动加个hosts映射就好了。这本质是Mac的DNS解析逻辑和其他系统有差异,在自建本地热点的场景下,它不会自动从热点获取正确的本地域名映射。下面给你几个靠谱的解决思路:
检查并配置create-ap的DNS参数
先打开create-ap的配置文件(一般在/etc/create-ap.conf),找一找有没有DNS_SERVER这个参数。如果没设置,直接把它改成树莓派的热点网段IP(比如我的是192.168.12.1,你得根据自己的实际网段来)。改完之后重启create-ap服务:sudo systemctl restart create-ap。这样Mac连接热点时会自动获取树莓派作为DNS服务器,就能正常解析你的URL了。手动给Mac指定热点专属DNS
连接树莓派热点后,打开Mac的「系统设置」→「网络」,选中当前连接的热点,点击「高级」→「DNS」,把树莓派的IP地址添加到DNS服务器列表的最顶部。这样Mac会优先用树莓派的DNS来解析域名,避开公共DNS无法识别本地URL的问题。让树莓派的DNS服务自动同步本地映射
create-ap默认用dnsmasq做DNS服务,你可以确保它能读取树莓派本地的hosts映射。先检查create-ap配置里有没有NO_DNSMASQ参数,如果开启了就把它关掉。然后在树莓派的/etc/hosts里添加好URL和IP的对应关系,dnsmasq会自动加载这个文件,这样所有连热点的设备(包括Mac)都能自动解析,不用再手动改hosts了。临时应急的hosts刷新技巧
要是上面的方法暂时没生效,你可以在Mac上手动维护hosts后,记得刷新DNS缓存:打开终端输入sudo dscacheutil -flushcache; sudo killall -HUP mDNSResponder,这样修改的hosts就能立刻生效。
内容的提问来源于stack exchange,提问作者Hosein Kangavar Nazari




