サブドメインではなく、その正確なドメインのリクエストに対してのみ固定IPアドレスを返すようにDNSMasqを構成することは可能ですか?つまり、example.com
を解決するときにa.example.com
やb.example.com
などを解決しない場合は、固定IPを返すようにします。
Host-record=example.com,1.2.3.4
dnsmasq man page はこう言っています:
-Host-record = <name> [、<name> ....] [<IPv4-address>]、[<IPv6-address>]
A、AAAA、およびPTRレコードをDNSに追加します。これにより、IPv4(A)およびIPv6(AAAA)レコードが関連付けられたDNSに1つ以上の名前が追加されます。名前は複数のHost-recordに表示される場合があるため、複数のアドレスが割り当てられます。最初のアドレスのみが、アドレスを名前にリンクするPTRレコードを作成します。これは、hosts-filesの読み取りに使用されるのと同じルールです。 Host-recordオプションはHost-filesの前に読み取られると見なされるため、そこに表示される名前がPTRレコードの作成を禁止します(hosts-fileにも表示される場合) 。 hosts-filesとは異なり、expand-hostsが有効な場合でも、名前は展開されません。短い名前と長い名前が同じHost-recordに表示される場合があります。 -Host-record = laptop、laptop.thekelleys.org、192.168.0.1,1234 :: 100
設定ファイルはどうですか?エントリがドット.
で始まる場合、dnsmasqはサブドメインのみを解決します
例:address=/.subdomain.pc01.domain.com/192.168.1.2
あなたがこのようにそれを持っているならば:
address=/subdomain.pc01.domain.com/192.168.1.2
また、asd.subdomain.pc01.domain.com
を解決します:
$ Host asd.subdomain.pc01.domain.com
asd.subdomain.pc01.domain.com has address 192.168.1.2
dnsmasqのmanページ から(--serverの場合、-addressにも適用されます):
より具体的なドメインは、より具体的でないドメインよりも優先されるため、-server =/google.com/1.2.3.4 --server = /www.google.com/2.3.4.5は、*。google.comのクエリを1.2に送信します。 3.4。ただし、* www.google.comは2.3.4.5に移動します。
したがって、私が見ることができる唯一の解決策は、代わりに、必要なサブドメインごとに個別のレコードを追加することです。明らかに理想的ではありませんが、現時点でdnsmasqが提供できる最高のものです(私が見つけることができます)。
DNSMasqを実行しているサーバーのhostsファイルにその特定のドメインのエントリを追加するだけです