Linux tc(流量控制)工具 - 配置后 ssh 连接问题

Linux tc (traffic control) tool - problebs with ssh connection after configuration

我有一个简单的目标:在 2 个 vm-s A(服务器)和 B(客户端)之间模拟 'bad traffic'。

我在节点 B(客户端)的脚本:

 tc qdisc del dev eth4 root
tc qdisc add dev eth4 root handle 1: prio
tc qdisc add dev eth4 parent 1:1 handle 2: netem delay 300ms 300ms loss 10%
tc filter add dev eth4 parent 1:0 protocol ip pref 55 handle ::55 u32 match ip dport 4800 dst 172.29.49.115 flowid 1:1
tc filter add dev eth4 parent 1:0 protocol ip pref 55 handle ::55 u32 match ip src 172.29.49.115 flowid 1:1

工作正常,但我遇到的问题是仿真影响了我通过 ssh 与节点 B [C(我的机器)- B(客户端)] 的连接。当我将包丢失设置为 60% 时,那几乎不可能再进一步了...

我怎样才能避免这种情况?

顺便说一句,过滤器似乎工作正常,来自 B 的 pingi google.com 工作正常,从 B ping A - 包丢失和延迟。从 C(我的机器)Ping B - 要么没有延迟。

高优先级流量带宽(保证最大速度和优先级1)

tc qdisc add dev eth3 parent 1:5 handle 50:0 sfq perturb 1

带高优先级的ssh

tc filter add dev eth3 parent 1:0 protocol ip prio 0 u32 match ip sport 22 0xffff flowid 1:5