Pod NND pojawiła się paczka nowej ver. Niceshaper0.6rc2-1.
Wyrzucilem z tego postu niepotrzebne rzeczy a zostawilem tylko to co nam sie przyda przy instalacji niceshapera0.6
Link z aktualizowano:
29-09-2006
pacman -U http://www.ao.sytes.net/niceshaper/nice ... pkg.tar.gz poprawka Alfredzika
Utworzy nam się /etc/niceshaper0.6
a w nim dwa pliki: config i class
Jak nalerzy z konfigurować niceshapera0.6, podane jest na stronie Autora.
Polecenia :
Cytuj:
/etc/rc.d/niceshaper0.6 start - odpalamy!
Cytuj:
/etc/rc.d/niceshaper0.6 stop - zatrzymujemy
Cytuj:
/etc/rc.d/niceshaper0.6 restart - stopi i start
Ciekawym rozwiązaniem dla tych co przyzwyczjeni są do konfiguracji z niceshapera 0.5 pliku
users , jest polecenie
Cytuj:
niceshaper convert
polecenie to z starego pliku users w pięknym stylu utworzy nam pliczek class .
Przed tym całym zabiegiem zostaniemy zapytani t/n/ ? Czy chcemy aby klasy posiadały nazwy Useków czy IP ków
Nalerzy wybrać IP - ków
Reszty szukać w dokumentacji ...
I tak sie tu rozpisałem niepotrzebnie, ale...
lepsze to niż myć gary ":D
Cytuj:
ps -A
przy prawidłowym odpaleni powinny nam sie trzymać trzy procesy 'niceshaper'
Jesli procesów jest wiecej albo mniej
coś mamy nie tak ...
No i :
Cytuj:
/etc/rc.d/niceshaper0.6 stats
Tu mamy wszystko jak po myciu garów... :p
I przykład:
mamy w /etc/niceshaper0.6/
A tam dwa najwarzniejsze dla nas pliki "
/etc/niceshaper0.6/class
/etc/niceshaper0.6/configI tu zaczuna się cała zabawa. Dokladnie czytać dokumentacje !
Mozliwości podziału łącza dla kllku sieci wszytsko robi sie bardzo podobnie jak w HTB tworząc klasy możemy ograniczyć prawiewszytsko:
1. przykład mojego pliku config:
/etc/niceshaper0.6/configDSL 2000 > 512kb/s
kilobitów czyli 64/kB/s
kiloBajtów(dokupionego) uploadu.
Cytuj:
<global>
run download upload
support mark on eth0
stats unit kb/s file none # owner root group root mode 644
</global>
<download>
iface eth1 dst network 192.168.0.0/24
iface eth1 dst network 192.168.0.1/24
section speed 212kB/s
section shape 190kB/s
default low 10kB/s
default ceil 64kB/s
default htb_prio 5
default overtake 30kB/s
default hold 30s
default scheduler none
# debug iptables iproute
mode download
reload 3s
</download>
<upload>
iface eth0 src network 192.168.0.0/24
iface eth0 src network 192.168.0.1/24
section speed 64kB/s
section shape 52kB/s
default low 2kB/s
default ceil 16kB/s
default htb_prio 5
default overtake 4kB/s
default hold 30s
default scheduler sfq
# debug iptables iproute
mode upload
reload 3s
</upload>
2. Przykład mojego pliku class:
/etc/niceshaper0.6/class zamiast starego
users
Cytuj:
class download eth1 Komp_2
match dstip 192.168.0.2
low 2kB/s
ceil 40kB/s
class upload eth0 Komp_1
match srcip 192.168.0.2
low 1kB/s
ceil 7kB/s
class download eth1 Komp_3
match dstip 192.168.0.3
low 4kB/s
ceil 42kB/s
class upload eth0 Komp_3
match srcip 192.168.0.3
low 1kB/s
ceil 7kB/s
class download eth1 Komp_4
match dstip 192.168.0.4
low 3kB/s
ceil 42kB/s
class upload eth0 Komp_4
match srcip 192.168.0.4
low 1kB/s
ceil 7kB/s
czerwony - download w kiloBajtach
niebieski - upload w kiloBajtach
Przy
Class podajemy nazwe userka tak jak mamy w pliku /etc/hosts
Przy
match podajemy IP userka tak jak to jest przporządkowane w /etc/hosts
Jak sobie przy tym graniczyć p2p?
Ano w bardzo prosty sposób
Np za pomocą ipp2p :
Zaużmu, ze mamu juz zainstalowany ipp2p
Wystarczy oznakować pakiety p2p
np. takim skryptem:
Cytuj:
#!/bin/bash
i="/usr/sbin/iptables"
#markowanie okreslonych pakietow
$i -t mangle -A PREROUTING -p tcp -j CONNMARK --restore-mark
$i -t mangle -A PREROUTING -p tcp -m mark ! --mark 0 -j ACCEPT
$i -t mangle -A PREROUTING -m ipp2p --ipp2p -j MARK --set-mark 0x999
#----- ta linia z ipp2p 0.8.0 jest zbedna w poprzednich musi byc
#$i -t mangle -A PREROUTING -m ipp2p --ipp2p-data -j MARK --set-mark 0x999
$i -t mangle -A PREROUTING -p tcp -m mark --mark 0x999 -j CONNMARK --save-mark
teraz np chcąc ograniczyć dla danego ip p2p
Cytuj:
class download eth1 janek
match mark 0x999 dstip 192.168.0.3 #wprzypadku całejsieci 192.168.0.0/24
rate 15kB/s
[b]match mark normalnie potęga!
Znakują pakiety, czy za pomocą iptables, czy za pomocą ipp2p, czy lajer7 możemy ograniczyć prawie wszystko!
Przytocze możliwości math mark zdokumentacji Autora programu :
Cytuj:
Testy wymagające włączonego markowania na interfejsie:
Iptables został zaopatrzony w olbrzymią liczbę filtrów, które nie są niestety możliwe do zrealizowania przy użyciu filtra U32. Dlatego też poniższe filtry wymagają mark'owania przez (support mark on). Każdy wychwycony i oznaczony przez iptables pakiet może już być bez problemu skolejkowany do odpowiedniej klasy HTB dzięki filtrowi fw który zostaje użyty w miejsce filtra u32 ten aspekt będzie szczególnie rozbudowywany w kolejnych wersjach testowych i zależny jest od możliwości iptables w systemie.
{state} - stan pakietu:
new - pakiet rozpoczyna nowe połączenie
established - pakiet nalezy do nawiązanego połączenia
related - pakiet rozpoczynajacy nowe połączenie jednak powiązany z istniejącą konwersjacją ( np. transfer danych po ftp )
invalid - pakiet niemoże zostać rozpoznany
untracked - pakiet nie należący do śledzonego połączenia
{tos} - wartość pola TOS pakietu.
{ttl} - TTL pakietu równe podanej wartości
{ttl-lower} - TTL pakietu mniejsze od podanej wartości
{ttl-greater} - TTL pakietu większe od podanej wartości[/color]
{mark} - pakiety oznaczone podaną wartością
dodatkowe parametry sterujące pracą danej klasy:
W ramach dodatkowych parametrów nadpisać możemy każdy z domyślnych parametrów zdefiniowanych w ramach dyrektywy default ( rate, low, ceil, overtake, htb-prio, hold )
Mam nadzieję, że pojawi się w tym poscie zainteresowanie i sporo przykładów. JMogę narazie powiedzieć, że Niceshaper0.6 dzieli o wiele dokładniej od poprzedniej wersji i naprawde jego możliwości są ogromne. Dla prowiderów sieci internetowej, gdzie wprzyszłosci staną przed podziałem kilku łącz może to stać się naprawde proste rozwiazanie.
Zapraszam do testowania. To chyba jedyny sposób aby wskazać jakieś błędy Autorowii tego programu i sprawić by nasze NICESHAPER dzielił łącze w jak najbardziej wydajny sposób.
