web-dev-qa-db-ja.com

dnsmasq:ローカルドメイン(A、PTR)を処理する方法は?

(アーカイブがダウンしているように見えるdnsmasqメーリングリストから採用されたため、まだアクティブかどうかはわかりません)

こんにちは、

アーキテクチャを変更するときに、ホームネットワークにdnsmasqを設定して、isc/bindレガシーシステムを置き換えます:)。セットアップは、ルーター/ファイアウォール/「すべての真実のマスター」(DNS、ntp、...)として機能するDebianボックスに依存しています。

  • eth1に割り当てられたパブリックIPを使用したインターネットへのADSLアクセス
  • eth0にバインドされた有線ネットワーク192.168.0.0/24(192.168.0.10アドレスを持つ)
  • wlan3(192.168.1.10アドレスを持つ)にバインドされた有線ネットワーク192.168.1.0/24
  • 内部ネットワークのドメイン名は「ホーム」です
  • ファイアウォールはshorewallによって処理されます

Dnsmasqの構成は次のとおりです。

domain-needed
bogus-priv
local=/home/
expand-hosts
domain=home
dhcp-range=eth1,192.168.0.70,192.168.0.150,240h,set:lan
dhcp-range=wlan3,192.168.1.10,192.168.1.50,240h,set:wifi
dhcp-option=42,0.0.0.0
dhcp-option=27,1
dhcp-option=19,0           # option ip-forwarding off
dhcp-option=44,0.0.0.0     # set netbios-over-TCP/IP nameserver(s) aka
WINS server(s)
dhcp-option=45,0.0.0.0     # netbios datagram distribution server
dhcp-option=46,8           # netbios node type
dhcp-option=252,"\n"
dhcp-option=vendor:MSFT,2,1i
dhcp-authoritative

何が機能するか:

  • サブネット(有線と無線の両方)のクライアントは、DHCPを介して予想される範囲のIPアドレスを取得します
  • 外部(インターネット=転送済み)DNS解決は、これらのクライアントとサーバーで機能します

動作しないもの:

  • 「ホーム」ドメイン名は正しく処理されていないようです。 /etc/hosts があります 192.168.0.10 server.home dnsmasqで明らかに使用されていないエントリ、つまりDig serverは名前を返しません。Dig server.homeもしません。
  • 送信先のネットワークに応じて名前解決を送信できませんでした。つまり、serverentry avoveは、理想的には有線ネットワークの場合は192.168.0.10、無線ネットワークの場合は192.168.1.10を指している必要があります。今日のセットアップは機能しますが、実際には正しくありません(ワイヤレスネットワークからサーバーへのトラフィックは、有線インターフェイスを介してサーバーに到達します)。

これは明らかなことだと確信していますが、私はdnsmasqを初めて使用するので、どんなポインタでも大歓迎です。 同様の質問 少し前にありましたが、受け入れられた回答は、dnsmasqがこれらの基本的な要件(ローカルドメイン、PTR更新)を適切に処理していないことを示唆しています(?)

ありがとうございました

1
WoJ

私はついに最初の重要な問題を次のようにして解決しました。

  • /etc/resolv.conf/etc/resolv.dnsmasqにコピーする
  • nameserver 127.0.0.1/etc/resolv.conf行を1つだけ設定します
  • /etc/dnsmasq.confresolv-file=/etc/resolv.dnsmasqを追加しました

これにより、サーバーはローカルDNSのDNS名を解決するように強制されます...

...これはdnsmasqです.。

... /etc/resolv.dnsmasqで定義されたアップストリームサーバーを使用します

2番目の問題は残っていますが、それほど重要ではありません。

3
WoJ

「/etc/resolv.confを/etc/resolv.dnsmasqにコピーしています」

これはDebianでのみ役立ちます。適切な非侵入型のセットアップにより、dnsmasqは127.0.0.1で始まるresolv.confファイルを読み取ることができます。

/etc/resolv.confの検索設定が原因で、ホームドメインが機能しない可能性があります(dnsmasqが現在使用しているものではありません)

0
user870269