微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

使用 dnsmasq 从本地设备访问本地 dns

如何解决使用 dnsmasq 从本地设备访问本地 dns

我在 localhost:3000 上的 Mac 上运行了一个网络服务器,我正在尝试使用 dnsmasq 设置本地 DNS 并能够从本地设备(iPhone / iPad)访问该 DNS 以进行测试目的。

我关注了之前的帖子: iPhone: add entry to /etc/hosts without jailbreaking

我希望将所有 *.localhost 重定向到这里

dnsmasq.conf

.conf

/etc/resolver/localhost

/etc/resolver/localhost

dig google.com

dig google.com

Mac 网络 DNS 配置:

Mac Network DNS config

在我的手机上,在同一网络上,将 Mac 本地 IP 添加为 DNS:

Wi-Fi is connected to xxxxxx and has the IP address 192.168.1.11.

phone DNS

我能够在 Mac 上成功连接到 myapp.localhost:3000,但在 iPhone 上连接到 Server cannot be found

那里一定少了什么。


编辑 #0:2021/07/08

netstat -anvp tcp | grep '\b192.168.1.11.53\b' 输出

enter image description here

解决方法

打开终端并使用 netstat 检查您的 dnsmasq 是否在 192.168.1.11 上打开

如果结果类似

root@dns-01:~# sudo netstat -tnlp
  
tcp        0      0 127.0.0.1:53         0.0.0.0:*               OUÇA       13376/dnsmasq   

这意味着它只接受来自本地机器的查询,而不接受来自您网络的查询。

要从您的网络查询,您必须看到类似

tcp        0      0 192.168.1.11:53      0.0.0.0:*               OUÇA       13376/dnsmasq   

tcp        0      0 0.0.0.0:53           0.0.0.0:*               OUÇA       104287/dnsmasq     

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。