我的 Mac 上运行着一台 vagrant 机器,其中有我想在本地网络上使用的虚拟主机。我通过 brew 安装了 dnsmasq,并在其 /usr/local/etc/dnsmasq.conf 中有以下内容:
address=/lv.lc/33.33.33.10
这样所有以 *.lv.lc 结尾的 URL 都将解析为 33.33.33.10。
它部分起作用:挖掘 www.lv.lc
给了我正确的答案:
anton@anton-mbp:~$ dig www.lv.lc
; <<>> DiG 9.10.1 <<>> www.lv.lc
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 54075
;; flags: qr aa rd ra ad; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 0
;; QUESTION SECTION:
;www.lv.lc. IN A
;; ANSWER SECTION:
www.lv.lc. 0 IN A 33.33.33.10
但当我尝试 ping 该主机时,
anton@anton-mbp:~$ ping www.lv.lc
ping: cannot resolve www.lv.lc: Unknown host
我将运行 dnsmasq 的机器的本地 IP 添加到路由器的 dns 服务器,但即使我明确执行 nslookup,此网络中的其他客户端也没有收到响应:
DNS request timed out.
timeout was 2 seconds.
Address: 192.168.1.38
我做错了什么?
答案1
我很笨。dnsmasq 没有设置为监听 192.168.1.38,所以我添加了
listen-address=192.168.1.38
listen-address=127.0.0.1
到我的 dnsmasq.conf 文件,所以它现在可以工作了。