Layer7 pra dar prioridade aos servicos mais importantes

Tutoriais BrazilFW 2.x em Português

Layer7 pra dar prioridade aos servicos mais importantes

Mensagempor rhine-pr » Qua Fev 11, 2009 2:40 am

Algumas regras que eu tenho usado tem me dado um exelente resultado, elas servem pra dar prioridade a alguns servicos importantes, se voce tem pouco link e quer garantir o bom funcionamento da navegacao, da resolucao de nomes, msn com video e voz, se voce usa voip na sua rede, essas regras ajudam muito, vou postar aqui pra ajudar a todos da nossa comunidade:

Código: Selecionar todos
## ## BY FABIO GONCALVES PEREIRA #####
#### PLEASE COMPLIANCE WITH MY MERITS ###
## Priorizando saída da porta 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

## Priorizando entrada da porta 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

##
## Priorizando saída da porta 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

## Priorizando entrada da porta 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

##
## Priorizando saída da 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

## Priorizando entrada da porta 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

##
## Priorizando saída da porta 5060 (voip) e do 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

## Priorizando entrada da porta 5060 (voip) e do 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

## Priorizando saída da porta 5061 (voip) e do 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

## Priorizando entrada da porta 5061 (voip) e do 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

## Priorizando saída da porta 5062 (voip2) e do 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

## Priorizando entrada da porta 5062 (voip2) e do 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

## Priorizando saída da porta 60000 (voip1) e do 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

## Priorizando entrada da porta 60000 (voip1) e do 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

## Priorizando saída da porta 60100 (voip2) e do 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

## Priorizando entrada da porta 60100 (voip2) e do 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

####
## Priorizando saída da porta 5004 (msnvoz) e do 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

## Priorizando entrada da porta 5004 (msnvoz) e do 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

###
## Priorizando saída da porta 5005 (msnvoz) e do 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

## Priorizando entrada da porta 5005 (msnvoz) e do 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

###
## Priorizando saída da porta 6901 (msnvoz*) e do 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

## Priorizando entrada da porta 6901 (msnvoz*) e do 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


E pra controlar as portas altas onde o trafeco p2p acaba estragando a rede aumentando a latencia e outros ai esta otimas regras que fizeram a diferenca na minha rede:

Código: Selecionar todos
#### usando connlimit pra controlar o numero de conexao por usuario, eu libero 50 pra cada um, achei esse um ####numero bom
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



Veja bem, com essas regras voce vai controlar por ip, nao importa a quantidade de usuario, a mascara 32 atua por ip, ou seja, cada pc na sua rede interna tera no maximo 50 conexao nessas portas que coloquei, ali ja esta liberado as portas do msn,as portas baixas usadas pra servicos importantes e outras, essas regras que eu citei foi copiada de um outro tuto qui do forum, como eu uso junto resolvo postar pra facilitar ...
Tenho tambem um outro controle que foi feito pelo wesley, eu tinha uma parte dessa configuracao junto com as portas usando l7, eu colocava so os principais protocolos, ele pegou e ampliou usando outros protocolos, ficou assim:

Código: Selecionar todos
######## regras de controle ##################
##### 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

#########


Essas regras sao exelente atuam diretamente na camada, esta ai galera, quem quiser desfrutar fique a vontade, em cima delas da pra voce criar muita coisa, pra conferir se as regras subiram vc pode ir em ferramentas de diagnostico/Regras Ativas do Firewall - mangle, boa sorte e forte abraco a todos.

PS: Atenção, e necessario o uso de maquina com hardware compativel, essas regras usam memoria e processamento para funcionar, se pegar maquina fraca acaba em lentidão.
Editado pela última vez por rhine-pr em Qua Mai 20, 2009 3:56 pm, em um total de 1 vez.
rhine-pr
 

Re: Layer7 pra dar prioridade aos servicos mais importantes

Mensagempor Marcos do Vale » Qua Mai 20, 2009 1:33 pm

A T E N Ç Ã O

Use estas regras por sua conta e rísco.
Há relatos no fórum sobre problemas de lentidão no sistema.
Marcos do Vale
 


Voltar para BrazilFW 2.x

Quem está online

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

cron