![複数のサブネットを持つ dnsmasq サーバーのサーバーホスト名を解決する](https://rvso.com/image/50559/%E8%A4%87%E6%95%B0%E3%81%AE%E3%82%B5%E3%83%96%E3%83%8D%E3%83%83%E3%83%88%E3%82%92%E6%8C%81%E3%81%A4%20dnsmasq%20%E3%82%B5%E3%83%BC%E3%83%90%E3%83%BC%E3%81%AE%E3%82%B5%E3%83%BC%E3%83%90%E3%83%BC%E3%83%9B%E3%82%B9%E3%83%88%E5%90%8D%E3%82%92%E8%A7%A3%E6%B1%BA%E3%81%99%E3%82%8B.png)
私は 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 つのサーバー アドレス エントリを追加することもできます。