発端
VRChat内の動画プレーヤーでYouTubeの動画が再生できなくなった
IPv6で通信しないようにすれば再生できるようになる、というのがよく言われているが
私のPCはもともとIPv6はオフにしていたので、それ以外の原因があると考えた
結論から言うと、自宅のグローバル固定IPv4アドレスがbot判定を喰らい、YouTubeにブロックされていた模様
ブラウザからGoogleにログインしていない状態でYouTubeの動画を再生しようとすると、以下のように再生できない
自宅にはもう1台ルータ(NEC IX2215/IPv4 PPPoE接続)があり、PCのデフォルトゲートウェイをIX2215のアドレスに変更したところ、Googleにログインしていないブラウザ、VRChat内の動画プレーヤーの両方で再生ができるようになった
ただ、フレッツのPPPoE接続はたいへん遅いので、YouTube以外の通信はメインのルータ(YAMAHA RTX1210/v6プラス固定IP1)を経由したい
そこで、RTX1210に設定を施し、YouTubeの通信だけIX2215から出ていくようにした
設定
ヤマハネットワーク周辺機器技術情報ページ FQDN フィルター機能の設定例 パケット転送フィルターで、デフォルトゲートウェイはPP1を使用し、google 関係は PP2 を使用する を参考に、以下のコンフィグを投入した
YouTubeに関連するFQDNについては、以下を指定した
ChromeのDevToolsで確認したところ、動画自体はgooglevideo.comなるところから取ってきている模様
- youtube.com
- *.youtube.com
- ytimg.com
- *.ytimg.com
- googlevideo.com
- *.googlevideo.com
ここで指定したFQDNがIX2215側のIPv4アドレスから出れているか確認するため、以下も追加した
- *.cman.jp
フィルタ番号は既存コンフィグに被らないよう要調整
ip lan1 forward filter 100
ip filter 1001 pass * youtube.com,*.youtube.com,ytimg.com,*.ytimg.com,*.googlevideo.com,*.cman.jp
ip forward filter 100 1 gateway 192.168.100.2 filter 1001
確認
traceroute
YouTube宛の通信は192.168.100.2に流し、Yahoo!宛の通信は192.168.100.1から出ていっていることを確認した
グローバルIPアドレス
さきほどコンフィグで192.168.100.2を経由するように指定したCMANではIX2215側のグローバルIPアドレス、指定していない確認くんでは、RTX1210側のグローバルIPアドレスからアクセスしていることを確認した