Contents
Pi-holeでNetflixが重くなる問題を解決した話
はじめに
自宅サーバー(Raspberry Pi)に Pi-hole を導入して、広告ブロック付きのDNSを運用していました。
ところが、Netflix や Amazon Prime Video、NHKオンデマンドといった動画配信サービスを利用すると、再生が重い・読み込みが遅い という問題が発生しました。
本記事では、その原因と解決策をまとめます。
対応前の環境
- Raspberry Pi で Pi-hole を稼働
- 上流DNS(Upstream DNS)には Google Public DNS (8.8.8.8) を設定
- クライアント(PC, TV, スマホ)は Pi-hole を参照
発生した問題
- Netflix が 米国(us-west-2, Oregon)のAWSノード を返してしまう
- 動画再生のレスポンスが悪く、読み込みが遅い
- Amazon Prime Video や NHKオンデマンドでも同様に「遠いノード」に接続される
解決策
1. 上流DNSをISPに変更
Pi-holeの設定画面から、上流DNSを プロバイダ提供のDNS (106.xxx.x.xx) に変更。
GoogleやCloudflareではなく、ISPのDNSを使うことで 国内最適化されたCDNノード を返してもらえるようになった。
2. 動作確認
dig www.netflix.com
→ US-Westではなく国内ノードを参照pihole -t | grep nflxvideo
で再生中のドメインを確認
例:
ipv4-c099-tyo001-ix.1.oca.nflxvideo.net → 23.246.46.179
tyo001
の表記から、東京IXにあるNetflix Open Connectノード を利用していることが確認できた
3. オプション調整
- セカンダリDNS(106.xxx.x.xx)も設定して冗長化
- IPv6経由でバイパスされないようにPi-holeでIPv6 DNSを無効化
logs.netflix.com
をブロックしすぎると画質調整に影響が出るため、必要に応じてWhitelistへ追加
結果
- Netflix / Amazon / NHK の動画がスムーズに再生されるようになった
- 読み込み速度が改善し、画質も安定
- Pi-holeで広告は引き続きブロック可能
まとめ
Pi-holeで広告をブロックしつつ快適に動画サービスを利用するには、上流DNSをGoogleやCloudflareではなく、ISPのDNSに切り替えることが重要でした。
DNSの選択ひとつで、快適さが大きく変わることを実感しました。