Portál AbcLinuxu, 17. července 2025 18:53


Dotaz: omezení přes ipp2p, kde je chyba ?

1.5.2005 04:47 Petr Omar
omezení přes ipp2p, kde je chyba ?
Přečteno: 325×
Odpovědět | Admin
Potřebuji omezit(ne zakazat) rychlost p2p sítím. Chtěl jsem na to použít ipp2p. označení paketů: iptables -t mangle -A PREROUTING -p tcp -m ipp2p --ipp2p -j MARK --set-mark 1111 iptables -t mangle -A PREROUTING -p udp -m ipp2p --ipp2p -j MARK --set-mark 1111

omezení přes htb

tc qdisc add dev eth5 root handle 1:0 htb default 10 tc class add dev eth5 parent 1:0 classid 1:1 htb rate 256kbit tc class add dev eth5 parent 1:1 classid 1:11 htb rate 64kbit ceil 256kbit tc filter add dev eth5 parent 1:0 protocol ip handle 1111 fw flowid 1:11

Při tomto zadání to nefuguje. Chyba bude asi někde v označení, protože když dám místo mark DROP tak to zakáže.

Děkuji za odpovědi
Nástroje: Začni sledovat (2) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

1.5.2005 12:33 Drašar | skóre: 27 | Velký Týnec
Rozbalit Rozbalit vše Re: omezení přes ipp2p, kde je chyba ?
Odpovědět | | Sbalit | Link | Blokovat | Admin
Zkus nasledujici:
01# iptables -t mangle -A PREROUTING -p tcp -j CONNMARK --restore-mark
02# iptables -t mangle -A PREROUTING -p tcp -m mark ! --mark 0 -j ACCEPT
03# iptables -t mangle -A PREROUTING -p tcp -m ipp2p --ipp2p -j MARK --set-mark 1
04# iptables -t mangle -A PREROUTING -p tcp -m mark --mark 1 -j CONNMARK --save-mark
Podle me ti tam chybi to spoledni pravidlo -j CONNMARK --save-mark, takze se ti pakety neznackuji (nezapomen, ze musis mit v iptables modul CONNMARK z patch-o-matic, nebo jadro >= 2.6.10, kde je jiz integrovan a neni treba jadro patchovat). Pokud mas posledni verzi 0.7.4 a vynechas parametr -p tcp, tak to slape pro TCP i UDP ;-).

Jinak tady v sekci Miscellaneous jsou nejaky priklady, podle toho jsem to rozchodil i ja :-).

Patička
1.5.2005 16:42 x
Rozbalit Rozbalit vše Re: omezení přes ipp2p, kde je chyba ?
diky, s tim CONNMARK mi to už ipp2p značkuje jak má. Ještě bych měl jednu ozázku. Jeden uživatel sítě pořád stahuje nějaky video soubory avi,mpg,wmv. a nepřiměřeně tim brzdíl linku. Vše je to z HTTP, takže omezením portu cesta nevede. Napadlo mě že by to mohlo jít možná provést přes STRING. Když zadám iptables -t mangle -A PREROUTING -d 10.0.0.55 -m string --string ".avi" -j DROP tak nejdou stahnout avi soubory. takže to funguje. ALe problém je podle mě v tom že když to zas omarkuju tak se omezí jen první paket, a zbytek už zas půjde normálně. Da se ještě tohle nějak provést ?
5.8.2005 10:48 David Sedláček | skóre: 20 | Žďár nad Sázavou
Rozbalit Rozbalit vše Re: omezení přes ipp2p, kde je chyba ?
Zdravim. Vytvoril jsem si podobny skript, ktery bohuzel nefunguje (traffic se neshapuje), respektive zda se mi, ze se pakety neznackuji jak pozaduji. Berte na vedomi, ze kazdy paket je znackovan pred timto vsim. Pocitam s tim, ze se znacka prepise, pokud pasuje do techto pravidel.

Na INETDEV eth0 bezi NAT.

RETVAL=0

umask 077

start() {
    echo -n $"Startuji shaping p2p: "

IPT="/sbin/iptables"
LANDEV="eth1"
INETDEV="eth0"
MAXDOWNRATE="100kbit"
MINDOWNRATE="50kbit"
MAXUPRATE="50kbit"
MINUPRATE="50kbit"
MANAS="10.30.0.0/255.255.0.0"

###########################################################################################
#	P2P shaping
#oznacit p2p paket 
$IPT -t mangle -A PREROUTING -m tcp -j CONNMARK --restore-mark
$IPT -t mangle -A PREROUTING -m mark ! --mark 0 -j ACCEPT
$IPT -t mangle -A PREROUTING -m ipp2p --ipp2p -j MARK --set-mark 9999
$IPT -t mangle -A PREROUTING -m mark --mark 9999 -j CONNMARK --save-mark

#
#vytvorit novou tridu na lokalnim NIC
/sbin/tc class add dev $LANDEV parent 1:60 classid 1:9999 htb rate $MINDOWNRATE ceil $MAXDOWNRATE burst 0k
/sbin/tc qdisc add dev $LANDEV parent 1:9999 handle 9999 sfq perturb 10
/sbin/tc filter add dev $LANDEV parent 1:0 protocol ip handle 9999 fw flowid 1:9999
#
#vytvorit novou tridu na inet NIC
/sbin/tc class add dev $INETDEV parent 1:60 classid 1:9999 htb rate $MINUPRATE ceil $MAXUPRATE burst 0k
/sbin/tc qdisc add dev $INETDEV parent 1:9999 handle 9999 sfq perturb 10
/sbin/tc filter add dev $INETDEV parent 1:0 protocol ip handle 9999 fw flowid 1:9999
###########################################################################################


    return $RETVAL
}

stop() {
        echo -n $"Koncim shaping p2p: "
        /sbin/tc qdisc del dev eth0 root
	/sbin/tc qdisc del dev eth1 root
	iptables -t mangle -F
        return $RETVAL
}

Lachmex avatar 7.8.2005 03:02 Lachmex | skóre: 11
Rozbalit Rozbalit vše Re: omezení přes ipp2p, kde je chyba ?
Možná jdu "mimo mísu" ale já také používám IPP2P, ale pokud jej použiji jako "... -m ipp2p --ipp2p -j DROP" tak to sice zahazuje, ale cca 30-50%. Pokud však přidám roli takto:

... -m ipp2p --ipp2p -j ...
... -m ipp2p --ipp2p-data -j ...

je to takřka 95%. Tzn. použijte OBA parametry (--ipp2p --ipp2p-data) a dejte prosím vědět, zda-li Vám to nebude fungovat lépe... Děkuji

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.