Uma outra maneira organizada de configurar interfaces de rede
Posted by gondim | Posted in Dicas | Posted on 14-04-2012
Tags:lagg, vlan
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.