linux - 是否可以对 iproute tc 命令进行逆向工程?

标签 linux bandwidth-throttling trafficshaping iproute tiny-core-linux

我的 QOS 在 VyOS 中运行良好,但需要迁移到 TinyCoreLinux,因为我将共享此虚拟机作为实验室路由器。 VyOS 为 400MB,而 TCL 为 10MB。

使用 VyOS 中的“set”命令,它会生成如下 tc 输出:

**# tc -p qdisc show dev eth0**
qdisc htb 1: root refcnt 2 r2q 625 default 1f direct_packets_stat 0 direct_qlen 1000
qdisc sfq 8012: parent 1:1f limit 127p quantum 1514b depth 127 divisor 1024
qdisc sfq 8013: parent 1:a limit 127p quantum 1514b depth 127 divisor 1024
qdisc sfq 8014: parent 1:14 limit 127p quantum 1514b depth 127 divisor 1024
qdisc sfq 8015: parent 1:1e limit 127p quantum 1514b depth 127 divisor 1024

**# tc -p qdisc show dev eth1**
qdisc htb 1: root refcnt 2 r2q 625 default 2 direct_packets_stat 0 direct_qlen 1000
qdisc sfq 800f: parent 1:2 limit 127p quantum 1514b depth 127 divisor 1024

**# tc -p qdisc show dev eth2**
qdisc htb 1: root refcnt 2 r2q 625 default 2 direct_packets_stat 0 direct_qlen 1000
qdisc sfq 8016: parent 1:2 limit 127p quantum 1514b depth 127 divisor 1024

**# tc -p qdisc show dev eth3**
qdisc htb 1: root refcnt 2 r2q 625 default 2 direct_packets_stat 0 direct_qlen 1000
qdisc sfq 8011: parent 1:2 limit 127p quantum 1514b depth 127 divisor 1024

**# tc -p class show dev eth0**
class htb 1:1 root rate 1000Mbit ceil 1000Mbit burst 1375b cburst 1375b
class htb 1:a parent 1:1 leaf 8013: prio 0 rate 100000Kbit ceil 100000Kbit burst 15337b cburst 1600b
class htb 1:14 parent 1:1 leaf 8014: prio 0 rate 10000Kbit ceil 10000Kbit burst 15Kb cburst 1600b
class htb 1:1f parent 1:1 leaf 8012: prio 0 rate 1000Kbit ceil 1000Kbit burst 15Kb cburst 1600b
class htb 1:1e parent 1:1 leaf 8015: prio 0 rate 5000Kbit ceil 5000Kbit burst 15Kb cburst 1600b

**# tc -p class show dev eth1**
class htb 1:1 root rate 1000Mbit ceil 1000Mbit burst 1375b cburst 1375b
class htb 1:2 parent 1:1 leaf 800f: prio 0 rate 40000Kbit ceil 40000Kbit burst 15Kb cburst 1600b

**# tc -p class show dev eth2**
class htb 1:1 root rate 1000Mbit ceil 1000Mbit burst 1375b cburst 1375b
class htb 1:2 parent 1:1 leaf 8016: prio 0 rate 50000Kbit ceil 50000Kbit burst 15Kb cburst 1600b

**# tc -p class show dev eth3**
class htb 1:1 root rate 1000Mbit ceil 1000Mbit burst 1375b cburst 1375b
class htb 1:2 parent 1:1 leaf 8011: prio 0 rate 10000Kbit ceil 10000Kbit burst 15Kb cburst 1600b

**# tc -p filter show dev eth0**
filter parent 1: protocol all pref 1 basic
filter parent 1: protocol all pref 1 basic handle 0x1 flowid 1:a
  meta(rt_iif mask 0x00000000 eq 3)

filter parent 1: protocol all pref 2 basic
filter parent 1: protocol all pref 2 basic handle 0x1 flowid 1:14
  meta(rt_iif mask 0x00000000 eq 4)

filter parent 1: protocol all pref 3 basic
filter parent 1: protocol all pref 3 basic handle 0x1 flowid 1:1e
  meta(rt_iif mask 0x00000000 eq 5)

有没有办法对其进行逆向工程以获得原始命令?

我尝试查看生成 tc 命令的 VyOS perl 代码,但它到处都是,没有注释,而且我的 Perl 知识也不是很好。

我还尝试将/sbin/tc 重命名为/sbin/tc_ 并创建了/sbin/tc 脚本来尝试记录命令,但由于某种原因效果不佳。

最佳答案

在/var/log/vyatta/vyatta-commit.log 中找到它

关于linux - 是否可以对 iproute tc 命令进行逆向工程?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58350414/

相关文章:

linux - wget 如何只保存从目标页面链接到的页面链接到的某些文件类型?

c++ - 使用 g++ 在 linux 中进行静态编译

linux - tc 过滤器丢弃匹配的数据包

linux - fork 和 waitpid 在 Linux 上失败。没有达到硬限制或软限制

linux - 如何使用 linux 命令将包含十六进制的文本文件转换为二进制文件?

ios - 限制 NSURLConnection 数据速率? (带宽限制)

php - 服务器访问 Laravel API 的节流问题

c# - 高性能网络应用的最佳实践

linux - 为什么 tc 不能做 ingress shaping?入口整形有意义吗?

linux - 按字节限制的 tc-sfq 替代方案?