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 descărcați și instalați utilitarul tcng:
root@gateway:~# wget http://ftp.us.debian.org/debian/pool/main/t/tcng/tcng_10b-3_amd64.deb root@gateway:~# dpkg -i tcng_10b-3_amd64.deb
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.QDISC-ul 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.