![dnsmasq を使用して解決できないクエリに対してホストに代替 DNS サーバーの使用を強制する](https://rvso.com/image/768906/dnsmasq%20%E3%82%92%E4%BD%BF%E7%94%A8%E3%81%97%E3%81%A6%E8%A7%A3%E6%B1%BA%E3%81%A7%E3%81%8D%E3%81%AA%E3%81%84%E3%82%AF%E3%82%A8%E3%83%AA%E3%81%AB%E5%AF%BE%E3%81%97%E3%81%A6%E3%83%9B%E3%82%B9%E3%83%88%E3%81%AB%E4%BB%A3%E6%9B%BF%20DNS%20%E3%82%B5%E3%83%BC%E3%83%90%E3%83%BC%E3%81%AE%E4%BD%BF%E7%94%A8%E3%82%92%E5%BC%B7%E5%88%B6%E3%81%99%E3%82%8B.png)
状況は次のとおりです。デジタル サイネージ システムを実行する 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 サーバーで構成しても、これを変更することはできません...