-3

我的 QOS 在 VyOS 中运行良好,但需要迁移到 TinyCoreLinux,因为我将将此 VM 共享为实验室路由器。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 脚本来尝试记录命令,但由于某种原因效果不佳。

4

1 回答 1

0

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

于 2019-10-12T04:26:11.467 回答