Dnsmasq

DNSMasq - 排除一些子域

  • June 18, 2017

我們有幾台機器設置了 DNSMasq 來執行本地開發環境,將所有.dev請求轉發到127.0.0.1

但是,我們需要在此列表中添加一些排除項,想知道我們將如何去做。

所有這些排除仍然是內部 IP 地址,由內部 DNS 伺服器解析,例如192.168.1.255

例如,我們想要排除其中包含的任何子域或域batcave.dev

因此batcave.dev,將使用 dns 伺服器192.168.1.255並解析 DNS 伺服器中設置的內容,以及其他條目,例如wiki.batcave.devphpmyadmin.batcave.dev可能有任意數量的這些子域。

我們正在執行 OSX/macOS,目前我們的解析器文件/private/etc/resolver/devnameserver 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查看完整文件:)

如果我正確理解了您的問題,那麼您正在尋找的是-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

希望能幫助到你!

引用自:https://serverfault.com/questions/856458