DD-WRT(ファームウェア:DD-WRT v24-sp2(09/08/09)mini)を実行しているLinksysルーターがあります。 DHCPによって割り当てられたシステムのDNS名を正常に解決できますが、それらのドメインを完全に修飾した場合に限ります。これは、この正確な機能をアクティブにすることになっている「expand-hosts」DNSMasq追加オプションを使用しているにもかかわらずです。
これが私のdnsmasq.confです:
interface=br0
resolv-file=/tmp/resolv.dnsmasq
domain=example.com
dhcp-leasefile=/tmp/dnsmasq.leases
dhcp-lease-max=51
dhcp-option=lan,3,10.77.0.5
dhcp-authoritative
dhcp-range=lan,10.77.0.100,10.77.0.149,255.255.0.0,1440m
dhcp-Host=00:1A:A0:1D:82:5A,astatichostname,10.77.1.40,infinite
expand-hosts
(参考:example.comとastatichostnameは、私が使用する実際の取引名のプレースホルダーです。私のネットワークは10.77.0.0/16を使用し、ルーターは10.77.0.5にあります。)
結果:
> nslookup astatichostname 10.77.0.5
Server: 10.77.0.5
Address: 10.77.0.5#53
** server can't find astatichostname: NXDOMAIN
> nslookup astatichostname.example.com 10.77.0.5
Server: 10.77.0.5
Address: 10.77.0.5#53
Name: astatichostname.example.com
Address: 10.77.1.40
DNSMasqのexpand-Hostをトリップさせる可能性のあるものは他にありますか?
この質問は古いですが、これはこの問題の上位のGoogle検索結果の1つであり、私はついにそれを理解しました。
問題は、それがexpand-hosts
が行うことではないということです。ドキュメントは非常にあいまいですが、expand-hosts
が行うことは、DNSクエリではなく、/etc/hosts
のホストエントリにドメインを追加することです。だから例えば
/ etc/hosts:
10.77.0.5 astatichostname
dnsmasq.conf:
expand-hosts
domain=example.com
次に、astatichostname.example.com
のdnsクエリは10.77.0.5
に解決されます(astatichostname
のみのDNSクエリに加えて)。
したがって、解決策は、dd-wrtを取得してドメインなしで/etc/hosts
にエントリを作成し、完全に修飾されたAの場合にそれらのホストエントリをexample.com
ドメインの一部と見なすようにdnsmasqに指示することです。レコードDNSクエリが入ります。
これを行うには、次のことを行う必要があります。
example.com
ドメインをSetup-> Basic Setup pageのDomain NameフィールドのOptional Settings。expand-hosts
を追加ステップ#1domain=
ファイルに配置されるdnsmasq.conf
設定を制御します。手順#2/etc/hosts
に入力されるエントリからドメインを削除します。ステップ#完全修飾DNSクエリが着信すると、ドメインを/etc/hosts
のエントリに追加します。
dd-wrtがこれを素晴らしくシンプルにしたことをとてもうれしく思います...
以下は私のDD-WRTで私のために働きます:
expand-hosts
local=/lan/
domain=lan
local
設定が欠落しているためだと思います。また、GUIでlan
を「LANドメイン」として設定しています。