Witam serdecznie,
na początek pojadę stzampowo czyli : od niedawna rozpocząłem swoją przygodę z Linuxem. Jak na razie idzie mi średnio, ale system jest tak wciągający, że pomimo trudności jestem zdeterminowany się z nim dobrze zapoznać
Kolega postawił w naszej sieci serwer na NND. Podział łącza chodzi dobrze, ale mamy kłopoty z markowaniem pakietów, bądź też (co dla mnie bardziej prawdopodobne) z puszczaniem zamarkowanych pakietów do odpowiedniej kolejki. Do markowania używamy Layer7 oraz ipp2p w wersji 0.8.1
Regułki do markowania bez kłopotu znaleźliśmy tutaj na forum, stąd myślę, że znakowanie pakietów jest poprawne. Niestety pomimo tego włączając funkcję p2p upload rozpędza się na maxa zapychając łącze, a przy DSL 4Mbit sami wiecie jak krucho jest ul.
Używamy skryptu :
# rchtb 0.22 Zciech VER=0.22-05.09.09
# rc.htb 0.3.3-stable, (C)PriSM 2oo3, GNU GPL
który oryginalnie markował ruch p2p po portach. Nasza modyfikacja polegała na tym, że zamiast po portach wkleiliśmy regułki "markujące" po pakietach. Nie zmienialiśmy ani regułek kolejek, ani filtrów.
Cały skrypt znajduje się tutaj :
http://www.i-net.zgora.pl/rc.htb
natomiast sekcję P2P pozwolę sobie wkleić tutaj :
# Pasmo dla p2p
$h class add dev $LANINT parent 1:2 classid 1:5 htb rate ${USERDOWN}kbit ceil ${P2PDOWN}kbit prio 4 quantum 1500
$h qdisc add dev $LANINT parent 1:5 $SFQ
$h class add dev $WANINT parent 2:1 classid 2:5 htb rate ${USERUP}kbit ceil ${P2PUP}kbit prio 6 quantum 1500
$h qdisc add dev $WANINT parent 2:5 $SFQ
if [ $P2P_ON = 1 ];then
$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 -p tcp -m ipp2p --bit --edk --kazaa --gnu --dc --ares --apple --winmx --soul -j MARK --set-mark 2
$i -t mangle -A PREROUTING -p udp -m ipp2p --bit --edk --kazaa --gnu --dc --ares --apple --winmx --soul -j MARK --set-mark 2
$i -t mangle -A PREROUTING -p udp -m layer7 --l7proto bittorrent -j MARK --set-mark 2
$i -t mangle -A PREROUTING -p tcp -m layer7 --l7proto bittorrent -j MARK --set-mark 2
$i -t mangle -A PREROUTING -p udp -m layer7 --l7proto ares -j MARK --set-mark 2
$i -t mangle -A PREROUTING -p tcp -m layer7 --l7proto ares -j MARK --set-mark 2
$i -t mangle -A PREROUTING -p udp -m layer7 --l7proto edonkey -j MARK --set-mark 2
$i -t mangle -A PREROUTING -p tcp -m layer7 --l7proto edonkey -j MARK --set-mark 2
$i -t mangle -A PREROUTING -p udp -m layer7 --l7proto gnutella -j MARK --set-mark 2
$i -t mangle -A PREROUTING -p tcp -m layer7 --l7proto gnutella -j MARK --set-mark 2
$i -t mangle -A PREROUTING -p udp -m layer7 --l7proto imesh -j MARK --set-mark 2
$i -t mangle -A PREROUTING -p tcp -m layer7 --l7proto imesh -j MARK --set-mark 2
$i -t mangle -A PREROUTING -p tcp -m mark --mark 2 -j CONNMARK --save-mark
$i -t mangle -N MARKED
$i -t mangle -A POSTROUTING -m mark --mark 2 -j MARKED
$h filter add dev $LANINT parent 1:0 protocol ip prio 4 handle 2 fw flowid 1:5
$h filter add dev $WANINT parent 2:0 protocol ip prio 4 handle 2 fw flowid 2:5
fi
Nie wiem, czy kolejność odpowiednich wpisów jest poprawna, nie wiem czy ma to znaczenia i jakiej jest ono ew. wagi. jak pisałem wcześniej jestem w trakcie wgryzania się w temat, ale rozwiązania potzrebuję pilnie, bo aktualnie wszyscy ludzie mają max. przycięty upload do 48 kbit, aby nie zapychali łącza. Jednak planuje rozszerzenie sieci i muszę mieć w miarę skutecznie działające narzędzie do przycinania P2P.
Z góry dziekuję za wszelką pomoc oraz sugestie.
Pozdrawiam