* [LARTC] [LARTC] 2 net´s whitch 2 ADSL conections,
@ 2003-04-14 14:22 José Luis García López
0 siblings, 0 replies; only message in thread
From: José Luis García López @ 2003-04-14 14:22 UTC (permalink / raw)
To: lartc
[-- Attachment #1: Type: text/plain, Size: 343 bytes --]
Hello, I send you me script, the coment hare in spanish, but i thing it´s
very clery (i hope) plis if somebody caught any bug i this plis alert me.
Thank for all.
_________________________________________________________________
Melodías, logos y mil servicios para tu teléfono en MSN Móviles.
http://www.msn.es/MSNMovil/
[-- Attachment #2: Trafico --]
[-- Type: text/plain, Size: 22163 bytes --]
#!/bin/bash
# Este programa se encarga de la limpieza del sistema de rutas, asi como de
lavantar
# el sistema de enrutamiento avanzado y el sistema de control de trafico,
tanto
# saliente como entrante.
#
# Cargamos las variables de entorno para facilitar el trabajo. De esta
forma, si se
# cambia la IP del router 1, no habria que cambiarla en cada linea que
aparece, sino
# tan solo aqui, lo mismo pasa cuando queremos cambiar otros parametros
(Ej, Velocidad).
ETIP0=192.168.0.200 # Direccion IP de la tarjeta 1
ETIP1=192.168.2.201 # " tarjeta 2
ETIP2=10.10.5.200 # " tarjeta 3
ETIP3=10.10.5.201 # " tarjeta 4
ADSL1=192.168.2.100 # Direccion IP del router 1
ADSL2=10.10.5.1 # Direccion IP del router 2
RED1=192.168.2.0/24 # Subred 1 (192.168.2.0 mascara 255.255.255.0 = (/24)
RED2=10.10.5.0/24 # Subred 2 (10.10.5.0 mascara 255.255.255.0 = (/24)
DS1=eth0 # Dispositivo de salida 1
DE1=eth1 # Dispositivo de entrada 1
DS2=eth2 # Dispositivo de salida 2
DE2=eth3 # Dispositivo de entrada 2
RTS1=450 # Velocidad de subida linea 1
RTD1=1400 # Velocidad de bajada linea 1
RTS2=500 # Velocidad de subida linea 2
RTD2=1500 # Velocidad de bajada linea 2
IP_I= # IP de inicio de la sala 2
IP_F= # IP final de la sala 2
RAMA="parent 1:0 protocol ip prio 0 u32 match ip src" # Rama de
coincidencias
# La velocidad Max de subida se ha dejado por debajo de la velocidad Max
real de la
# linea, asi conseguimos eliminar esperas cuando se produce una bajada de
capacidad.
# La velocidad de bajada ha sido limitada a este valor para evitar que los
picos de
# descarga puedan afectar al trafico interactivo. A pesar de ello, la
velocidad real
# obtenida por este metodo, es de 1510, cuando no hay un trafico
prioritario.
# Esta primera funcion, nos muestra el estado del sistema de limitacion y
control de trafico.
status() {
clear
echo
echo
echo
echo -en "\033[32m[qdisc]\033[m\014\r"
tc -s qdisc show dev $DS1 2> /dev/null # Muestra el estado de las
colas de paquetes en
tc -s qdisc show dev imq0 2> /dev/null # cada uno de los
dispositivos empleados, siendo
tc -s qdisc show dev $DS2 2> /dev/null # $DS1 y $DS2 los
dispositivos de salida e imq0
tc -s qdisc show dev imq1 2> /dev/null # e imq1 los de entrada
(FIXME: Limitar directa-
echo -en "\033[32m[class]\033[m\014\r" # mente en eth1 y eth3 si es
posible.
tc -s class show dev $DS1 2> /dev/null # Identica funcion con las
clases de cada raiz.
tc -s class show dev imq0 2> /dev/null
tc -s class show dev $DS2 2> /dev/null
tc -s class show dev imq1 2> /dev/null
echo -en "\033[32m[filter]\033[m\014\r" # Muestra los filtros
aplicados.
tc -s filter show dev $DS1 2> /dev/null
tc -s filter show dev imq0 2> /dev/null
tc -s filter show dev $DS2 2> /dev/null
tc -s filter show dev imq1 2> /dev/null
echo -en "\033[32m[iptables]\033[m\014\r" # Muestra la
configuracion de IPTABLES para cada
iptables -t mangle -L MYSHAPER-OUT-1 2> /dev/null # una de las
cadenas existentes.
iptables -t mangle -L MYSHAPER-IN-1 2> /dev/null
iptables -t mangle -L MYSHAPER-OUT-2 2> /dev/null
iptables -t mangle -L MYSHAPER-IN-2 2> /dev/null
}
# Esta funcion se encarga de "poner todo a 0".
stop() {
# Comienza el Modulo de rutas.
clear
echo
echo -en "\033[32m[Limpiando modulo de rutas]\033[m\014\r"
echo -en "\033[33mBorrar ruta principal : \033[m\014\r"
ip route del default via $ADSL1 dev $DS1 &> /dev/null
ip route del default via $ADSL2 dev $DS2 &> /dev/null
echo -en "\033[33mBorrar reglas locales : \033[m\014\r"
ip rule del from $RED1 dev $DE1 table sala1 &> /dev/null
ip rule del from $RED2 dev $DE2 table sala2 &> /dev/null
ip rule del from 127.0.0.0/8 dev lo table local &> /dev/null
echo -en "\033[33mBorrar rutas locales : \033[m\014\r"
ip route del default via $ADSL1 dev $DS1 table sala1 &> /dev/null
ip route del default via $ADSL2 dev $DS2 table sala2 &> /dev/null
ip route del default via $ADSL1 dev $DS1 table local &> /dev/null
ip route del default via $ADSL2 dev $DS2 table local &> /dev/null
echo -en "\033[33mBorrar ruta balanceada : \033[m\014\r"
ip route del default scope global nexthop via $ADSL2 dev $DS2 weight 1
nexthop via $ADSL1 dev $DS1 weight 1 &> /dev/null
ip route del default scope global nexthop via $ADSL1 dev $DS1 weight 1
nexthop via $ADSL2 dev $DS2 weight 1 &> /dev/null
echo -en "\033[32m[Modulo de rutas limpio]\033[m\014\r"
# Final del Modulo de rutas.
# Comienza el Modulo de limitacion-clasificacion.
echo
echo -en "\033[32m[Limpiando limitador-clasificador de
trafico]\033[m\014\r"
# Sub-Modulo de limitacion saliente.
echo -en "\033[33mLimpiando limitador de velocidad saliente :
\033[m\014\r"
tc qdisc del dev $DS1 root &> /dev/null
tc qdisc del dev $DS2 root &> /dev/null
# Sub-Modulo clasificador.
echo -en "\033[33mLimpiando clasificador : \033[m\014\r"
iptables -t mangle -D POSTROUTING -o $DS1 -j MYSHAPER-OUT-1 &> /dev/null
iptables -t mangle -F MYSHAPER-OUT-1 &> /dev/null
iptables -t mangle -X MYSHAPER-OUT-1 &> /dev/null
iptables -t mangle -D PREROUTING -i $DS1 -j MYSHAPER-IN-1 &> /dev/null
iptables -t mangle -F MYSHAPER-IN-1 &> /dev/null
iptables -t mangle -X MYSHAPER-IN-1 &> /dev/null
iptables -t mangle -D POSTROUTING -o $DS2 -j MYSHAPER-OUT-2 &> /dev/null
iptables -t mangle -F MYSHAPER-OUT-2 &> /dev/null
iptables -t mangle -X MYSHAPER-OUT-2 &> /dev/null
iptables -t mangle -D PREROUTING -i $DS2 -j MYSHAPER-IN-2 &> /dev/null
iptables -t mangle -F MYSHAPER-IN-2 &> /dev/null
iptables -t mangle -X MYSHAPER-IN-2 &> /dev/null
# Sub-Modulo de limitacion entrante.
echo -en "\033[33mLimpiando limitador de velocidad entrante :
\033[m\014\r"
tc qdisc del dev imq0 root &> /dev/null
tc qdisc del dev imq1 root &> /dev/null
ip link set imq0 down &> /dev/null
ip link set imq1 dwon &> /dev/null
echo -en "\033[32m[Limitador-clasificador de trafico
limpio]\033[m\014\r"
# Final del Modulo de limitacion-clasificacion.
}
# Esta funcion carga todo el sistema de rutas y limitacion de trafico, tanto
en trante
# como saliente.
start() {
# Comienza el Modulo de carga.
stop # Limpiamos el entorno llamando al Modulo de Parada.
# Comenzamos a cargar las rutas basicas.
echo
echo -en "\033[32m[Cargando reglas de rutas y activando filtrado
inverso]\033[m\014\r"
echo -en "\033[33mCargando reglas locales : \033[m\014\r" # Cargamos
las reglas basicas.
ip rule add from $RED1 dev $DE1 table sala1 &> /dev/null
ip rule add from $RED2 dev $DE2 table sala2 &> /dev/null
ip rule add from 127.0.0.0/8 dev lo table local &> /dev/null
echo -en "\033[33mActivando Filtrado Inverso : \033[m\014\r" #
Activamos el filtrado inverso a todas las tarjetas.
echo 1 > /proc/sys/net/ipv4/ip_forward
echo -en "\033[33mCargando rutas Locales : \033[m\014\r" # Aadimos las
pasarelas por defecto a las tablas maestras.
ip route add default via $ADSL1 dev $DS1 table sala1 &> /dev/null
ip route add default via $ADSL2 dev $DS2 table sala2 &> /dev/null
ip route add default via $ADSL1 dev $DS1 table local &> /dev/null
echo -en "\033[33mCargando ruta principal : \033[m\014\r" # Cargar la
ruta por defecto (Balanceada).
ip route add default scope global nexthop via $ADSL1 dev $DS1 weight 1
nexthop via $ADSL2 dev $DS2 weight 1 &> /dev/null
echo -en "\033[32m[Reglas de enrutado y filtrado inverso
activados]\033[m\014\r"
# Finalizada la carga de rutas basicas.
echo
echo -en "\033[32m[Configurando Dispositivos]\033[m\014\r"
# Cambiamos el tamao de la cola.
ip link set dev $DS1 qlen 30 2> /dev/null
ip link set dev $DS2 qlen 30 2> /dev/null
# Cambiamos el tamao de la MTU.
ip link set dev $DS1 mtu 1000 2> /dev/null
ip link set dev $DS2 mtu 1000 2> /dev/null
echo -en "\033[32m[Configuracion de Dispositivos
Finalizada]\033[m\014\r"
echo
echo -en "\033[32m[Configurando Colas de Trafico de Salida]\033[m\014\r"
echo -en "\033[33mAnadiendo Cola Maestra : \033[m\014\r"
# Aadiendo raiz HTB.
# Sala 1
tc qdisc add dev $DS1 root handle 1: htb default 26 2> /dev/null
# Sala 2
tc qdisc add dev $DS2 root handle 1: htb default 236 2> /dev/null
echo -en "\033[33mAnadiendo Clase Limitadora Maxima : \033[m\014\r"
# Aadiendo Clase Limitadora Maestra.
# Sala 1
tc class add dev $DS1 parent 1:0 classid 1:1 htb rate ${RTS1}kbit ceil
${RTS1}kbit 2> /dev/null
# Sala 2
tc class add dev $DS2 parent 1:0 classid 1:1 htb rate ${RTS2}kbit ceil
${RTS2}kbit 2> /dev/null
echo -en "\033[33mAnadiendo Clases Finales Limitadas : \033[m\014\r"
# Aadiendo Clases Finales.
# Sala 1
tc class add dev $DS1 parent 1:1 classid 1:20 htb rate 160kbit ceil
${RTS1}kbit prio 0 2> /dev/null
tc class add dev $DS1 parent 1:1 classid 1:21 htb rate 20kbit ceil
20kbit prio 1 2> /dev/null
tc class add dev $DS1 parent 1:1 classid 1:22 htb rate 20kbit ceil
20kbit prio 2 2> /dev/null
tc class add dev $DS1 parent 1:1 classid 1:23 htb rate 10kbit ceil
20kbit prio 3 2> /dev/null
tc class add dev $DS1 parent 1:1 classid 1:24 htb rate 10kbit ceil
20kbit prio 4 2> /dev/null
tc class add dev $DS1 parent 1:1 classid 1:25 htb rate 110kbit ceil
110kbit prio 3 2> /dev/null
tc class add dev $DS1 parent 1:1 classid 1:26 htb rate 40kbit ceil
40kbit prio 6 2> /dev/null
# Sala 2
for I in `seq $IP_I $IP_F`
do
tc class add dev $DS2 parent 1:1 classid 1:$I htb rate 14kbit ceil
${RTS2}kbit prio 0 2> /dev/null
done
echo -en "\033[33mAnadiendo Disciplinas a las Clases Finales :
\033[m\014\r"
# Aadiendo Disciplinas a las clases Finales.
# Sala 1
tc qdisc add dev $DS1 parent 1:20 handle 20: sfq perturb 10 2> /dev/null
tc qdisc add dev $DS1 parent 1:21 handle 21: sfq perturb 10 2> /dev/null
tc qdisc add dev $DS1 parent 1:22 handle 22: sfq perturb 10 2> /dev/null
tc qdisc add dev $DS1 parent 1:23 handle 23: sfq perturb 10 2> /dev/null
tc qdisc add dev $DS1 parent 1:24 handle 24: sfq perturb 10 2> /dev/null
tc qdisc add dev $DS1 parent 1:25 handle 25: sfq perturb 10 2> /dev/null
tc qdisc add dev $DS1 parent 1:26 handle 26: sfq perturb 10 2> /dev/null
# Sala 2
for I in `seq $IP_I $IP_F`
do
tc qdisc add dev $DS2 parent 1:$I handle $I: sfq perturb 10 2> /dev/null
done
echo -en "\033[33mAnadiendo Filtrado de Trafico : \033[m\014\r"
# Sala 1
tc filter add dev $DS1 parent 1:0 prio 0 protocol ip handle 20 fw flowid
1:20 2> /dev/null
tc filter add dev $DS1 parent 1:0 prio 0 protocol ip handle 21 fw flowid
1:21 2> /dev/null
tc filter add dev $DS1 parent 1:0 prio 0 protocol ip handle 22 fw flowid
1:22 2> /dev/null
tc filter add dev $DS1 parent 1:0 prio 0 protocol ip handle 23 fw flowid
1:23 2> /dev/null
tc filter add dev $DS1 parent 1:0 prio 0 protocol ip handle 24 fw flowid
1:24 2> /dev/null
tc filter add dev $DS1 parent 1:0 prio 0 protocol ip handle 25 fw flowid
1:25 2> /dev/null
tc filter add dev $DS1 parent 1:0 prio 0 protocol ip handle 26 fw flowid
1:26 2> /dev/null
# Sala 2
for I in `seq $IP_I $IP_F`
do
tc filter add dev $DS2 $RAMA 213.190.4.$I flowid 1:$I 2> /dev/null
done
# Filtramos las peticiones al servidor del Cyber para que tengan Maxima
prioridad.
# Sala 1
tc filter add dev $DS1 parent 1:0 protocol ip prio 0 u32 match ip dst
213.190.4.53 flowid 1:20 2> /dev/null
tc filter add dev $DS1 parent 1:0 protocol ip prio 0 u32 match ip src
127.0.0.1 flowid 1:25 2> /dev/null
# Sala 2
tc filter add dev $DS2 parent 1:0 protocol ip prio 0 u32 match ip src
127.0.0.1 flowid 1:25 2> /dev/null
# Anadimos marcas a los paquetes segun su tipo.
# Sala 1
iptables -t mangle -N MYSHAPER-OUT-1 2> /dev/null
iptables -t mangle -I POSTROUTING -o $DS1 -j MYSHAPER-OUT-1 2> /dev/null
iptables -t mangle -A MYSHAPER-OUT-1 -p tcp --sport 0:1024 -j MARK
--set-mark 23 2> /dev/null # Default for low port traffic
iptables -t mangle -A MYSHAPER-OUT-1 -p tcp --dport 0:1024 -j MARK
--set-mark 23 2> /dev/null # ""
iptables -t mangle -A MYSHAPER-OUT-1 -p tcp --sport 27016 -j MARK
--set-mark 20 2> /dev/null
iptables -t mangle -A MYSHAPER-OUT-1 -p tcp --dport 20 -j MARK
--set-mark 26 2> /dev/null # ftp-data port, low prio
iptables -t mangle -A MYSHAPER-OUT-1 -p tcp --dport 5190 -j MARK
--set-mark 23 2> /dev/null # aol instant messenger
iptables -t mangle -A MYSHAPER-OUT-1 -p icmp -j MARK --set-mark 20 2>
/dev/null # ICMP (ping) - high prio, impress friends
iptables -t mangle -A MYSHAPER-OUT-1 -p udp -j MARK --set-mark 21 2>
/dev/null # DNS name resolution (small packets)
iptables -t mangle -A MYSHAPER-OUT-1 -p tcp --dport ssh -j MARK
--set-mark 22 2> /dev/null # secure shell
iptables -t mangle -A MYSHAPER-OUT-1 -p tcp --sport ssh -j MARK
--set-mark 22 2> /dev/null # secure shell
iptables -t mangle -A MYSHAPER-OUT-1 -p tcp --dport telnet -j MARK
--set-mark 22 2> /dev/null # telnet (ew...)
iptables -t mangle -A MYSHAPER-OUT-1 -p tcp --sport telnet -j MARK
--set-mark 22 2> /dev/null # telnet (ew...)
iptables -t mangle -A MYSHAPER-OUT-1 -p tcp --sport http -j MARK
--set-mark 25 2> /dev/null # Local web server
iptables -t mangle -A MYSHAPER-OUT-1 -p tcp -m length --length :64 -j
MARK --set-mark 21 2> /dev/null # small packets (probably just ACKs)
iptables -t mangle -A MYSHAPER-OUT-1 -m mark --mark 0 -j MARK --set-mark
26 2> /dev/null # redundant- mark any unmarked packets as 26 (low prio)
# Sala 2
iptables -t mangle -N MYSHAPER-OUT-2 2> /dev/null
iptables -t mangle -I POSTROUTING -o $DS2 -j MYSHAPER-OUT-2 2> /dev/null
iptables -t mangle -A MYSHAPER-OUT-2 -p tcp --sport 0:1024 -j MARK
--set-mark 23 2> /dev/null # Default for low port traffic
iptables -t mangle -A MYSHAPER-OUT-2 -p tcp --dport 0:1024 -j MARK
--set-mark 23 2> /dev/null # ""
iptables -t mangle -A MYSHAPER-OUT-2 -p tcp --sport 27016 -j MARK
--set-mark 20 2> /dev/null
iptables -t mangle -A MYSHAPER-OUT-2 -p tcp --dport 20 -j MARK
--set-mark 26 2> /dev/null # ftp-data port, low prio
iptables -t mangle -A MYSHAPER-OUT-2 -p tcp --dport 5190 -j MARK
--set-mark 23 2> /dev/null # aol instant messenger
iptables -t mangle -A MYSHAPER-OUT-2 -p icmp -j MARK --set-mark 20 2>
/dev/null # ICMP (ping) - high prio, impress friends
iptables -t mangle -A MYSHAPER-OUT-2 -p udp -j MARK --set-mark 21 2>
/dev/null # DNS name resolution (small packets)
iptables -t mangle -A MYSHAPER-OUT-2 -p tcp --dport ssh -j MARK
--set-mark 22 2> /dev/null # secure shell
iptables -t mangle -A MYSHAPER-OUT-2 -p tcp --sport ssh -j MARK
--set-mark 22 2> /dev/null # secure shell
iptables -t mangle -A MYSHAPER-OUT-2 -p tcp --dport telnet -j MARK
--set-mark 22 2> /dev/null # telnet (ew...)
iptables -t mangle -A MYSHAPER-OUT-2 -p tcp --sport telnet -j MARK
--set-mark 22 2> /dev/null # telnet (ew...)
iptables -t mangle -A MYSHAPER-OUT-2 -p tcp --sport http -j MARK
--set-mark 25 2> /dev/null # Local web server
iptables -t mangle -A MYSHAPER-OUT-2 -p tcp -m length --length :64 -j
MARK --set-mark 21 2> /dev/null # small packets (probably just ACKs)
iptables -t mangle -A MYSHAPER-OUT-2 -m mark --mark 0 -j MARK --set-mark
26 2> /dev/null # redundant- mark any unmarked packets as 26 (low prio)
echo -en "\033[32m[Finalizada la configuracion de Colas de Trafico de
Salida]\033[m\014\r"
# Mostramos los Limites.
echo
echo -en "\033[mTrafico de Salida en \033[31m$DS1 \033[mlimitado a :
\033[31m${RTS1}Kbit/sec.\033[m\014\r"
echo -en "\033[mTrafico de Salida en \033[31m$DS2 \033[mlimitado a :
\033[31m${RTS2}Kbit/sec.\033[m\014\r"
# Comenzamos con el trafico de Entrada.
echo
echo -en "\033[32m[Configuracion del Trafico de Entrada]\033[m\014\r"
echo -en "\033[33mConfigurando Dispositivos : \033[m\014\r"
modprobe imq numdevs=2 2> /dev/null # Creamos 2 dispositivos IMQ
ip link set imq0 up 2> /dev/null # Arrancamos para la Sala 1
ip link set imq1 up 2> /dev/null # Arrancamos para la Sala 2
echo -en "\033[33mConfigurando Colas Maestras : \033[m\014\r"
# Anadiendo Colas a los Dispositivos.
tc qdisc add dev imq0 handle 1: root htb default 22 2> /dev/null
tc qdisc add dev imq1 handle 1: root htb default 22 2> /dev/null
echo -en "\033[33mAnadiendo Clases Limitadas : \033[m\014\r"
# Anadiendo Clases Limitadas.
tc class add dev imq0 parent 1: classid 1:1 htb rate ${RTD1}kbit ceil
${RTD1} 2> /dev/null
tc class add dev imq1 parent 1: classid 1:1 htb rate ${RTD2}kbit ceil
${RTD2} 2> /dev/null
echo -en "\033[33mAnadiendo Clases Finales : \033[m\014\r"
# Anadiendo Clases Finales.
# Sala 1
tc class add dev imq0 parent 1:1 classid 1:20 htb rate ${RTD1}kbit ceil
${RTD1}kbit prio 0 2> /dev/null
tc class add dev imq0 parent 1:1 classid 1:20 htb rate $[$RTD1/2]kbit
ceil ${RTD1}kbit prio 0 2> /dev/null
tc class add dev imq0 parent 1:1 classid 1:21 htb rate $[$RTD1/2]kbit
ceil ${RTD1}kbit prio 1 2> /dev/null
# Sala 2
tc class add dev imq1 parent 1:1 classid 1:20 htb rate ${RTD2}kbit ceil
${RTD2}kbit prio 0 2> /dev/null
tc class add dev imq1 parent 1:1 classid 1:20 htb rate $[$RTD2/2]kbit
ceil ${RTD2}kbit prio 0 2> /dev/null
tc class add dev imq1 parent 1:1 classid 1:21 htb rate $[$RTD2/2]kbit
ceil ${RTD2}kbit prio 1 2> /dev/null
echo -en "\033[33mAnadiendo Disciplinas a las Colas Finales :
\033[m\014\r"
# Sala 1
tc qdisc add dev imq0 parent 1:20 handle 20: sfq perturb 10 2> /dev/null
tc qdisc add dev imq0 parent 1:20 handle 21: sfq perturb 10 2> /dev/null
tc qdisc add dev imq0 parent 1:21 handle 22: red limit 1000000 min 5000
max 100000 avpkt 1000 burst 50 2> /dev/null
# Sala 2
tc qdisc add dev imq1 parent 1:20 handle 20: sfq perturb 10 2> /dev/null
tc qdisc add dev imq1 parent 1:20 handle 21: sfq perturb 10 2> /dev/null
tc qdisc add dev imq1 parent 1:21 handle 22: red limit 1000000 min 5000
max 100000 avpkt 1000 burst 50 2> /dev/null
echo -en "\033[33mConfigurando Filtro de Trafico : \033[m\014\r"
# Sala 1
tc filter add dev imq0 parent 1:0 prio 0 protocol ip handle 20 fw flowid
1:21 2> /dev/null
tc filter add dev imq0 parent 1:0 prio 0 protocol ip handle 21 fw flowid
1:22 2> /dev/null
tc filter add dev imq0 parent 1:0 protocol ip prio 0 u32 match ip src
213.190.4.53 flowid 1:20 2> /dev/null
iptables -t mangle -N MYSHAPER-IN-1 2> /dev/null
iptables -t mangle -I PREROUTING -i $DS1 -j MYSHAPER-IN-1 2> /dev/null
iptables -t mangle -A MYSHAPER-IN-1 -p ! tcp -j MARK --set-mark 20 2>
/dev/null # Set non-tcp packets to highest priority
iptables -t mangle -A MYSHAPER-IN-1 -p tcp -m length --length :64 -j
MARK --set-mark 20 2> /dev/null # short TCP packets are probably ACKs
iptables -t mangle -A MYSHAPER-IN-1 -p tcp --dport ssh -j MARK
--set-mark 20 2> /dev/null # secure shell
iptables -t mangle -A MYSHAPER-IN-1 -p tcp --sport ssh -j MARK
--set-mark 20 2> /dev/null # secure shell
iptables -t mangle -A MYSHAPER-IN-1 -p tcp --dport telnet -j MARK
--set-mark 20 2> /dev/null # telnet (ew...)
iptables -t mangle -A MYSHAPER-IN-1 -p tcp --sport telnet -j MARK
--set-mark 20 2> /dev/null # telnet (ew...)
iptables -t mangle -A MYSHAPER-IN-1 -m mark --mark 0 -j MARK --set-mark
21 2> /dev/null # redundant- mark any unmarked packets as 26
(low prio)
# Sala 2
tc filter add dev imq1 parent 1:0 prio 0 protocol ip handle 20 fw flowid
1:21 2> /dev/null
tc filter add dev imq1 parent 1:0 prio 0 protocol ip handle 21 fw flowid
1:22 2> /dev/null
tc filter add dev imq1 parent 1:0 protocol ip prio 0 u32 match ip src
213.190.4.53 flowid 1:20 2> /dev/null
iptables -t mangle -N MYSHAPER-IN-2 2> /dev/null
iptables -t mangle -I PREROUTING -i $DS2 -j MYSHAPER-IN-2 2> /dev/null
iptables -t mangle -A MYSHAPER-IN-2 -p ! tcp -j MARK --set-mark 20 2>
/dev/null # Set non-tcp packets to highest priority
iptables -t mangle -A MYSHAPER-IN-2 -p tcp -m length --length :64 -j
MARK --set-mark 20 2> /dev/null # short TCP packets are probably ACKs
iptables -t mangle -A MYSHAPER-IN-2 -p tcp --dport ssh -j MARK
--set-mark 20 2> /dev/null # secure shell
iptables -t mangle -A MYSHAPER-IN-2 -p tcp --sport ssh -j MARK
--set-mark 20 2> /dev/null # secure shell
iptables -t mangle -A MYSHAPER-IN-2 -p tcp --dport telnet -j MARK
--set-mark 20 2> /dev/null # telnet (ew...)
iptables -t mangle -A MYSHAPER-IN-2 -p tcp --sport telnet -j MARK
--set-mark 20 2> /dev/null # telnet (ew...)
iptables -t mangle -A MYSHAPER-IN-2 -m mark --mark 0 -j MARK --set-mark
21 2> /dev/null # redundant- mark any unmarked packets as 26
(low prio)
iptables -t mangle -A MYSHAPER-IN-1 -j IMQ --todev=0 2> /dev/null # Sala
1
iptables -t mangle -A MYSHAPER-IN-2 -j IMQ --todev=1 2> /dev/null # Sala
2
echo -en "\033[32m[Finalizada la configuracion de Colas de Trafico de
Entrada]\033[m\014\r"
echo
echo -en "\033[mTrafico de Entrada en \033[31m$DS1 \033[mlimitado a :
\033[31m${RTD1}Kbit/sec.\033[m\014\r"
echo -en "\033[mTrafico de Entrada en \033[31m$DS2 \033[mlimitado a :
\033[31m${RTD2}Kbit/sec.\033[m\014\r"
}
case "$1" in
start)
start
;;
stop)
stop
;;
status)
status
;;
*)
echo -en "\033[31m[Los Parametros Aceptados son : start , stop o status
.]\033[m\014\r"
exit 1
;;
esac
exit 0
^ permalink raw reply [flat|nested] only message in thread
only message in thread, other threads:[~2003-04-14 14:22 UTC | newest]
Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2003-04-14 14:22 [LARTC] [LARTC] 2 net´s whitch 2 ADSL conections, José Luis García López
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.