DevSecOps

21 jan, 2014

Configurando portas VLAN access no Mikrotik RouterOS

Publicidade

Para quem não sabe o RouterOS é o sistema operacional da Mikrotik que dá vida às poderosas RouterBoards, e é baseado em Linux. Assim como o pinguim, ele é extremamente completo e flexível, porém muito compacto e otimizado. Pode também ser usado em qualquer PC. Se você gosta da área de redes, recomendo fortemente comprar uma RouterBoard para brincar.

Existe muita documentação explicando como “criar” VLAN’s no Mikrotik. A questão é que a grande maioria explica como criar interfaces VLAN, mas não diferencia portas de acesso de portas de transporte (trunk). Uma interface VLAN (vlan interface) atrelada à uma interface física está mais próximo de uma porta de transporte do que uma uma VLAN como um todo.

Um porta de acesso é uma porta membro de uma VLAN (domínio de broadcast) onde os pacotes não saem com a marcação 802.1q, já os pacotes em portas de transporte recebem a marcação na saída, que é o caso das “VLAN interfaces” no RouterOS.

Falando em domínios de broadcast, no RouterOS você deve criar “bridges”, onde cada porta de acesso da VLAN será inserida. As interfaces VLAN (Vlan interface) serão criadas sobre as portas de transporte, de onde os pacotes vão sair com a marcação (802.1q) da VLAN de origem, em seguida as interfaces VLAN são inseridas na bridge da sua VLAN. Se quer saber um pouco mais sobre VLAN’s acesse este artigo aqui.

Neste exemplo estou usando um RB2011 UAS 2Hnd IN, onde eu tenho dez portas e pretendo criar dois Vlan’s. A VLAN 10 com as portas ether7 e ether8, e a VLAN 20 com as portas ether9 e ether10. A porta ether6 será a porta de transporte.

Primeiro criamos as duas bridges; uma para cada VLAN (br-vlan10 e br-vlan20):

br-vlan

Em seguida adicione as portas ether7 e ether8 à br-vlan10 e as portas ether9 e ether10 à br-vlan20.

br-port-add

Desta maneira, já temos dois VLANS de verdade. Basta agora criar as interfaces VLAN na porta de transporte e depois inseri-las na suas respectiva bridge.

Criando duas interfaces VLAN na porta ehter6:

vlan-interface

Coloque cada interface vlan dentro da sua bridge. A coisa fica mais ou menos assim:

br-vlans

Veja que as VLANS são definidas pelas portas dentro de uma bridge, e os pacotes egressos das “vlan interfaces” serão marcados com o TAG da VLAN e sairão pela ether6, que é a porta de transporte, onde você provavelmente terá um switch plugado.

Quem vem do mundo Cisco e cia pode ficar confuso, já que no IOS você define qual porta é membro de qual VLAN na configuração da própria porta. A configuração é muito mais simples, mas lembre-se que o RouterOS é basicamente o Linux, e que a RouterBoard não é exatamente um switch, o que lhe dá muito mais flexibilidade.

Problema

Nesta Routerboard que uso as portas 6 a 10 vem com uma configuração ainda mais estranha. Ao inserir as portas nas bridges das VLAN’s você por se deparar com o seguinte erro:

slave-error

Acontece que as portas ether7 em diante vêm configuradas como “Slave” da porta ether6, que na prática é o mesmo que dizer que a porta ether6 e todas as suas “escravas” são um switch (uma bridge). Você deve primeiramente remover a configuração “Master Port” dessas portas, para que fiquem “livres”, usando a opção “none”:

mastar-port-none

A explicação para isso pode deixar as coisas ainda mais confusas, e fica para outro artigo. Na documentação da Mikrotik, esta configuração usa recursos diretos da CPU do switch – ASIC (application specific integrated circuit) – e oferece um desempenho maior na camada2, poupando o processamento da CPU principal.

O RouterOS é um sistema completo e poderoso, mas se você não pisa firme nos conceitos de redes e camada 2 pode tropeçar bastante até entender a coisa.