我们已经在几台机器上安装了 DNSMasq,用于运行本地开发环境,将所有.dev
请求转发到127.0.0.1
然而,我们需要在这个列表中添加一些排除项,想知道我们该如何去做。
所有这些排除的仍然是内部 IP 地址,由内部 DNS 服务器解析,例如192.168.1.255
例如,我们想要排除batcave.dev
其中包含的任何子域或域。
因此batcave.dev
将使用 DNS 服务器192.168.1.255
并解析 DNS 服务器中设置的任何内容以及其他条目,并且wiki.batcave.dev
可以phpmyadmin.batcave.dev
有任意数量的这些子域。
我们正在运行 OSX/macOS,目前我们的解析器文件/private/etc/resolver/dev
就nameserver 127.0.0.1
在其中。
然后我们/usr/local/etc/dnsmasq.conf
将其添加到底部
address=/.dev/127.0.0.1
listen-address=127.0.0.1
port=35353
您可以在以下位置查看完整文件https://gist.github.com/OwenMelbz/80c68e836058959b87f86f242e6efffa如果需要的话 :)
答案1
如果我正确理解了你的问题,那么你正在寻找的是-S
命令行上的选项:
This is intended for private nameservers:
if you have a nameserver on your network which deals with
names of the form xxx.internal.thekelleys.org.uk at
192.168.1.1 then giving the flag
-S /internal.thekelleys.org.uk/192.168.1.1
will send all queries for internal machines to
that nameserver, everything else will go to
the servers in /etc/resolv.conf.
那么,在你的情况下,世界将会是这样的
-S /batcave.dev/192.168.1.255
或者在配置文件中
server=/batcave.dev/192.168.1.255
希望能帮助到你!