メモ: Linux+インバウンド+帯域制限
iptablesで出来ると惑わされたが、インバウンド(ダウンロード)ではうまく動作が確認できなかった。
"LinuxTC"(TC=TrafficControl)という、Linuxの基本機能周りで実現できるらしい。
…インフラ周りも知らない事がまだまだまだまだあるなぁ
iproute : CentOSなら大体入っていそう。
[linuxで送信される(outboundな)パケットの帯域をIPアドレス+ポート毎に制限]
http://hogem.hatenablog.com/entry/20110212/1297699361
[Linuxでアウトバウンド帯域幅を制限する]
http://dev.classmethod.jp/server-side/shaping_outbound_traffic_from_linux/
[tcによる内向きトラフィックの制御]
https://whiteanthrax.pkf.jp/%E6%9C%AA%E5%88%86%E9%A1%9E/28/
[インバウンド通信の帯域を制限する]
https://www.uramiraikan.net/Works/entry-1988.html
[Linux TC]
ifb ??
「仕組みとしては"ifb"デバイスを挟むことで実現している」
ifb(Intermediate Functional Block device)
TCを直接扱うには、俺には高度すぎる…
TC扱うこのツールが素晴らしかった
[LinuxでIPやポート単位で簡単にトラフィックをコントロールしよう]
http://blog.matsumoto-r.jp/?p=2283
補足: インフラ屋さんから、LinuxTCもTCP/IPのキュー(キューイング?)を制御せず超過パケットをドロップしているっぽい、みたいなことを聞いた。モノによっては支障があるかもよ、と。
補足: 1Mbpsに制限したくてやってみたのだが、1Mbpsに制限されたアプリケーションの方が使い物にならなくて、帯域制限しなくてもいい回線でやっていく、という方針に。
追記
[よくわかるLinux帯域制限]
http://labs.gree.jp/blog/2014/10/11266/
[Linux TC (帯域制御、帯域保証) 設定ガイドライン]
http://labs.gree.jp/blog/2014/10/11288/
追記2
一見良さそうなんだけど、帯域超えた分はブッた切られる感じになるので、受け取れないデータが発生する。
キューを設けて制御(?)してくれたりはしない。
某WebAPIから並列かつゆっくりXMLデータを読んできたいなー、って使ってみたけど用途に合ってなかった模様。
NW方面に明るくない場合は、素直に回線契約か業者の見直しをするべきだなっていう結論。