メモ: 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方面に明るくない場合は、素直に回線契約か業者の見直しをするべきだなっていう結論。