Pi で VPN を使用すると一部のアプリを Chromecast できない

Pi で VPN を使用すると一部のアプリを Chromecast できない

これが私のセットアップです:
ラズベリーパイ3はosmcを実行しています(OSは無関係です)
PiはOpenVPN経由でVPNに接続されています。
Piはhostapd(wlan0)を使用してアクセスポイントを作成します
Piはdnsmasqを使用してwlan0 APにDHCPを提供します
IPルーティングテーブルはwlan0トラフィックをtun0インターフェースにルーティングします

これまでのところすべてうまくいっています。私のAndroidスマートフォンはIPアドレスを取得し、VPN経由でインターネットにアクセスできます。DNSリークの問題がありましたが、dnsmasqがVPNプロバイダーが提供するネームサーバーを使用するように修正しました。これは訪問して確認されています。出典:

私の携帯電話では、BBC iPlayer や Netflix などの地理的に制限されたコンテンツにアクセスして視聴できます。しかし、これらのアプリを Chromecast (同じ AP に接続) にキャストすると、期待どおりに動作しません。

さらに調べてみると、Chromecast は DHCP 経由で提供される DNS ではなく、使用する DNS をハードコードしているようです。そのため、8.8.8.8Pi のルーティング テーブルでアクセスをブロックしました。これにより、Chromecast が Pi に DNS 呼び出しを行うようになります。また、DNAT を使用してこれらの呼び出しを VPN DNS サーバーにリダイレクトすることも試みました。

しかし、時々動作しますが、信頼性はありません。BBC iPlayer アプリ (ITV と Channel 4 は問題なく動作するため、これが唯一のアプリです) が Chromecast 経由で適切にキャストされないのに、Android では同じネットワーク上にあり、Google DNS をブロックしているにもかかわらずキャストされるのはなぜかわかりません。

これは、BBC が私が英国外にいることを検知したことと関係があると思います。おそらく DNS リークが問題だったのでしょうが、私はそれを修正しました。iPlayer があなたの国を検知する方法を知っている人はいますか? ロード画面でキャストを開始し、その後「キャスト準備完了」画面に戻ります。

助けていただければ幸いです。何週間もこのことで頭がおかしくなりそうなので、必要なログや情報を喜んで提供します。

関連情報