Blog Home
Updated: 2023 Oct 09

macOS 系统上的DNS问题

今天花了很多时间在这个问题上,真是太难受了,不过总算是解决了。

现象描述

前段时间购买了一个dev域名,配置好之后。该系统通过VPN访问,结果发现自己电脑访问不了。但是发现nslookup/dig这个域名都能解析到ip,但是ping/curl却不通。直接ping/curl ip却可以通。是不是感觉很奇怪。

刚开始以为是远端系统配置问题,最终在另一台电脑发现一切正常。既然远端系统没问题,那问题就出在我本机电脑。猜测可能是跟DNS有关,于是查看/etc/resolv.conf里nameserver也没有问题。是不是自己配置的dnsmasq的问题或者dnscrypt导致解析出了问题呢。dnscrypt经过排查没有问题,dnsmasq排查也没有发现问题。把两个可能有影响的都卸载掉,再试,依然发现不通。最终经过一番搜索依然一无所获,但却给了一些思路和灵感。

解决方案

查看DNS列表

scutil --dns

突然发现有个dev域名的dns解析到127.0.0.1。这就不对了,我之前是在dnsmasq里/usr/local/etc/dnsmasq.conf配置过,但是已经删除卸载掉了。

address=/dev/127.0.0.1

最后才根据之前配置文档找到之前配置过一个resolver,按图索骥,终于找到之前创建过一个目录和配置

/etc/resolver/dev
nameserver 127.0.0.1

删除掉就好了。

参考链接:

Comments:

Email questions, comments, and corrections to hi@smartisan.dev.

Submissions may appear publicly on this website, unless requested otherwise in your email.