Posts tagged: Bridge

Usando um FreeBSD como Bridge

FreeBSD Logo

Para criarmos a bridge com o FreeBSD primeiramente precisaremos criar uma interface para a bridge.

ifconfig create bridge0

Depois precisamos informar quais placas de redes irão ser agrupadas na bridge

ifconfig bridge0 addm em0 addm vr0 up

Veja que adicionamos as interfaces duas interfaces (emo e vro) para formarem a bridge.

Agora vamos levantar as interfaces de rede e a bridge

ifconfig emo up
ifconfig vr0 up
ifconfig bridge0 up

pronto nossa bridge está pronta.

Se quisermos gerenciar essa bridge é só adicionarmos um endereço IP para ela.

ifconfig bridgeo 192.168.0.230 netmask 255.255.255.0

Caso haja necessidades de limitar o trafego de rede que passa através da bridge será necessário compilar o kernel do FreeBSD com as seguintes opções.

options IPFIREWALL
options IPFIREWALL_DEFAULT_ACCEPT
options DUMMYNET
options HZ=1000

Edite o arquivo rc.conf com as seguintes caracteristicas:

firewall_enable=yes
firewall_type=open

Com essas opções você garantirá que o firewall está ativado e “aberto” para qualquer pacote.
Para habilitarmos o controle de banda sobre a bridge vamos utilizar o sysctl.

sysctl net.link.bridge.ipfw=1

Para limitar a banda escreveremos um script para facilitar o processo, o script limita-banda.sh vai ter o seguinte conteúdo:

#!/bin/sh
BANDA=5Mbit/s

case $1 in

start)
sysctl.net.link.ipfw=1
ipfw add 10 pipe 1 ip from any to any bridge0
ipfw pipe 1 config mask src-ip 0x000000ff bw $BANDA
ipfw pipe 1 config mask dst-ip 0x000000ff bw $BANDA
;;

stop)
sysctl.net.link.ipfw=1
ipfw delete 10
;;

*)
echo “Uso `basename $0` {start|stop}
;;

esac

No script estamos informando que a quantidade de banda utilizada será de 5Mbit/s e criamos um “cano” para que o trafego seja passado através dele com a velocidade máxima de 5Mbit/s.

Para executar o script podemos utilizar:

chmod +x limita-banda.sh
./limita-banda.sh

Para que ao reiniciar a bridge não seja necessário refazer todos esses passos é só editarmos o arquivo /etc/rc.local e adicionar o seguinte:

# Cria a bridge e levanta as interfaces
ifconfig bridge0 addm em0 addm vro
ifconfig emo upifconfig vro upifconfig bridge0 up
ifconfig bridge0 129.168.0.230 netmask 255.255.255.0
# Ativa o limite de banda
/root/limita-banda.sh

Pronto, uma bridge FreeBSD pronta para uso!
Boa diversão!

WordPress Themes