ネットワークって面白いよね。
クラウドばっかり触っているとどうしても物理でってなることがある。
短い時間で一つのIPからの大量アクセスがきた。
複数のIPが帯域を使いまくっている。
そんなときに、帯域などを基準にアクセス制限をかけたいところ。
YAMAHAルーター rtx系で帯域制限をかける方法を書き溜める。
Dynamic Class Controlを使います。
概要
Dynamic Class Controlとは
YAMAHAによるとDynamic Class Controlとは、
Dynamic Class Control(DCC)とはQoSの技術の一つであり、ホストごとの送信量/受信量を監視し、その送信量/受信量に応じて動的にフロー制御をする技術です。同じクラスを使用しているトラフィックのうち、特定ユーザのトラフィックにより帯域の占有がなされている場合、その通信を自動的に一定時間遮断したり、使用可能な帯域を動的に変更します。これにより、前述した帯域の占有行為を防御することが可能となり、ユーザ間に公平性をもたらします。
データを通す順番や量を調整するQoSの技術の一つだそうです。
ちなみにQoSは下記のように説明していました。
QoS(Quality of Service)とは、ネットワーク上のサービスを安定して使えるようにするために、データを通す順番や量を調整する技術のことです。
対応ハード
いろいろなハード(ファームウェア)で使用できます。
- vRX Rev.19.00.01以降
- RTX830 Rev.15.02.01以降
- NVR700W Rev.15.00.02以降
- RTX1210 Rev.14.01.05以降
- RTX5000 Rev.14.00.08以降
- RTX3500 Rev.14.00.08以降
- FWX1200 Rev.11.03.02以降
- RTX810 Rev.11.01.04以降
- RTX1200 Rev.10.01.07以降
- SRT100 Rev.10.00.08以降
アクセス比率で帯域制限をかける設定例
特定のLAN(lan1)に対してキューとして設定し、
30秒間に全体の帯域の30%を占めたアクセス元IPを1200秒の間
帯域を200kbに制限するって設定です。
1 2 3 4 5 6 |
queue lan1 type shaping queue class filter 4 2 ip * * tcp * * queue class filter 5 2 ip * * udp * * queue lan1 class property 1 bandwidth=200k queue lan1 class property 2 bandwidth=100% queue lan1 class control 2 forwarding=1 threshold=30%,30 time=1200 |
詳しくは、公式のドキュメントをみてね。
これでいいのかな?
じゃあね〜〜〜〜。
コメント
クラス1がないのにクラス1の帯域制御定義があったり、インターフェースにフィルターを定義する部分がそもそもないので、機能しないよね? これ。
うん。
家で使っているルーター設定の一部を抜き出しただけだから
これだけ単体では機能しないよ!
詳しくは公式ドキュメント参照してほしい。
クラスとかの設定できている前提。
http://www.rtpro.yamaha.co.jp/RT/docs/dcc/
どう書くのが最適だと思う?
いい感じの設定例のアドバイスくれたら、MONAコイン送るよ!