Vyatta i limity przepustowości na interfejsie

vyatta_logo
Nadszedł ten moment, kiedy jestem zmuszony w końcu zabrać się za konfigurację mojej ulubionej Vyatty. Sprawa jest tradycyjnie prosta 🙂 Wyszło mi na to, że będę udostępniął internet po sąsiedzku co za tym idzie wyszło na to, że najlepiej będzie jeżeli całość zestawie na osobnym interfejsie.

Osobną sieć udostępniam przez eth3, do dyspozycji mamy umowne łącze symetryczne 1mbit

configure [ set qos-policy traffic-shaper slimak [ set qos-policy traffic-shaper slimak bandwidth 512kbit [ set qos-policy traffic-shaper slimak default bandwidth 100% [ commit [
teraz nakładamy regułkę na interfejs eth3
[ set interfaces ethernet eth3 qos-policy out slimak [

Teraz już na naszym interfejsie nie da się pociągnąć więcej niż 512kbit.
Jako, że klient zamówił sobie łącze niesymetryczne musimy mu jeszcze przyciąć upload:
[ set qos-policy traffic-limiter siecin [ set qos-policy traffic-limiter siecin class 1 [ set qos-policy traffic-limiter siecin class 1 bandwidth 128kbit [ commit [
teraz regułkę nakładamy na iterfejs
[ set interfaces ethernet eth3 qos-policy in siecin [ commit [
Warto pamiętać o zapisaniu zmian
save

Ważna informacja: regułka na ograniczenia INa działa tak, że jeżeli nie ma obciążenia łącza to idzie z maksymalną prędkością, jeżeli pojawia się ruch na regułkach / interfejsach które nie są objęte reguła wtedy prędkość spada do zadanej wielkości.

Oczywiście podałem tutaj maksymalnie prosty schemat działania tego mechanizmu, ponieważ wykorzystałem dodatkowy interface i odpadło mi praktycznie całe rozpoznawanie ruchu. Gdybyśmy chcieli limitować poszczególne komputery / usługi trzeba poczytać o “matchach” czyli o sposobie klasyfikowania ruchu do danej klasy.

Przykład może nie jest optymalny, ale “u mnie działa”