TCの一番簡単な設定コマンド

以下は現在TCをインストールして設定したラズパイのifconfigです。

pi@raspberrypi:~$ ifconfig
br0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 192.168.0.88 netmask 255.255.255.0 broadcast 192.168.0.255
inet6 fe80::ba27:ebff:fe69:5b65 prefixlen 64 scopeid 0x20<link>
inet6 240f:30:a9ce:1:ba27:ebff:fe69:5b65 prefixlen 64 scopeid 0x0<global>
ether b8:27:eb:69:5b:65 txqueuelen 1000 (Ethernet)
RX packets 10040 bytes 750155 (732.5 KiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 1326 bytes 166549 (162.6 KiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0

eth0: flags=4099<UP,BROADCAST,MULTICAST> mtu 1500
ether b8:27:eb:69:5b:65 txqueuelen 1000 (Ethernet)
RX packets 0 bytes 0 (0.0 B)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 0 bytes 0 (0.0 B)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0

eth1: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
ether f4:4d:ad:04:49:d5 txqueuelen 1000 (Ethernet)
RX packets 11626 bytes 1414469 (1.3 MiB)
RX errors 0 dropped 4 overruns 0 frame 0
TX packets 1326 bytes 166549 (162.6 KiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0

lo: flags=73<UP,LOOPBACK,RUNNING> mtu 65536
inet 127.0.0.1 netmask 255.0.0.0
inet6 ::1 prefixlen 128 scopeid 0x10<host>
loop txqueuelen 1000 (Local Loopback)
RX packets 6 bytes 234 (234.0 B)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 6 bytes 234 (234.0 B)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0

wlan0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet6 fe80::ba27:ebff:fe3c:e30 prefixlen 64 scopeid 0x20<link>
ether b8:27:eb:3c:0e:30 txqueuelen 1000 (Ethernet)
RX packets 0 bytes 0 (0.0 B)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 23 bytes 3164 (3.0 KiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0

eth0 → eth1 の方向に bitrateを500
eht1 → eth0の方向にbitrateを300
で設定したい時、入力するコマンドを、 既存の設定をクリアにするところから教えて下さい

以下の手順で、既存の設定をクリアし、eth0からeth1の方向にビットレート500kbps、eth1からeth0の方向にビットレート300kbpsを設定できます。


1. 既存のtc設定をクリアする

まず、eth0eth1tc設定を削除します。

sudo tc qdisc del dev eth0 root 2>/dev/null
sudo tc qdisc del dev eth1 root 2>/dev/null

2. eth0 → eth1 のビットレートを500kbpsに制限する

eth0tcを設定します。

sudo tc qdisc add dev eth0 root handle 1: htb default 1
sudo tc class add dev eth0 parent 1: classid 1:1 htb rate 500kbit ceil 500kbit

3. eth1 → eth0 のビットレートを300kbpsに制限する

eth1tcを設定します。

sudo tc qdisc add dev eth1 root handle 1: htb default 1
sudo tc class add dev eth1 parent 1: classid 1:1 htb rate 300kbit ceil 300kbit

4. 設定確認

以下のコマンドで設定を確認できます。

sudo tc -s qdisc show dev eth0
sudo tc -s qdisc show dev eth1

5. オプション: 遅延やパケットロスを追加する場合

例えば、遅延やパケットロスを追加したい場合は、以下のように設定します。

eth0 → eth1 に遅延を追加(例: 50ms)

sudo tc qdisc add dev eth0 parent 1:1 handle 10: netem delay 50ms

eth1 → eth0 にパケットロスを追加(例: 10%)

sudo tc qdisc add dev eth1 parent 1:1 handle 10: netem loss 10%

この設定により、双方向の帯域制御が行われます。必要に応じて、burstlatencyのオプションを追加してください。

2025,江端さんの技術メモ

Posted by ebata