Shammer's Philosophy

My private adversaria

Linux tc command samples - 20141125

What is tc?

Linuxにはtcコマンドというものがある。https://linuxjf.osdn.jp/JFdocs/Adv-Routing-HOWTO/lartc.qdisc.htmlから辿ることのできる内容が一次情報に近そうだ。結構古そうだが。このコマンドを使用することで、パケットの遅延やdropを発生させることができる。仕組みは複雑だがコマンド自体はまとめておけば使い回しできそうなので、使い回しできそうなコマンドの例をまとめる。

基本

ルールの追加、削除はadd/deleteで行う。

# tc qdisc add ...
# tc qdisc delete ...

eth1から出るパケットを遅延させる
# tc qdisc add dev eth1 root netem delay 200ms
eth1でパケロスを発生させる
# tc disc add dev eth1 root netem loss 25%
eth1でパケットの重複を発生させる
# tc qdisc add dev eth1  root netem duplicate 20%
eth1に設定されているtcの状態を確認する
# tc qdisc show dev eth1