From mboxrd@z Thu Jan 1 00:00:00 1970 From: =?iso-8859-1?B?Sm9z6SBMdWlzIEdhcmPtYSBM83Bleg==?= Date: Mon, 14 Apr 2003 14:22:13 +0000 Subject: [LARTC] =?iso-8859-1?B?W0xBUlRDXSAyIG5ldLRzIHdoaXRjaCAyIEFEU0wgY29uZWN0aW9ucywg?= MIME-Version: 1 Content-Type: multipart/mixed; boundary="----=_NextPart_000_12ec_2caa_4511" Message-Id: List-Id: To: lartc@vger.kernel.org This is a multi-part message in MIME format. ------=_NextPart_000_12ec_2caa_4511 Content-Type: text/plain; charset="iso-8859-1"; format="flowed" Content-Transfer-Encoding: quoted-printable Hello, I send you me script, the coment hare in spanish, but i thing it=B4s= =20 very clery (i hope) plis if somebody caught any bug i this plis alert me. Thank for all. _________________________________________________________________ Melod=EDas, logos y mil servicios para tu tel=E9fono en MSN M=F3viles. =20 http://www.msn.es/MSNMovil/ ------=_NextPart_000_12ec_2caa_4511 Content-Type: text/plain; name="Trafico"; format=flowed Content-Transfer-Encoding: 8bit Content-Disposition: attachment; filename="Trafico" #!/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 ------=_NextPart_000_12ec_2caa_4511-- _______________________________________________ LARTC mailing list / LARTC@mailman.ds9a.nl http://mailman.ds9a.nl/mailman/listinfo/lartc HOWTO: http://lartc.org/