This is an old revision of the document!
Utilitarul tc
oferă un control foarte bun asupra parametrilor QoS. Dar, din păcate, sintaxa este foarte complexă, greu de reținut și puțin lizibilă. tcng
este un utilitar cu o sintaxă mult mai expresivă, asemănătoare limbajului C. Folosind aceasta sintaxă, el poate genera comenzile tc
echivalente.
Pe stația gateway
instalați utilitarul tcng
:
apt-get install tcng
Un fișier tcng
are următoarea sintaxă simplificată:
dev INTERFATA { QDISC () { class ( ACTIUNE ) FILTRU ; class ( ACTIUNE ) FILTRU ; ... class ( ACTIUNE ) FILTRU ; } }
Ne propunem să creăm un fișier tcng
, echivalent configurațiilor HTB de la 05. [10p] Traffic shaping classful:
eth0_htb.tc
.eth0
în câmpul dev
.htb
.rate xMbps
, unde x
este lățimea de bandă corespunzătoare.udp_port == ABCD
, respectiv tcp_port == ABCD
, unde ABCD
este portul corespunzător.dev eth0 { htb () { class ( rate 1Mbps ) if udp_dport == 8000 ; class ( rate 40Mbps ) if udp_dport == 6000 ; class ( rate 5Mbps ) if tcp_dport == 21 ; class ( rate 3Mbps ) if tcp_dport == 80 ; } }
Rulați tcng
pentru a obține comenzile echivalente tc
:
tcng eth0_htb.tc
Inspectați comenzile tc
generate și observați asemănările cu comenzile introduse manual.