新しいAsus RT-AC56Uルーターでdd-wrt(参考のためにr23503)を使用しています。残念ながら、dnsmasqの構成は私に頭痛の種を与えています。これが私が欲しい:
しかし、ここに私が現在得ているものがあります:
静的IPを使用するホストについては、まだ適切な解決策が見つかりません。私はdnsmasqのマンページを読みましたが、私が知る限り、正しい選択は「Host-record」オプションです。
Dd-wrt([サービス]タブの下)のdnsmasq関連の構成は次のとおりです。
「DHCPサーバー」セクション:
使用ドメイン:WAN
LANドメイン:[空白]
追加のDHCPdオプション:[空白]
1つの静的リースが定義されています。
「DNSMasq」セクション:
DNSMasq:有効
ローカルDNS:有効
DNS再バインドなし:有効
追加のDNSMasqオプション:
Host-record = myhost、myhost.mydyndomain.net、192.168.1.1
[静的LANIPを持つ他のホストのホストレコードエントリがさらにいくつか]
残念ながら、これらのHost-record行を追加のオプションボックスに入れると、dnsmasqが完全に壊れて、DHCP経由でLAN/WLANに接続できなくなります。ボックスの内容を空にすると、DHCPが再び機能し始めます。
私のdnsmasq.confファイルは次のとおりです。
interface=br0
resolv-file=/tmp/resolv.dnsmasq
all-servers
domain=mydyndomain.net
dhcp-leasefile=/tmp/dnsmasq.leases
dhcp-lease-max=51
dhcp-option=lan,3,192.168.1.1
dhcp-authoritative
dhcp-range=lan,192.168.1.100,192.168.1.149,255.255.255.0,1440m
dhcp-Host=88:53:2E:9B:3E:80,Redtail,192.168.1.5,1440m
stop-dns-rebind
/etc/resolv.confファイルは次のとおりです。
search ph.cox.net
nameserver 192.168.1.1
また、/ tmp /resolv.dnsmasqファイルは次のとおりです。
nameserver 208.67.222.222
nameserver 208.67.220.220
nameserver 68.105.28.13
もう1つの小さな、しかし無関係な問題:DHCP構成セクションのdd-wrtの「基本設定」ページで、OpenDNSのサーバーのIPを入力しました(上記を参照)。 justこれら2つのネームサーバーを使用したいのですが、ネームサーバーは自動的に3番目のネームサーバーとして追加されます。モデム/ ISPからDHCPリースを取得するときに受信するDNS情報を無視するようにdd-wrtに指示する方法はありますか?
だから...私は何を間違っているのですか?明らかに、dnsmasqはHost-recordエントリに満足していませんが、使用する正しいオプションは何ですか?/etc/hostsは生成されたファイルであり、Webインターフェイスを介して簡単に変更できないため、この情報を/ etc/hostsではなくこの場所に配置しています。もちろん、SSH経由で接続することで簡単に編集できますが、変更は永続的ではありません。
私はdd-wrtのdnsmasqでかなりの経験があり、特にこのコメントの日付に近いです。各要件に対するそれぞれの答えに対する私の実用的な解決策をあなたと共有することができます。私はさらに追加することを拒否します。
アクティブな/tmp/dnsmasq.confの各オプション 上記に投稿 は、説明されているように選択した構成オプションから直接取得されます
除く
hostname =エントリの場合、imoを使用しないでください。あなたが欲しい
使用ドメイン:_[WAN/LAN]
_ ない 使用されているドメイン_[WAN]
_。
これにより、有線(LAN)デバイスと無線(WAN)デバイスがネットワーク上で機能できるようになります。
また、短いものを選んでください LANドメイン:_[dom ]
_ または他の短い言葉 地元。いくつかの使用 lan いくつかの使用 ローカルドメイン 。これは要件に必要であり、あなたと内部ユーザーだけが表示/使用するアンカー偽の内部専用ドメインを提供します。選択した値は、各DHCPクライアントの_search dom
_リゾルバーに入れられます。私が使用します dom 残りは、好きなように作ることができます。
最初の2つの要件から始めます。
LAN/WLAN上のホストに対するLAN/WLANからのDNSクエリは、短い名前とFQDNの両方に対して応答する必要があります。
一部のデバイスは(私の電話のように)ポータブルであるため、LANに接続する場合はLAN IPに解決し、LANの外部から照会する場合は外部IPに解決するためにHost.mydyndomain.netが必要です。
内部IPと外部IPが異なるが、dd-wrtの両側に同じ名前があるホストの場合、次のものが必要です。
Static Leases
_テキスト領域のすぐ下の_Additional DHCP Options
_に、解決可能なホストごとに1行追加します。内部名_web.dom
_またはweb
は、LAN上での利便性のために注意してください。注意:
_[Static Leases++++++++++++++++++++++++++++++++++++++++++++++++++++++++] [MAC Address] [Host Name ][IP Address ][Client Lease Time] [00:19:B9:5B:2B:A5] [web ][192.168.2.5 ][ 1440]
_
注:これはudhcpcdにのみ使用されると思いましたが、これはdnsmasqでも使用され、実際の_dnsmasq.conf
_と正しい_dhcp-Host=
_行 そして DNSMasqがすべてのローカル名前解決を行うために使用する/ tmp/hostsにそれぞれの `ipHost.domエントリを配置します。
Webインターフェイスが少し面倒なので、これらのエントリを作成するためのスクリプトとテキストファイルがあります。スクリプトが簡単に行うことは次のとおりです。
_macToHostNames.txt:
# comment lines ignored unless embedded set:tag values like set:kids
# note the ip is just the Host portion of the subnet, eg: 192.168.1.32 -> 1.32
# Host id mac address cnames/aliases for same box
kidhost1 1.32 00:MA:CA:DD:E5 alias1 nabi2 # in-line comment set:kid
web 1.5 00:AM:AC:AD:ES www homeweb # web server with aliases
EOF
generate_Files_Then_Send_Then_Activate_If_Tests_Are_Ok.sh < macToHostNames.txt
# this script file creates 3 files which are sent along with a test script:
dnsmasq_options.new # nvram set dnsmasq_options="$(cat dnsmasq_options.new)"
static_leases.new # nvram set static_leases="$(cat static_leases.new)"
static_leasenum.new # nvram set static_leasenum="$(cat static_leasnum.new)"
testDnsMasqOpts.sh # scp -p *.new test*.sh admin@gw:/tmp && ssh admin@gw "/tmp/test*.sh"
_
dNSMasqオプションボックスに_address=/web.dynip.org/<ip>
_行を追加しますaddress =/web.mydyndomain.net/192.168.2.5#必要な数だけ追加します
最後に、DDNS
構成を更新して、外部ISPが提供する動的IPアドレスを_web.mydyndomain.net
_として解決するようにマッピングするDDNSサービスを提供する必要があります。この部分は正常に構成されていると思います。
この構成で _ping web
_または_ping web.dom
_またはping _web.mydyndomain.net
_は、ファイアウォールの内側で_192.168.2.5
_を返し、_web.mydyndomain.org
_の名前による外部からのアクセスは引き続き機能します。
他の構成は他の構成によって満たされますが、何度もテストしたので、これらの行を安全に追加できます(一度に1つのdnsmasq行を実行するスクリプトを作成し、すべてのdnsロギングが残っているため、問題のある行を表示するまで)私の最新のdnsmasqビルドでスペースを確保し、信頼できるのは、dnsmasqの戻りステータス($?)だけです。
最後の要件については、コメント付きの構成の行を表示します(コメントは[DNSMasq追加オプション]ボックスに入力できます)。
_domain-needed # dont fwd to ext DNS names with no domain address=/web.mydnsdomain.org/192.168.2.5 # resolve to this internally! expand-hosts # add .dom to Host names without a domain local=/dom/ # map all Host.dom request to *this* dns bogus-priv # reject local lookups not in hosts localise-queries # for local servers
_
私は、疑わしい価値のあるいくつかの非関連の景品(およびオフサイトバックアップ)を投入します。
_no-ping # some swear by this one to get DNSMasq to work! filterwin2k # junk from MSFT boxen (remove this if ldap SRV used) cache-size=3000 # fast local DNS lookups clear-on-reload # clear ifr.c changes and sig received
_
DNSサーバーの数を制限するには、次のようにdhcp-options = 6で実行できます。
dhcp-options = lan、6,8.8.8.8#これにより、すべてのホストに対して1つのネームサーバーエントリのみが送信されます