Dacă lucrați cu pf și în momentul încărcării regulilor primiți acest mesaj:
atunci suportul pentru altq nu este activat. Puteți să-l activați numai prin reconstruirea kernel-ului. Pentru a face acest lucru, adăugați aceste opțiuni la fișierul de configurare a kernel-ului:
include subsistemul ALTQ
include clasificarea bazată pe clasă (CBQ). CBQ vă permite să distribuiți lățimea de bandă a conexiunilor în funcție de clasă sau de coadă pentru a prioritiza traficul pe baza regulilor de filtrare.
include Detectarea timpurie a aleatorii (RED). RED este utilizat pentru a preveni congestia rețelei. RED calculează lungimea coadă și o compară cu limitele minime și maxime ale coadă. Dacă coada depășește valoarea maximă, toate pachetele noi sunt eliminate. În conformitate cu numele său, RED elimină pachetele din diverse conexiuni în ordine aleatorie.
include detectarea timpurie a detectării timpurii și a ieșirii.
include prioritare (PRIQ). PRIQ întotdeauna depășește mai întâi traficul din coada superioară.
Include suport pentru SMP pentru ALTQ. Această opțiune este necesară pentru sistemele SMP.
Limitați numai traficul de ieșire (încărcare), deoarece intrarea (descărcarea) - a sosit deja și nu poate fi limitată. Dar există o modalitate dificilă (nu dă întotdeauna rezultatul dorit, dar este mai bine decât nimic): intrarea la interfața internă (descărcare) va fi externalizată. Acesta este exact modul în care vor fi scrise regulile.
Cu alte cuvinte, mai întâi compuneți regulile de distribuire a traficului și apoi închideți regulile firewall-ului, dar numai cu cuvântul cheie afară. În caz contrar, formatorul nu va funcționa.
Permiteți-mi să vă reamintesc că, în ordinea regulilor, este important:
- 1) macro-uri
- 2) tabele
- 3) opțiuni
- 4) parametrii de normalizare
- 5) Prioritizarea și cozi ALTQ
- 6) regulile de traducere
- 7) reguli de filtrare
Prin urmare, regulile care încep cu altq / queue vor merge peste regulile de traducere și regulile de trecere - împreună cu regulile de filtrare.
Și acum, pentru a vedea starea cozilor, hai să realizăm:
Fiți atent atunci când utilizați împrumut + cbq. pentru că nu funcționează întotdeauna, pentru că o doriți. Un exemplu frapant nu este împrumutarea lărgimii de bandă de la părinți. Dacă pe scurt - apoi folosiți în loc de cbq -> hfsc
În filtrul de pachete (începând cu OpenBSD 5.5) pf a implementat un nou sistem pentru gestionarea cozilor de pachete de rețea, care au înlocuit sistemul de prioritizare a traficului și managementul lățimii de bandă ALTQ. Suportul ALTQ este încă stocat, dar va fi eliminat în următoarea versiune. Acțiunea implicită de blocare a fost modificată, pf.conf folosește acum "block return". Cel mai simplu exemplu de sintaxă nouă pentru stabilirea priorităților pentru diferite tipuri de trafic: