2020年11月23日月曜日

CentOS7 で帯域制限をやってみる

こんばんわ

 

珍しくLinuxの話題です。CentOS7で2つ以上のインターフェースがあるパソコンで、帯域制御装置のような動作をさせる方法です。

 

まず最初に、2つ以上のインターフェースでブリッジの設定を行います。

#!/bin/sh

brctl addbr br0
brctl addif br0 enp0s31f6
brctl addif br0 enp0s20f0u6

ip link set enp0s31f6 up
ip link set enp0s20f0u6 up

ip link set br0 up


次に帯域の制限を実施します。設定例として10Mbpsの場合を示します。

#!/bin/sh

# 設定の削除
tc qdisc del dev enp0s31f6     root
tc qdisc del dev enp0s20f0u6   root

# cail:最大の帯域 ceil が指定されないと次の rate と同じ値になる
# rate:保証される帯域 10mbit=10Mbit/s,10mbps=10Mbyte/s 単位に注意
# burst=rate(byte) / HZ(CONFIG_HZ) CentOSの場合 (10*10^6/8) / 1000
# CONFIG_HZ=`cat /boot/config* | grep 'CONFIG_HZ'`
# ubuntu=250Hz / CentOS=1000Hz
#

# 10Mbps
tc qdisc add dev enp0s31f6     root handle 1:0 tbf rate 10mbit burst 12.5kb limit 125kb
tc qdisc add dev enp0s20f0u6   root handle 1:0 tbf rate 10mbit burst 12.5kb limit 125kb

# 設定の確認
tc qdisc show dev enp0s31f6
tc qdisc show dev enp0s20f0u6


20Mbpsにしてパケットのログが0.5%に設定している例を示します。


#!/bin/sh
# 設定の削除
tc qdisc del dev enp0s31f6     root
tc qdisc del dev enp0s20f0u6   root
# tc qdisc del dev enp0s20f0u6u4 root


# 20Mbps
tc qdisc add dev enp0s31f6     root handle 1:0 tbf rate 20mbit burst 25kb limit 250kb
tc qdisc add dev enp0s20f0u6   root handle 1:0 tbf rate 20mbit burst 25kb limit 250kb


# パケットロス 0.5%
tc qdisc add dev enp0s31f6     parent 1:1 handle 10:1 netem loss 0.5%
tc qdisc add dev enp0s20f0u6   parent 1:1 handle 10:1 netem loss 0.5%

# 設定の確認
tc qdisc show dev enp0s31f6
tc qdisc show dev enp0s20f0u6

ざっくりですが、自分のための覚書ということで。。。


0 件のコメント:

Apple silicon の mac でGPUの使用率をもっとよく知りたい

 こんにちは 世間はゴールデンウィークとのことですが、せっかくの休みというのに何もやることがないわたくしは、いつもの通り家で映画やドラマを見ていたり、ゲームをしたり、まさに今やっていますが、ブログに意味のないことを書いてみたりしています。 もともとものすごく出不精のわたくしは、旅...