问题描述
我正在模拟应用程序测试的网络延迟。所以我用tc命令来模拟流量。
就我而言,我想从使用 tc 过滤器中排除一些端口。所以下面是我使用过的命令。
创建根
sudo /sbin/tc qdisc add dev eth0 root handle 1: htb default 6
sudo /sbin/tc class add dev eth0 parent 1: classid 1:1 htb rate 1000Mbps ceil 1000Mbps
sudo /sbin/tc class add dev eth0 parent 1:1 classid 1:5 htb rate 1000Mbps ceil 1000Mbps
sudo /sbin/tc class add dev eth0 parent 1:1 classid 1:6 htb rate 1000Mbps ceil 1000Mbps
执行以上几行后,我尝试使用 nmap 从另一台机器 ping 机器。
nmap -p 22 10.11.12.13
Host is up (0.00020s latency)
然后运行下面的命令,
sudo /sbin/tc qdisc add dev eth0 parent 1:6 handle 3518: netem delay 500ms
运行上述命令后,再次运行nmap测试延迟
nmap -p 22 10.11.12.13
Host is up (0.5s latency)
然后添加过滤命令排除22端口,
sudo /sbin/tc filter add dev eth0 protocol ip parent 1: prio 0 u32 match ip sport 22 0xffff flowid 1:5
现在再次测试延迟,
nmap -p 22 10.11.12.13
Host is up (0.44s latency)
延迟仅从 0.5 减少到 0.44 -> 为什么它没有像初始阶段那样完全减少(例如 0.00023s)
需要一些输入,我上面的命令有任何问题。请帮我解决这个问题。
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)