Layer7 para dar prioridad a los servicios más importantes

Layer7 para dar prioridad a los servicios más importantes

Mensagempor Lelouch » Sex Jun 05, 2009 6:16 pm

Traducción por: Rinrinrenacuajo
Documento original: rhine-pr

Algunas reglas que estoy usando y me han dado un excelente resultado, sirven para dar prioridad a algunos servicios importantes, si usted tiene poco ancho de banda y quiere garantizar su buen funcionamiento de navegación, resolución de nombres, MSN video y voz, como también si usted usa voip en su red, estas reglas ayuda mucho, voy a postear aquí para ayudar a toda nuestra comunidad:

Código: Selecionar todos
## ## BY FABIO GONCALVES PEREIRA #####
#### PLEASE COMPLIANCE WITH MY MERITS ###
## Dando prioridad a la salida de puerto 53 (DNS)
iptables -t mangle -A OUTPUT -p tcp --dport 53 -j TOS --set-tos 16
iptables -t mangle -A OUTPUT -p tcp -m layer7 --l7proto sip -j TOS --set-tos 16

## Dando prioridad a la entrada de puerto 53 (DNS)
iptables -t mangle -A PREROUTING -p tcp --dport 53 -j TOS --set-tos 16
iptables -t mangle -A PREROUTING -p tcp -m layer7 --l7proto sip -j TOS --set-tos 16

##
## Dando prioridad a la salía del puerto 443 (https)
iptables -t mangle -A OUTPUT -p tcp --dport 443 -j TOS --set-tos 16
iptables -t mangle -A PREROUTING -p tcp -m layer7 --l7proto sip -j TOS --set-tos 16

## Dando prioridad a la entrada del puerto 443 (https)
iptables -t mangle -A PREROUTING -p tcp --dport 443 -j TOS --set-tos 16
iptables -t mangle -A PREROUTING -p tcp -m layer7 --l7proto sip -j TOS --set-tos 16

##
## Dando prioridad a la salía del porta 80 (http)
iptables -t mangle -A OUTPUT -p tcp --dport 80 -j TOS --set-tos 16
iptables -t mangle -A PREROUTING -p tcp -m layer7 --l7proto sip -j TOS --set-tos 16

## Dando prioridad a la entrada del puerto 80 (http)
iptables -t mangle -A PREROUTING -p tcp --dport 80 -j TOS --set-tos 16
iptables -t mangle -A PREROUTING -p tcp -m layer7 --l7proto sip -j TOS --set-tos 16

##
## Dando prioridad a la salida del puerto 5060 (voip) y del protocolo Layer7 SIP (VoIP)
iptables -t mangle -A OUTPUT -p tcp --dport 5060 -j TOS --set-tos 16
iptables -t mangle -A PREROUTING -p tcp -m layer7 --l7proto sip -j TOS --set-tos 16

## Dando prioridad a la entrada del puerto 5060 (voip) y del protocolo Layer7 SIP (VoIP)
iptables -t mangle -A PREROUTING -p tcp --dport 5060 -j TOS --set-tos 16
iptables -t mangle -A PREROUTING -p tcp -m layer7 --l7proto sip -j TOS --set-tos 16

## Dando prioridad a la salida del puerto 5061 (voip) y del protocolo Layer7 SIP (VoIP)
iptables -t mangle -A OUTPUT -p tcp --dport 5061 -j TOS --set-tos 16
iptables -t mangle -A PREROUTING -p tcp -m layer7 --l7proto sip -j TOS --set-tos 16

## Dando prioridad a la entrada del puerto 5061 (voip) y del protocolo Layer7 SIP (VoIP)
iptables -t mangle -A PREROUTING -p tcp --dport 5061 -j TOS --set-tos 16
iptables -t mangle -A PREROUTING -p tcp -m layer7 --l7proto sip -j TOS --set-tos 16

## Dando prioridad a la salida del puerto 5062 (voip2) y del protocolo Layer7 SIP (VoIP)
iptables -t mangle -A OUTPUT -p tcp --dport 5062 -j TOS --set-tos 16
iptables -t mangle -A PREROUTING -p tcp -m layer7 --l7proto sip -j TOS --set-tos 16

## Dando prioridad a la entrada del puerto 5062 (voip2) y del protocolo Layer7 SIP (VoIP)
iptables -t mangle -A PREROUTING -p tcp --dport 5062 -j TOS --set-tos 16
iptables -t mangle -A PREROUTING -p tcp -m layer7 --l7proto sip -j TOS --set-tos 16

## Dando prioridad a la salida del puerto 60000 (voip1) y del protocolo Layer7 SIP (VoIP)
iptables -t mangle -A OUTPUT -p tcp --dport 60000 -j TOS --set-tos 16
iptables -t mangle -A PREROUTING -p tcp -m layer7 --l7proto sip -j TOS --set-tos 16

