[FUG-BR] Dúvida cruel: QoS com PF

Alessandro de Souza Rocha etherlinkii em gmail.com
Quinta Setembro 13 19:52:40 BRT 2007


Em 13/09/07, Welkson Renny de Medeiros<welkson em focusautomacao.com.br> escreveu:
> Boa tarde amigos!
>
>
> Tenho 4 cidades interligada com um link (TELEMAR 128kbps), por esse link passa internet (pouco uso), e replicação de dados via SQL-SERVER.
>
> A bronca é o seguinte, o SQL-SERVER a cada 10 min comunica com o distribuidor e envia suas alterações e pega as alterações das outras filiais, a bronca que o
> SQL consome toda a banda que tiver disponível... e apesar do uso da internet ser pouco, as vezes o pessoal tá no skype e a ligação fica uma "bomba"...
>
> Estrutura da Rede:
>
> ### Matriz ###
> 192.168.0.254 FreeBSD 6.2 STABLE :)
> 192.168.0.253 Router (Cyclades PR2000)
> 192.168.0.100 Windows 2003 Server (SQL SERVER 2005 - Distribuidor)
>
>
> ### Filial 1 ###
> 192.168.1.254 Router (Cyclades PR1000)
> 192.168.1.100 Windows 2003 Server (SQL SERVER 2005 - Assinante)
>
>
> ### Filial 2 ###
> 192.168.2.254 Router (Cyclades PR1000)
> 192.168.2.100 Windows 2003 Server (SQL SERVER 2005 - Assinante)
>
> ### Filial 3 ###
> 192.168.3.254 Router (Cyclades PR1000)
> 192.168.3.100 Windows 2003 Server (SQL SERVER 2005 - Assinante)
>
>
> Fiz o seguinte, limitei todos os servidores das filiais (1.100, 2.100, 3.100) a 50kbps para comunicação com o distribuidor (matriz 192.168.0.100) usando ipfw, veja:
>
> ##### Limitando Replicacao #####
> # A contagem eh feita na recepcao da placa e na saida, entao
> # limitar a 120kbps significa limitar a 60kbps
>
> ### CANGUARETAMA ###
> ipfw add pipe 10 ip from 192.168.0.100 to 192.168.1.100
> ipfw add pipe 10 ip from 192.168.1.100 to 192.168.0.100
> ipfw pipe 10 config bw 100Kbit/s
>
>
> # GOIANINHA
> ipfw add pipe 20 ip from 192.168.0.100 to 192.168.2.100
> ipfw add pipe 20 ip from 192.168.2.100 to 192.168.0.100
> ipfw pipe 20 config bw 100Kbit/s
>
>
> # SAO JOSE DE MIPIBU
> ipfw add pipe 30 ip from 192.168.0.100 to 192.168.3.100
> ipfw add pipe 30 ip from 192.168.3.100 to 192.168.0.100
> ipfw pipe 30 config bw 100Kbit/s
>
> ###########
>
> Como viram no comentário, quando quero limitar a 50kbps passo 100kbps para o IPFW, porque percebi que ele contabiliza os pacotes na recepção e no envio, no caso dobrando... (vi isso em um fórum também, acho que GTER.. já analisei via IFTOP e realmente é assim que funciona).
>
> Isso até que tem funcionado bem, mas como falei, a internet é pouco utilizada, e limitar o SQL somente a 50kbps às vezes é muito pouco... dependo da quantidade de registros alteradas nos bancos de dados
> o volume de informação aumenta, e o SQL não consegue replicar as informações... reclamando que o link tá muito lento...
>
> Nesse caso, acho que a única solução seria um QoS... algo como, 70% da banda para OUTROS, e 30% para SQL... se não tem ninguém usando nada na internet a banda fica liberada para o SQL, se tem alguém usando internet, a internet terá prioridade e a replicação ficará limitada...
>
> Tenho muito material sobre PF, ALTQ, CBQ, etc... mas estou bem confuso, gostaria de sugestões dos especialistas... qual devo usar? CBQ? HSFC? outros? como ficaria +- o PF.CONF?
>
> Outro caso interessante que aconteceu foi o seguinte, meu bsd o ip é 0.254, o roteador 0.253, o sql 0.100, o gateway do sql estava 254, mas como o roteador está na mesma rede o freebsd enviava um ICMP ROUTE REDIRECT, foi outra bronca para descobrir e bloquear... pois com esse comando o sql criava uma rota temporária e passava direto pelo roteador, sem passar pelo freebsd, no caso sem que eu pudesse controlar... na época fiz tantas alterações no sistema para bloquear ICMP REDIRECT que nem sei ao certo qual funcionou (sou sei que funcionou).
>
> # /etc/sysctl.conf
> # desativa o icmp route redirect
> net.inet.icmp.drop_redirect=1
> net.inet.icmp.log_redirect=1
> net.inet.icmp.bmcastecho=0
> net.inet.ip.redirect=0
>
> # /etc/pf.conf
>
> # bloqueia ICMP ROUTE REDIRECT
> block in log on $ext_if inet proto icmp from any to any icmp-type redir
>
> Só para histórico ;-)
>
> É isso pessoal, já pesquisei bastante... fiz vários testes mal sucedidos com esse pf+altq... até pensei em postar no FUG antes, mas não sabia nem como explicar a situação... espero que possam me ajudar...
>
> Abraço,
>
>
> --
> Welkson Renny de Medeiros
> Focus Automação Comercial
> Desenvolvimento / Gerência de Redes
> welkson em focusautomacao.com.br
>
>
>
>                       Powered by ....
>
>                                            (__)
>                                         \\\'',)
>                                           \/  \ ^
>                                           .\._/_)
>
>                                       www.FreeBSD.org
> -------------------------
> Histórico: http://www.fug.com.br/historico/html/freebsd/
> Sair da lista: https://www.fug.com.br/mailman/listinfo/freebsd
>
acho que o exemplo desta pagina pode te ajudar
http://www.openbsd.org/faq/pf/pt/queueing.html
no Exemplo #2: Rede Empresarial
da uma olhada

-- 
Alessandro de Souza Rocha
Administrador de Redes e Sistemas
Freebsd-BR User #117


Mais detalhes sobre a lista de discussão freebsd