Ubuntuにndpi-netfilter
をインストールしていて、tcモジュールを使用してYouTubeトラフィックを100kbpsに整形する必要があります。私はすべてのYouTubeトラフィックをiptablesを介して1つのクラスに分類し、tcクラスを適用してトラフィックを形成します。
Firefoxを使用すると正常に動作しますが、Google ChromeからYouTubeにアクセスすると、動作しません。
以下は、ndpi-netfilter
とiptables
のルールとコマンドです。
$ Sudo tc qdisc add dev eth1 root handle 1: htb default 10
$ Sudo tc class add dev eth1 parent 1: classid 1:1 htb rate 1Mbps
$ Sudo tc class add dev eth1 parent 1:1 classid 1:10 htb rate 100kbps ceil 100kbps prio 10
$ Sudo iptables -t mangle -A POSTROUTING -s 192.168.200.27 -m ndpi --youtube -j CLASSIFY --set-class 1:10
$ Sudo iptables -t mangle -A POSTROUTING -d 192.168.200.27 -m ndpi --youtube -j CLASSIFY --set-class 1:10
誰かがこれを修正することを知っていますか?
Ndpi-netfilterはChromeでYouTubeビデオをロードするために使用されるQUICプロトコルを処理しますか?iptables出力チェーンでUDP/443をブロックして、Chromeを使用するように強制することができますTCP/443を使用して、問題が解決するかどうかを確認してください。
YouTubeがGoogle ChromeブラウザでQUICプロトコルを使用していることがわかりました。
QUIC Dropルールをiptablesに挿入することで、問題を正常に解決しました。
$ Sudo iptables -I POSTROUTING -m ndpi --quic -j DROP