dnsmasq を使用して解決できないクエリに対してホストに代替 DNS サーバーの使用を強制する

dnsmasq を使用して解決できないクエリに対してホストに代替 DNS サーバーの使用を強制する

状況は次のとおりです。デジタル サイネージ システムを実行する IoT デバイスがあります。デバイスが独自の WIFI ネットワークをホストし、ユーザーがその WIFI に接続してデバイスに http アドレスを入力すると、IoT デバイスが実行している Web サーバーにルーティングされるように設定しようとしています。この IoT デバイス自体はインターネットに接続されていないことに注意してください。

これは、誰かが電話を使用しようとするまでは正常に機能しますが、IoT デバイスに接続すると、他の Web サイトにアクセスできなくなります。つまり、WIFI ネットワークに接続すると、4g/5g が事実上壊れます。これは、dnsmasq がアップストリームを解決しようとしているが、アップストリーム サーバーに接続していないためではないかと考えています。代わりに、クエリをデバイスに返して、代替サーバーを試す方法はありますか?

現在の dnsmasq.conf は以下の通りです。

dhcp-range=192.168.1.101,192.168.1.124,255.255.255.0,24h
domain=wlan
address=/castboard.net/127.0.0.1

server=0.0.0.0

dhcp-option=6,0.0.0.0,8.8.8.8,8.8.4.4

答え1

dnsmasq が IoT デバイス上で実行されていると仮定します。

あなたのアプローチは機能しません。携帯電話が WiFi に接続されるとすぐに、この WiFi がインターネットに接続されていると想定されます。しかし、おっしゃるとおり、IoT デバイス / WLAN にはインターネット接続がないため、代替 DNS にアクセスしようとすると失敗します。

問題の解決策は、この WiFi を使用しないように電話を設定すること (または、携帯電話からの接続を受け入れないように WiFi を設定すること) だけです。私の知る限り、WiFi が接続されている間は、電話に「モバイル データ接続を使用する」オプションはありません。また、dnsmasq サーバーで構成しても、これを変更することはできません...

関連情報