Apresentarei as principais sintaxes do comando
vlan e uma prévia do comando
iproute2.
O comando abaixo cria uma interface virtual na interface "eth1" com a tag de vlan 2:
# vconfig add eth1 2
Para remover a interface criada no comando anterior:
# vconfig rem eth1.2
Note que, no segundo comando, a interface passa a ter um ponto "." entre a interface e a tag da VLAN. Isto ocorre porque o sistema cria uma interface virtual: ethx(.)"tag da vlan"
Quando criada, a interface fica administrativamente desligada, para ligar é só digitar:
# ifconfig eth1.2 up
Ou:
# ip link set eth1.2 up
Atribuindo IP à interface:
# ip addr add 172.16.0.254/24 brd + dev eth1.2
Retirando o IP:
# ip addr del 172.16.0.254/24 brd + dev eth1.2
Retirando todos os IPs atribuídos à interface:
# ip addr flush eth1.2
Script para administrar as interfaces.
Crie o arquivo
/etc/init.d/net e cole o conteúdo abaixo:
#!/bin/bash
# Script para levantar interface de rede com VLAN
# Marcos Dias Cardoso
# 05/06/2012
# Criando as VLANs
vconfig add eth1 2
vconfig add eth1 3
# Levantando as interfaces
ip link set eth1 up
ip link set eth1.2 up
ip link set eth1.3 up
# Limpando as interfaces
ip addr flush eth1
ip addr flush eth1.2
ip addr flush eth1.3
# Atribui IPs nas interfaces
ip addr add 192.168.99.254/24 brd + dev eth1.2 #IP atribuído para a VLAN2
ip addr add 192.168.100.254/24 brd + dev eth1.3 #IP atribuído para a VLAN3
ip addr add 172.16.1.254/24 brd + dev eth1 #IP para a administração dos equipamentos Ubiquiti e MikroTiks
Dê permissão de execução para o script com o comando:
# chmod +x /etc/init.d/net
Adicione na inicialização do sistema:
# update-rc.d -f net defaults 8
MikroTik
No MikroTik vamos trabalhar no console.
Para criar uma VLAN basta digitar:
/interface vlan
add arp=enabled disabled=no interface=ether1 l2mtu=1522 mtu=1500 name=vlan1 use-service-tag=no vlan-id=2
Criando uma
bridge:
/interface bridge
add admin-mac=00:00:00:00:00:00 ageing-time=5m arp=enabled auto-mac=yes disabled=no forward-delay=15s l2mtu=1522 max-message-age=20s mtu=1500 name=bridg priority=0x8000 protocol-mode=none transmit-hold-count=6
Atribuindo as portas na bridge:
/interface bridge port
add bridge=bridg disabled=no edge=auto external-fdb=auto horizon=none interface=wlan1 path-cost=10 point-to-point=auto priority=0x80
add bridge=bridg disabled=no edge=auto external-fdb=auto horizon=none interface=vlan1 path-cost=10 point-to-point=auto priority=0x80
/interface bridge settings
Atribuindo IP na interface:
/ip address
add address=172.16.1.1/24 comment="Ip para administração" disabled=no interface=ether1 network=172.16.1.0
Atribuindo rota default:
/ip route
add disabled=no distance=1 dst-address=0.0.0.0/0 gateway=172.16.1.254 scope=30 target-scope=10
Ubiquiti
Bom, os equipamentos de pequeno porte da linha Ubiquiti só trabalham com VLAN em modo texto, mas isso não será problema (somos
Linux users...).
Precisamos acessar o equipamento via SSH:
# ssh -l ubnt 172.16.0.2
Obs.: Substitua o
ubnt pelo usuário corrente do equipamento, o default é: ubnt
Crie um arquivo em /etc/persistent chamado vlan.conf:
# vi /etc/persistent/vlan.conf
Cole o conteúdo abaixo e salve:
plugin_start() {
brctl delif "br0" "eth0"
vconfig add eth0 3
ifconfig "eth0.3" up
brctl addbr br0
brctl stp "br0" off
brctl addif "br0" "eth0.3"
brctl addif "br0" "ath0"
ifconfig "br0" up
ip addr flush br0
ip addr add 172.16.1.2/24 brd + dev eth0
route add default gw 172.16.0.254
true
}
plugin_stop() {
ifconfig "br0" down
brctl delbr "br0"
vconfig rem "eth0.3"
true
}
Crie outro arquivo no mesmo diretório com o nome rc.poststart.
# vi /etc/persistent/rc.poststart
Cole o conteúdo abaixo e salve:
#!/bin/sh
. /etc/persistent/vlan.conf
plugin_stop;
plugin_start;
Para finalizar, grave as alterações na memória do Ubiquiti com o comando:
# cfgmtd -p /etc -w
Os arquivos acima criam uma VLAN com tag 3 no equipamento Ubiquiti, não se esqueça de adaptá-los à sua necessidade.
Resultado
Todos os ativos que estiverem conectados na
wlan1 do MikroTik, só terão acesso à porta eth1.2 do
GNU/Linux, ou seja, a rede "192.168.99.0/24" e todos que estiverem conectados no Ubiquiti, só terão acesso à porta "eth1.3" com o IP: 192.168.100.254 do GNU/Linux.
Referências