在未连接到互联网时在 OS X 上使用 dnsmasq

在未连接到互联网时在 OS X 上使用 dnsmasq

我通过 dnsmasq 路由 DNS 请求,以便我用于本地开发的域指向 127.0.0.1。当我通过 Wi-Fi 或以太网连接到互联网时,这种方法很有效,但当我根本没有连接到互联网时,就会开始出现问题。

在 dnsmasq.conf 中,我有以下设置:

address=/gentoo/127.0.0.1

关闭所有网络连接,然后运行:

$ dscacheutil -q host -a name test.gentoo
name: test.gentoo
ip_address: 127.0.0.1

$ ping test.gentoo
PING test.gentoo (127.0.0.1): 56 data bytes
64 bytes from 127.0.0.1: icmp_seq=0 ttl=64 time=0.043 ms
64 bytes from 127.0.0.1: icmp_seq=1 ttl=64 time=0.107 ms
64 bytes from 127.0.0.1: icmp_seq=2 ttl=64 time=0.177 ms
^C
--- test.gentoo ping statistics ---
3 packets transmitted, 3 packets received, 0.0% packet loss
round-trip min/avg/max/stddev = 0.043/0.109/0.177/0.055 ms

看起来运行正常。但如果我尝试打开http://测试.gentoo/在 Chrome 中,我收到以下消息:

无法连接到互联网 由于您的计算机未连接到互联网,因此 Google Chrome 无法显示该网页。

您可以尝试按照以下步骤诊断问题:

转到应用程序 > 系统偏好设置 > 网络 > 帮助我测试您的连接。错误 106 (net::ERR_INTERNET_DISCONNECTED):互联网连接已丢失。

Chrome 发现我没有网络连接,它甚至没有尝试发出请求。

有什么办法可以解决这个问题吗?我可以创建一个虚拟网络接口来让 Chrome 相信我已连接到互联网吗?即使我没有连接,我也可以让它发送请求吗?还有其他想法吗?

我尝试过解决方案https://serverfault.com/q/22419/92378但它不起作用,因为我使用的是 OS X 10.7.3,所以当没有连接到网络时,解析器会被忽略。

相关内容