[FUG-BR] Usando PF com bridge.
Giancarlo Rubio
gianrubio em gmail.com
Terça Junho 9 16:17:31 BRT 2009
2009/6/9 Rafael Henrique Faria <rafaelhfaria em cenadigital.com.br>:
> Boa tarde lista.
> Estou com alguns problemas para configurar um Packet Filter em uma bridge.
> O esquema é o seguinte:
>
> WAN <---> Bridge <===> ROUTER (Switch L3 - 3Com CoreBuilder) <--> LAN
>
> A Bridge não possui IP na inferface bridge0, mas possui uma 3a. placa
> de rede com um cabo ligado no 3Com, com IP da Lan para acesso e
> administração do FreeBSD.
> O SO é um FreeBSd 7.2-STABLE.
> O link com a WAN é de 38Mb/s, e esta ligado em uma fxp0, e o router
> está ligado em uma em0.
> Então tenho 3 interfaces:
>
> wan: fxp0
> lan: em0
> fxp0 + em0: bridge0
>
> O que eu estou tentando fazer agora é traffic shapping para certos IPs.
> Eu ativei o altq no PF, com a seguinte configuração:
>
> -------
> altq on $lan_if cbq bandwidth 100% queue { std, limitar }
> queue std bandwidth 99% cbq(default)
> queue limitar bandwidth 20Kb cbq
>
> pass on $lan_if proto tcp from <ips_traffic_shapping> to any keep
> state queue limitar
> -------
>
> Aparentemente funciona.
> A partir dos IPs que estão na tabela "ips_traffic_shapping", eu fico
> limitado a downloads de 20K.
> Porém quando eu abro algum torrent, o download chega a mais de
> 300kb/s, resumindo que não está funcionando.
> Eu tentei mudar as regras do altq, para a interface $wan_if, porém não
> funcionou nem a limitação na navegação.
> Alguém utiliza um esquema desse com bridge, e tem alguma dica?
>
Se você postou exatamente sua configuração e seu cenário é esse, trocar a regra
pass on $lan_if proto tcp from <ips_traffic_shapping> to any keep
para
pass on $lan_if proto {tcp,udp} from <ips_traffic_shapping> to any keep
irá solucionar seu problema.
Lembre-se que torrent utilizam protocolo udp e você está fazendo com
que o tudo que não for tcp case com a regra std.
--
Giancarlo Rubio
Mais detalhes sobre a lista de discussão freebsd