dnsmasqを実行する自己作成Linuxルーターがあります。クライアントが接続する2つの異なるネットワークカードがあります。 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
私が知る限り、あなたの場合、サーバーにはサブネットごとに1つのアドレスがあります:192.168.1.1、他のアドレスは192.168.2.1かもしれません。
クライアントがそのサブネットのサーバーアドレスを受け取りたいと思います。
私は同じ問題があり、答えを見つけました。http://t7994.network-dns-dnsmasq-general.dnstalk.us/multi-homed-server-with-same-hostname-on-2-subnets-t7994.html
"-y, --localise-queries" の dnsmasq のマニュアルページをご覧ください。
dnsmasq.conf に "localise-queries" を入れ、/etc/hosts ファイルに 2 つのサーバーアドレスエントリを入れることもできます。