## Dando prioridad de entrada al puerto 60000 (voip1) y del protocolo Layer7 SIP (VoIP)
iptables -t mangle -A PREROUTING -p tcp --dport 60000 -j TOS --set-tos 16
iptables -t mangle -A PREROUTING -p tcp -m layer7 --l7proto sip -j TOS --set-tos 16

## Dando prioridad de salida al puerto 60100 (voip2) y del protocolo Layer7 SIP (VoIP)
iptables -t mangle -A OUTPUT -p tcp --dport 60100 -j TOS --set-tos 16
iptables -t mangle -A PREROUTING -p tcp -m layer7 --l7proto sip -j TOS --set-tos 16

## Dando prioridad de entrada al puerto 60100 (voip2) y del protocolo Layer7 SIP (VoIP)
iptables -t mangle -A PREROUTING -p tcp --dport 60100 -j TOS --set-tos 16
iptables -t mangle -A PREROUTING -p tcp -m layer7 --l7proto sip -j TOS --set-tos 16

####
## Dando prioridad de salida del puerto 5004 (msnvoz) y del protocolo Layer7 (msnvoz)
iptables -t mangle -A OUTPUT -p tcp --dport 5004 -j TOS --set-tos 16
iptables -t mangle -A PREROUTING -p tcp -m layer7 --l7proto sip -j TOS --set-tos 16

## Dando prioridad de entrada al puerto 5004 (msnvoz) y del protocolo Layer7 (msnvoz)
iptables -t mangle -A PREROUTING -p tcp --dport 5004 -j TOS --set-tos 16
iptables -t mangle -A PREROUTING -p tcp -m layer7 --l7proto sip -j TOS --set-tos 16

###
## Dando prioridad de salida al puerto 5005 (msnvoz) y del protocolo Layer7 (msnvoz)
iptables -t mangle -A OUTPUT -p tcp --dport 5005 -j TOS --set-tos 16
iptables -t mangle -A PREROUTING -p tcp -m layer7 --l7proto sip -j TOS --set-tos 16

## Dando prioridad de entrada al puerto 5005 (msnvoz) y del protocolo Layer7 (msnvoz)
iptables -t mangle -A PREROUTING -p tcp --dport 5005 -j TOS --set-tos 16
iptables -t mangle -A PREROUTING -p tcp -m layer7 --l7proto sip -j TOS --set-tos 16

###
## Dando prioridad de salida al puerto 6901 (msnvoz*) y del protocolo Layer7 (msnvoz*)
iptables -t mangle -A OUTPUT -p tcp --dport 6901 -j TOS --set-tos 16
iptables -t mangle -A PREROUTING -p tcp -m layer7 --l7proto sip -j TOS --set-tos 16

## Dando prioridad de entrada al puerto 6901 (msnvoz*) y del protocolo Layer7 (msnvoz*)
iptables -t mangle -A PREROUTING -p tcp --dport 6901 -j TOS --set-tos 16
iptables -t mangle -A PREROUTING -p tcp -m layer7 --l7proto sip -j TOS --set-tos 16


Para controlar los puertos donde el tráfico p2p acaba estropeando la red y aumentando la latencia y otros, las siguientes reglas optimizan y hacen la diferencia en mi red:

Código: Selecionar todos
#### usando connlimit para controlar el número de conexiones por usuario, Yo liberé 50 para cada uno, Encontré esto una vez ####un buen número
iptables -t mangle -F CONNLIMIT
iptables -t mangle -D POSTROUTING -p TCP -d 0/0 --dport 1024:1862 -j CONNLIMIT
iptables -t mangle -D POSTROUTING -p TCP -d 0/0 --dport 1864:5189 -j CONNLIMIT
iptables -t mangle -D POSTROUTING -p TCP -d 0/0 --dport 5191:7999 -j CONNLIMIT
iptables -t mangle -D POSTROUTING -p TCP -d 0/0 --dport 8189:65535 -j CONNLIMIT
iptables -t mangle -X CONNLIMIT
iptables -t mangle -N CONNLIMIT
iptables -t mangle -A POSTROUTING -p TCP -d 0/0 --dport 1024:1862 -j CONNLIMIT
iptables -t mangle -A POSTROUTING -p TCP -d 0/0 --dport 1864:5189 -j CONNLIMIT
iptables -t mangle -A POSTROUTING -p TCP -d 0/0 --dport 5191:7999 -j CONNLIMIT
iptables -t mangle -A POSTROUTING -p TCP -d 0/0 --dport 8189:65535 -j CONNLIMIT
iptables -t mangle -A CONNLIMIT -p TCP -m state ! --state RELATED -m connlimit --connlimit-above 50 --connlimit-mask 32 -j DROP



