複数のサブネットを持つ dnsmasq サーバーのサーバーホスト名を解決する

複数のサブネットを持つ dnsmasq サーバーのサーバーホスト名を解決する

私は dnsmasq を実行する自作の Linux ルーターを持っています。クライアントが接続される 2 つの異なる NIC があり、1 つはサブネットを持ち192.168.1.、もう 1 つはサブネットです192.168.2.。私のルーター/etc/dnsmasq.confは次のようになります。

except-interface=enp1s0
dhcp-range=interface:wlp2s0,192.168.1.10,192.168.1.25,255.255.255.0,48h
dhcp-range=interface:enp0s29f7u4,192.168.2.10,192.168.2.25,255.255.255.0,48h

クライアントの解決はサブネット間では機能しますが、どちらのサブネットからもサーバー自体のホスト名を解決することはできません。を使用して静的ルールを追加する場合、address=/name/IPサブネットの1つを選択する必要があり、他のサブネットからのping(およびその他の機能)は機能しません。たとえば、次のように設定すると、

address=/name/192.168.1.1

サブネットからホスト名を解決できます192.168.2.が、ping は応答されません。この状況を解決するにはどうすればよいでしょうか? インターフェイスをブリッジしたり、このようなことをしなくても済むようにしたいです。

答え1

私の理解では、あなたの場合、サーバーは各サブネットにアドレスを持っています:192.168.1.1ともう1つは192.168.2.1です。

クライアントが対応するサブネットのサーバー アドレスを受信するようにしたいのだと思います。

私も同じ問題を抱えていましたが、答えはhttp://t7994.network-dns-dnsmasq-general.dnstalk.us/2 つのサブネット上の同じホスト名を持つマルチホームサーバー-t7994.html

dnsmasq のマニュアル ページで「-y, --localise-queries」を確認してください。

dnsmasq.conf に「localise-queries」を追加し、/etc/hosts ファイルに 2 つのサーバー アドレス エントリを追加することもできます。

関連情報