Post em Destaque

Novo Playstation com um sistema operacional baseado em FreeBSD ao invés de “feito todo em casa” como antes.

O novo PS4 deverá vir com um novo Sistema Operacional. Sim pelos dados coletados será baseado no FreeBSD devido ao suporte que tem com GPU. Sem falar outras características como estabilidade, performance e até mesmo a licença BSD que eu particularmente acredito ser muito mais interessante para a...

Leia mais...

Uma outra maneira organizada de configurar interfaces de rede

Posted by gondim | Posted in Dicas | Posted on 14-04-2012

Tags:,

1

Muita gente está acostumada à usar o /etc/rc.conf para diversas configurações no FreeBSD, como hostname, serviços de rede e tudo mais que estiver em /etc/defaults/rc.conf, inclusive as configurações das interfaces de rede.

Normalmente um exemplo simples de /etc/rc.conf:

defaultrouter=”186.xxx.48.1″
hostname=”zeus.dominio.com.br”
ifconfig_igb0=”inet 186.xxx.48.15  netmask 255.255.255.224″
keymap=”br275.iso.acc”

Reparem que existe a linha com o parâmetro ‘ifconfig_igb0‘ onde configuramos o IP da nossa interface de rede cujo driver é o igb aqui no nosso exemplo. Uma curiosidade bem legal que você pode fazer um man if_<driver_interface_rede> que você verá um manual do driver daquela interface. Ex: man if_em, man if_re, man if_rl e por aí vai.

Quando você tem uma interface de rede no servidor é mais fácil e rápido configurar no rc.conf mas a coisa fica mais chata quando temos mais interfaces e rotas para serem gerenciadas de forma limpa e clara. Imaginem ainda ter que configurar um link aggregation (lagg) e dentro desse lagg ainda ter que configurar vlans. É por essas e outras que usamos o /etc/start_if.<interface> e dentro dele colocamos toda a configuração que necessitamos como digitaríamos na linha de comando.

Vamos ver um exemplo simples: comentamos ou removemos a linha ifconfig_igb0 do rc.conf e criamos o arquivo /etc/start_if.igb0 com o conteúdo abaixo como no exemplo:

/sbin/ifconfig igb0 186.xxx.48.15/27
/sbin/route add -host 186.xxx.54.69 186.xxx.48.2
/sbin/route add -net 186.xxx.48.32/27 186.xxx.48.2

Basta fazer um reboot e testar sua nova configuração. 🙂

Agora vamos ver uma mais sofisticada com lagg entre as interfaces em2 e em3 e ainda vlans dentro da lagg:

/etc/start_if.em2:

/sbin/ifconfig lagg1 create
/sbin/ifconfig em2 up

/etc/start_if.em3:

/sbin/ifconfig em3 up
/sbin/ifconfig lagg1 laggproto lacp laggport em2 laggport em3 10.10.10.10 netmask 255.255.255.255
/sbin/ifconfig vlan0 create
/sbin/ifconfig vlan1 create
/sbin/ifconfig vlan2 create
/sbin/ifconfig vlan3 create
/sbin/ifconfig vlan0 186.xxx.48.1/27 vlan 3081 vlandev lagg1
/sbin/ifconfig vlan1 177.xxx.240.254/27 vlan 3082 vlandev lagg1
/sbin/ifconfig vlan2 186.xxx.54.1/27 vlan 2126 vlandev lagg1
/sbin/ifconfig vlan3 186.xxx.61.1/27 vlan 3088 vlandev lagg1

Nos exemplos acima fiz uma lagg nas interfaces em2 e em3 com o nome de lagg1. Uma vez criada a lagg, configurei as vlans que falam com cada cidade que tenho no meu router.

O objetivo não é aprender lagg ou vlan mas mostrar que usando esse formato de configuração fica mais claro e fácil de gerenciar uma estrutura mais complexa da sua empresa.

É isso e até a próxima.

Share Button