Así, con estas reglas, Usted va a poder controlar por ip, sin importar la cantidad de de usuarios, la mascara 32 actúa por ip, osea, cada pc en su rede interna tendrá como máximo 50 conexiones a estos puertos que coloqué, Allí ya se encuentran liberadas los puertos del msn, los puertos (bajos) usados para servicios importantes y otros, esas reglas que yo cité fue copiada de otro tuto aquí del forum, las uso juntas por facilidad...
Tengo también otro control que fue hecho por wesley, Yo uso parte de esa configuración junto con los puertos usando l7, Yo colocaba solo los puertos de los principales protocolos, El agrego y amplio usando otros protocolos, quedaría así:

Código: Selecionar todos
######## Reglas de control ##################
##### BY WESLEI ###PLEASE COMPLIANCE WITH MY MERITS ###
iptables -t mangle -F CONNLIMIT
iptables -t mangle -D POSTROUTING -p tcp -m layer7 --l7proto gnutella -j CONNLIMIT
iptables -t mangle -D POSTROUTING -p tcp -m layer7 --l7proto edonkey -j CONNLIMIT
iptables -t mangle -D POSTROUTING -p tcp -m layer7 --l7proto fasttrack -j CONNLIMIT
iptables -t mangle -D POSTROUTING -p tcp -m layer7 --l7proto imesh -j CONNLIMIT
iptables -t mangle -D POSTROUTING -p tcp -m layer7 --l7proto bittorrent -j CONNLIMIT
iptables -t mangle -D POSTROUTING -p tcp -m layer7 --l7proto directconnect -j CONNLIMIT
iptables -t mangle -D POSTROUTING -p tcp -m layer7 --l7proto napster -j CONNLIMIT
iptables -t mangle -D POSTROUTING -p tcp -m layer7 --l7proto soulseek -j CONNLIMIT
iptables -t mangle -X CONNLIMIT
iptables -t mangle -N CONNLIMIT
iptables -t mangle -F CONNLIMIT
iptables -t mangle -D CONNLIMIT
iptables -t mangle -A POSTROUTING -p tcp -m layer7 --l7proto gnutella -j CONNLIMIT
iptables -t mangle -A POSTROUTING -p tcp -m layer7 --l7proto edonkey -j CONNLIMIT
iptables -t mangle -A POSTROUTING -p tcp -m layer7 --l7proto fasttrack -j CONNLIMIT
iptables -t mangle -A POSTROUTING -p tcp -m layer7 --l7proto imesh -j CONNLIMIT
iptables -t mangle -A POSTROUTING -p tcp -m layer7 --l7proto bittorrent -j CONNLIMIT
iptables -t mangle -A POSTROUTING -p tcp -m layer7 --l7proto directconnect -j CONNLIMIT
iptables -t mangle -A POSTROUTING -p tcp -m layer7 --l7proto napster -j CONNLIMIT
iptables -t mangle -A POSTROUTING -p tcp -m layer7 --l7proto soulseek -j CONNLIMIT
iptables -t mangle -A CONNLIMIT -p TCP -m state ! --state RELATED -m connlimit --connlimit-above 50 --connlimit-mask 32 -j DROP

#########


Esas reglas son excelentes, actúan directamente sobre la capa, aquí lo tienen, disfrútenlo a voluntad, además las reglas de arriba permite crear muchas cosas, para comprobar si las reglas esta activas, usted puede ir a “herramientas de diagnostico” y luego hacer clic en “Reglas Activas del Firewall” - mangle, buena suerte y un fuerte abrazo a todos.

PS: Atención: para el uso de las anteriores reglas, es necesario tener una maquina con hardware decente, estas reglas usan memoria y procesador para funcionar, si se implementan en una máquina con bajos recursos estas reglas haran que funcione extremadamente lenta.
GNU/Linux addict, instead of Linux addict.
Sou, machigatteita no wa ore ja nai! Sekai no hou da!...
Sekai wa kawaru! Kaerareru...

Hangyaku no Rurūshu...

New scheme: BFW3(LB) - BFW3BridgeCache - ArgentoBridgeQoS
Avatar do usuário
Lelouch
BFW Beneméritos
 
Mensagens: 1324
Registrado em: Dom Out 05, 2008 7:39 pm
Localização: #!/bin/sh
BrazilFW Box: BrazilFW: RAM 3GB, ATHLON X2 5600+, HDD 160GB+120GB, LB: 2Mb+8Mb.
BFW3 BuildTree on GNU/Linux Archlinux 64 bits.

Voltar para BrazilFW 2.x

Quem está online

Usuários navegando neste fórum: Nenhum usuário registrado e 1 visitante