Pagina 1 di 1

iptables -m limit ??

Inviato: gio 24 ago 2006, 13:46
da KiaZ
Premetto che ho gia' letto qui che se ne parla : http://www.slacky.it/forum/viewtopic.php?t=14426
ma non mi e' molto d'aiuto.

Ho sentito dire che con quest'opzione e' possibile limitare la banda tramite iptables.
Non ho pero' trovato molta documentazione in merito : qualcuno sa dirmi come posso limitare la banda a 512 kbits in entrambe le direzioni ?

Non sono sicura che basti iptables sinceramente .... non ci vuole anche qualcos'altro in accoppiata ?

Grazie, ciao

KiaZ

Re: iptables -m limit ??

Inviato: gio 24 ago 2006, 14:49
da masalapianta
KiaZ ha scritto:Premetto che ho gia' letto qui che se ne parla : http://www.slacky.it/forum/viewtopic.php?t=14426
ma non mi e' molto d'aiuto.

Ho sentito dire che con quest'opzione e' possibile limitare la banda tramite iptables.
Non ho pero' trovato molta documentazione in merito : qualcuno sa dirmi come posso limitare la banda a 512 kbits in entrambe le direzioni ?
il modulo limit di netfilter non e' pensato per essere usato come traffic shaper (cosa che sembra servire a te, da quanto scrivi), in quanto, i pacchetti che eccedono il troughput massimo impostato, non vengono accodati ma droppati; a te serve un traffic shaper:
http://lartc.org/

Re: iptables -m limit ?? (limitare la banda)

Inviato: gio 24 ago 2006, 15:35
da KiaZ
masalapianta ha scritto:
KiaZ ha scritto:Premetto che ho gia' letto qui che se ne parla : http://www.slacky.it/forum/viewtopic.php?t=14426
ma non mi e' molto d'aiuto.

Ho sentito dire che con quest'opzione e' possibile limitare la banda tramite iptables.
Non ho pero' trovato molta documentazione in merito : qualcuno sa dirmi come posso limitare la banda a 512 kbits in entrambe le direzioni ?
il modulo limit di netfilter non e' pensato per essere usato come traffic shaper (cosa che sembra servire a te, da quanto scrivi), in quanto, i pacchetti che eccedono il troughput massimo impostato, non vengono accodati ma droppati; a te serve un traffic shaper:
http://lartc.org/
Perdonate la mia notevole ignoranza in materia, non ho mai avuto a che vedere con traffic shaping su linux.
Io devo limitare la banda up e down che passa attraverso un firewall linux (nat) a 512 kbits
Non mi interessano priorita' o diavolerie di qos, mi basta che da la non passino piu' di 512 kbits su tutti i protocolli .... ho guardato piu' volte lartc.org ma non ci ho mai capito piu' di tanto.
Esiste qualche scirpt o qualche tool (come esistono per iptables) in grado di aiutarmi a risovlere il mio problema ?
Ciao e grazie.

Re: iptables -m limit ?? (limitare la banda)

Inviato: gio 24 ago 2006, 17:38
da masalapianta
KiaZ ha scritto: Perdonate la mia notevole ignoranza in materia, non ho mai avuto a che vedere con traffic shaping su linux.
Io devo limitare la banda up e down che passa attraverso un firewall linux (nat) a 512 kbits
Non mi interessano priorita' o diavolerie di qos, mi basta che da la non passino piu' di 512 kbits su tutti i protocolli .... ho guardato piu' volte lartc.org ma non ci ho mai capito piu' di tanto.
se vuoi usare tc devi capire come funziona o devi pagare qualcuno che lo faccia per te, in caso contrario puoi usare traffic shaper piu' semplici come l'rshaper di Rubini

Inviato: gio 24 ago 2006, 17:55
da KiaZ
Conosco rhsaper e in questo caso non posso usarlo in quanto le macchine su cui devo limitare la banda sono degli embedded (linksys WRT54GL con firmware openwrt, vedi openwrt.org per + info) e non credo sia una buona idea ricompilare (e testare) rshaper.
Purtroppo non riesco a trovare in grio documentazione comprensibile su come fare quel che devo :( .

Inviato: ven 25 ago 2006, 10:34
da masalapianta
KiaZ ha scritto:Conosco rhsaper e in questo caso non posso usarlo in quanto le macchine su cui devo limitare la banda sono degli embedded (linksys WRT54GL con firmware openwrt, vedi openwrt.org per + info) e non credo sia una buona idea ricompilare (e testare) rshaper.
Purtroppo non riesco a trovare in grio documentazione comprensibile su come fare quel che devo :( .
e allora non ti resta che usare tc (la cui documentazione e' imho comprensibilissima ed esauriente); se proprio non hai basi di networking, traffic shaping, qos, ecc.. e quindi non ti raccapezzi tra la documentazione di tc, siccome tra le righe leggo che il tuo e' un problema di lavoro, paga un consulente e appioppa a lui la cosa

Inviato: ven 25 ago 2006, 12:06
da KiaZ
Nel caso tornasse utile a qualcun'altro posto lo script che ho trovato e che sto usando con qualche piccola modifica, sembra fare quasi il caso mio

Codice: Seleziona tutto

----- begin SCRIPT ---

#!/bin/sh
#
#   Custom Bandwidth Management
#
#
#
#

IPFILE=/qos/ipsqos

WIFI=eth1
RATE=460kbps
BURST=15k
COUNT=2

while getopts ":sxv" opt; do
    case $opt in
    s  )
            START=1 ;;
    x  )
            START=0 ;;
    v  )
            DEBUG=echo ;;
    \? )
            echo 'usage: cbm [-s|x] [-v]'
            exit 1
    esac
done

start_filters()
{
$DEBUG tc qdisc del dev $WIFI root >&- 2>&-
$DEBUG tc qdisc add dev $WIFI root handle 1: htb default 2
$DEBUG tc class add dev $WIFI parent 1: classid 1:1 htb rate 460kbit burst 11k
$DEBUG tc class add dev $WIFI parent 1:1 classid 1:2 htb rate 230kbit burst 11k


while read line
do
   IPADDR=$( echo  $line | awk  '{ printf $2}')
   RATE=$( echo  $line | awk  '{ printf $3}')
   BURST=$( echo  $line | awk  '{ printf $4}')
   COUNT=$(($COUNT + 1))

   $DEBUG tc class add dev $WIFI parent 1:1 classid 1:$COUNT htb rate $RATE burst $BURST
   $DEBUG tc filter add dev $WIFI protocol ip prio 1 u32 match ip dst $IPADDR/32 police rate $RATE burst $BURST flowid 1:$COUNT

done < $IPFILE

}
stop_filters()
{
$DEBUG tc qdisc del dev $WIFI root >&- 2>&-
}

if [ "$START" = "" ]; then
    echo "You must specify -s to start or -x to stop"
    exit 1
elif [ $START = 1 ]; then
    start_filters
    exit 0
else
    stop_filters
    exit 0
fi

----- end SCRIPT ---

Configuration file (ipqos, location /qos/)

------begin -----

mymachine 192.168.1.100 505kbit 110k
sistermachine 192.168.1.101 346kbit 64k
p2pmachine 192.168.1.102 346kbit 64k
littlebrother 192.168.1.103 200kbit 50k

------end------