Mam mały problem z ograniczeniem ruchu w sieci LAN, interesuje mnie mianowicie ograniczenie uploadu do internetu na poszczególnych stacjach w sieci. Kluczowa jest tutaj stacja 192.168.0.2 która ma mieć max upload 10 Kbit.
Moje interfejsy sieciowe eth0 - karta sieciowa ppp0 - SDI A skrypt wygląda tak: ------------------------------------------------------- #!/bin/bash tc qdisc del root dev ppp0 iptables -t mangle -D POSTROUTING -o ppp0 -j SHAPER-OUT iptables -t mangle -F SHAPER-OUT iptables -t mangle -X SHAPER-OUT # Na razie to samo... tworzymy główną kolejkę tc qdisc add dev ppp0 root handle 1:0 htb # Główna klasa: 115kbit tc class add dev ppp0 parent 1:0 classid 1:1 htb rate 115kbit ceil 115kbit quantum 12 # 3 klasy dla każdego komputera, łącznie z serwerem. Końcówkę quantum # musiałem dopisać, bo inaczej kernel wypisywał, że "quantum of class # ... is too small" i zaśmiecał logi. # Klasy o numerach 2 do 4, są to podklasy głównej klasy 1:1 tc class add dev ppp0 parent 1:1 classid 1:2 htb rate 30kbit ceil 115kbit quantum 4 # serwer tc class add dev ppp0 parent 1:1 classid 1:3 htb rate 10kbit ceil 10kbit quantum 4 # Lancelot tc class add dev ppp0 parent 1:1 classid 1:4 htb rate 30kbit ceil 115kbit quantum 4 # Quick # Sprawiedliwe kolejkowanie... tc qdisc add dev ppp0 parent 1:2 handle 2:0 sfq perturb 10 tc qdisc add dev ppp0 parent 1:3 handle 3:0 sfq perturb 10 tc qdisc add dev ppp0 parent 1:4 handle 4:0 sfq perturb 10 # Klasyfikujemy nie wg źródła pochodzenia pakietu, tylko wg fwmarka (to # po handle, 20 do 22). tc filter add dev ppp0 protocol ip preference 1 parent 1:0 handle 20 fw flowid 1:2 tc filter add dev ppp0 protocol ip preference 1 parent 1:0 handle 21 fw flowid 1:3 tc filter add dev ppp0 protocol ip preference 1 parent 1:0 handle 22 fw flowid 1:4 # Przypisanie pakietom znaczków, w zależności od pochodzenia. Każdy # pakiet wychodzący dostaje jakiś mark (-j MARK --set-mark xx): iptables -t mangle -N SHAPER-OUT iptables -t mangle -I POSTROUTING -o ppp0 -j SHAPER-OUT iptables -t mangle -A SHAPER-OUT -p tcp -s 192.168.0.2 -j MARK --set-mark 21 # od Lancelota iptables -t mangle -A SHAPER-OUT -s 192.168.0.3 -j MARK --set-mark 22 # od Quick'a # Z pakietami wychodzącymi z serwera jest # pewnien problem, ponieważ adresem źródłowym jest zewnętrzne IP SDI # (80.*). Tak więc pozostałe pakiety bez znaczka (mark=0) oznaczam jako # 20. iptables -t mangle -A SHAPER-OUT -m mark --mark 0 -j MARK --set-mark 20 ------------------------------------------------------- Niby wszystko powinno być ok (z mego punktu widzenia), lecz problem polega na tym, iż skrypt ograniczna zarówno upload jak i co ciekawe download??!!! Wygląda na to, jakby były znaczone zarówno pakiety wędrujące do stacji jak i z stacji, mimo, iż w iptables użyłem opcji "-s", dlaczego??? Co może być nie tak? Będę wdzięczny za jakiekolwiek wskazówki... Błędnie napisałem regułkę iptables??? Czy to może co innego, bo nie mam pojęcia? POMOCY!!! -- Jakub "Quickest" Kozicki IMSIS, Bydgoszcz .mailto: q u i c k e s t <at> p l d - l i n u x <dot> n e t RLU: #273864 | "Los jest ślepy, ale trafia bez pudła." _______________________________________________ pld-users-pl mailing list [email protected] http://lists.pld-linux.org/mailman/listinfo/pld-users-pl
