こんばんわ
珍しく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 件のコメント:
コメントを投稿