Nowe posty

Autor Wątek: Dynamiczne dzielenie łącza internetowego - HTB, SFQ  (Przeczytany 2884 razy)

Debianer

  • Gość
Witam,
Mam router na Linuxie (Debian etch 4.0, 2.6) i chciałbym profesjonalniej podzielić moje łącze.
Mam firewall-a na iptables, udostępniam internet innym komputerom.
Skompilowałem iproute2 (make, make install).

Następnie zabrałem sie za przycinanie pasma:
eth0 - lan
eth1 - internet
192.168.0.1 - router/serwer

tc qdisc del root dev eth0
tc qdisc add dev eth0 root handle 1:0 htb

tc class add dev eth0 parent 1:0 classid 1:1 htb rate 95000kbit ceil 95000kbit

tc class add dev eth0 parent 1:1 classid 1:2 htb rate 970kbit ceil 970kbit
tc class add dev eth0 parent 1:1 classid 1:3 htb rate 94000kbit ceil 94000kbit

tc class add dev eth0 parent 1:2 classid 1:4 htb rate 500kbit ceil 970kbit
tc class add dev eth0 parent 1:2 classid 1:5 htb rate 200kbit ceil 970kbit

tc filter add dev eth0 protocol ip parent 1:0 u32 match ip src 192.168.0.1 flowid 1:3

tc filter add dev eth0 protocol ip parent 1:0 u32 match ip src 192.168.0.2 flowid 1:4

tc filter add dev eth0 protocol ip parent 1:0 u32 match ip src 192.168.0.3 flowid 1:5

tc qdisc add dev eth0 parent 1:3 handle 3:0 sfq perturb 10
tc qdisc add dev eth0 parent 1:4 handle 4:0 sfq perturb 10
tc qdisc add dev eth0 parent 1:5 handle 5:0 sfq perturb 10
Niestety nie spełnia to moich oczekiwań.
Chciałbym, zarezerwować pozostały rate (download) z głównej kolejki 270kbit dla serwera (mam kilka usług), poztym zarezerwować prawie cały (80% rate uploadu) upload dla niego, a gdy serwer nie korzysa z uploadu to kierować z ograniczeniem na komputery lokalne w sieci LAN. Czyli komputery w LAN-ie zawsze będa miały 20% uploadu, a więcej to tylko wtedy kiedy serwer nie będzie korzystał.

Prosiłbym o wyrozumiałość, z Linuxem dopiero miesiąc mam do czynienia.

micu

  • Gość
Dynamiczne dzielenie łącza internetowego - HTB, SFQ
« Odpowiedź #1 dnia: 2008-04-28, 13:49:59 »
Cześć,

Na pewno znalazłeś już to, ale na wszelki wypadek podaję, bo od tego trzeba zacząć:

http://lartc.org/howto/

Z przycinaniem pasma to nie należy przesadzać - nie piszę tego dla Twojego przypadku, chodzi mi tylko o generalną zasadę. Ale pokusa zazwyczaj jest :-)

W Twojej konfiguracji zastanowiłbym się poważnie nad celowością 'shapingu' ruchu LAN-LAN, szczególnie jeśli masz sieć 100mbit i więcej. Może lepiej zwiększyć ilość interfejsów sieciowych (są karty 2- i 4-portowe na PCI) i zrobić bonding ?

'shaping' pasma dla internetu powinien się odbywać na interfejsach :
eth1 - upload
eth0 - download
Klasyczny 'shaping' obejmuje ruch wychodzący. W Twoim przypadku 'upload' wychodzi przez eth1 a 'download' przez eth0. Dodatkowo, przycinaj tylko ruch 'forwardowany' czyli taki który wędruje między eth0 a eth1. Możesz go wychwycić markując pakiety forwardowane w iptables (-j MARK) a następnie kierując je znanym Ci już 'tc filter'.

To tak na szybko. Może coś z powyższego Ci się przyda. Moja konfiguracja nie jest tak zaawansowana więc nie we wszystkim Ci pomogę :-)

Pozdrawiam
Micu