[FUG-BR] RES: [OT?] PFSense + Controle de Banda por IP
Welkson Renny de Medeiros
welkson em focusautomacao.com.br
Segunda Janeiro 5 17:22:23 BRST 2009
Grande Renato =)
Eu já dei uma sacada nessa parte de limitação e balanceamento via pfsense...
mas realmente não testei...
Vou ficar usando dummynet "manualmente" mesmo... é só para limitar 1 ip
(replicação de banco SQL-Server).... esse ano deve sair a versão nova do
pfsense e nele já vai funcionar o ipfw+dummynet no webconfigurator.
Tenho me divertido bastante com o pfsense... projeto muito bom.... já faz
alguns anos que mexo com freebsd, já sabia da existência dele, mas nunca
tinha testado... já instalei em 2 clientes e tá rodando bonito... inclusive
o módulo OpenVPN (só a geração da chave que tive que fazer por fora... mas
pelo que vi em uma apresentação sobre pfsense da bsdcon no novo pfsense será
possível gerar via webconfigurator).
Forte abraço,
Welkson
----- Original Message -----
From: "Renato Frederick" <frederick em dahype.org>
To: "'Lista Brasileira de Discussão sobre FreeBSD (FUG-BR)'"
<freebsd em fug.com.br>
Sent: Monday, January 05, 2009 4:03 PM
Subject: [FUG-BR] RES: [OT?] PFSense + Controle de Banda por IP
Você pode usar a interface WEB para fazer controle de banda. Inclusive a
interface já tem um wizard para limitar aplicações conhecidas, como P2P e
afins.
Única desvantagem que vejo com relação ao IPFW é que no ipfw você
simplesmente fala:
Ipfw add 1 pipe 1 all from 10.10.10.1 to any out
Ipfw add 2 pipe 2 all from any to 10.10.10.1 in
Ipfw pipe 1 config bw 100Kbit/s
Ipfw pipe 2 config bw 100Kbit/s
No ALTQ você terá um pouco mais de linhas, falando que na interface de saída
a banda é de "X" e que nela existem os queue "A", "B", "N".
e a soma de todos os queue não pode exceder a banda X.
Para o trafego entrante, a mesma coisa, porem na interface de entrada. :)
Seria algo assim, em modo texto:
altq on $ext_phy_if cbq bandwidth 8Mb queue { cliente_A rede_interna }
queue cliente_A bandwidth 2Mb priority 4 qlimit 1000 cbq(red)
queue rede_interna bandwidth 8Mb priority 4 qlimit 1000 cbq(default,borrow)
pass out quick on $ext_if from { 10.10.10.1 } to any queue cliente_A
keep state
pass out quick on $ext_if from { 10.10.10.0/24 } to any queue rede_interna
keep state
Isto garante 2MB para o cliente_A mas permite que a rede interna "tome"
banda dele, caso ultrapasse os 8MB
O Script acima pode ser colocado no rc.d igual você fez. A vantagem de usar
o altq é que você vai interagir com os aliases que já existem na interface
web, facilitando a integração e evitando carregar mais um daemon.
Mas usar o IPFW também funcionará sem problemas, porém tem a desvantagem de
ficar "quebrado", sem a integração web :)
Abraços.
> -----Mensagem original-----
> De: freebsd-bounces em fug.com.br [mailto:freebsd-bounces em fug.com.br] Em
> nome de Welkson Renny de Medeiros
> Enviada em: segunda-feira, 5 de janeiro de 2009 14:28
> Para: Lista Brasileira de Discussão sobre FreeBSD (FUG-BR)
> Assunto: Re: [FUG-BR] [OT?] PFSense + Controle de Banda por IP
>
> Eu vi o suporte a ALTQ... mas acho que ALTQ foi feito para fazer
> balanceamento, etc... para limitar ip nada como dummynet.
>
> welkson
>
> ----- Original Message -----
> From: "Paulo Henrique (Riddick)" <paulo.rddck em bsd.com.br>
> To: ""Lista Brasileira de Discussão sobre FreeBSD (FUG-BR)""
> <freebsd em fug.com.br>
> Sent: Monday, January 05, 2009 12:52 PM
> Subject: Re: [FUG-BR] [OT?] PFSense + Controle de Banda por IP
>
>
> Welkson Renny de Medeiros escreveu:
> > Pessoal,
> >
> >
> > Vi que na versão nova do PFsense vai ser implementado o controle de
> banda
> > por ip (IPFW+Dummynet)... mas como estou usando versão que tá no site
> não
> > tenho suporte a isso.
> >
> > Preciso limitar o tráfego somente de 1 ip... dei uma pesquisada na
> net,
> > meu
> > script ficou assim (só deu certo quando desativei o pf, ativei o
> > ipfw+dummynet, depois reativei o pf).
> >
> > #!/bin/sh
> > # copie no /etc/rc.d/ e permita execução (chmod +x focus.sh)
> >
> > echo "Desativando PF..."
> > pfctl -d
> >
> > echo "Carregando firewall"
> > kldload ipfw
> > kldload dummynet
> >
> > echo "Limpando regras..."
> > ipfw -f flush
> > ipfw -f pipe flush
> > ipfw -f queue flush
> > ipfw -f table 1 flush
> >
> >
> > echo "Aplicando regras..."
> > ipfw 500 add pipe 11 ip from any to 192.168.2.100 not src-port
> > 5432,445,139,22222,3389 out via vr0
> > ipfw pipe 11 config bw 300Kbit/s mask src-ip 0x000000ff
> >
> > echo "Reativando PF..."
> > pfctl -e
> >
> > "Aparentemente" está funcionando bem.... vocês já tentaram algo do
> tipo no
> > pfsense? estou fazendo da forma correta?
> >
> >
> Estive usando ultimamente o PFSense e ele oferece controle de banda, em
> Firewall tem opções referentes ao ALTQ Welkson
> Poderia no caso verificar me lembro de ter lido algo sobre na GUI do
> PFSense assim como ja utilizei o ALTQ+PF.
>
> -------------------------
> Histórico: http://www.fug.com.br/historico/html/freebsd/
> Sair da lista: https://www.fug.com.br/mailman/listinfo/freebsd
>
> -------------------------
> Histórico: http://www.fug.com.br/historico/html/freebsd/
> Sair da lista: https://www.fug.com.br/mailman/listinfo/freebsd
-------------------------
Histórico: http://www.fug.com.br/historico/html/freebsd/
Sair da lista: https://www.fug.com.br/mailman/listinfo/freebsd
Mais detalhes sobre a lista de discussão freebsd