web-dev-qa-db-ja.com

DNSMasq-一部のサブドメインを除外

すべての.devリクエストを127.0.0.1に転送するローカル開発環境を実行するために、DNSMasqでセットアップされたいくつかのマシンがあります。

ただし、このリストにいくつかの除外を追加する必要があります。どうすればよいのでしょうか。

これらの除外はすべて内部IPアドレスであり、192.168.1.255などの内部DNSサーバーによって解決されます。

たとえば、batcave.devを含むサブドメインまたはドメインを除外したいとします。

したがって、batcave.dev192.168.1.255のdnsサーバーを使用し、wiki.batcave.devphpmyadmin.batcave.devなどの他のエントリとともに、DNSサーバーで設定されているものに解決します。これらのサブドメインの。

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
Owen Melbourne

私があなたの質問を正しく理解した場合、あなたが探しているのはコマンドラインの-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

それが役に立てば幸い!

2
Pablo