Você está na página 1de 3

Do bit Ao Byte Air France® Brasil

Passagens em 4x sem juros para mais

Linux, programação, eletronica digital. Tudo,


de 1000 destinos com a Air France

do bit ao Byte.

Linux Configurando VLANs em Linux (Debian)


 

« Bridge transparente em Linux


Eletrônica digital com Arduino – Introdução ao Fritzing »

Configurando VLANs em Linux (Debian)


Like Share 369 people like this.

7 Tópicos recentes
›   Arduino Ethernet e Análise
1 fev 2012   | Linux com TAP
Tags: local area network · powerconnect · rede · virtual local area
network ›   Usa Samsung Smart? Sua
privacidade foi para as nuvens.
Introdução
›   Raspberry PI 2 – Dicas, dúvidas
Configurar uma VLAN no Linux é um processo bastante simples e rápido, e erros comuns
bastando alguns conceitos de rede. Porém, se quiser planejar as VLANs de sua
rede, será necessário um pouco mais de leitura do que este post, cujo propósito é ›   Multiplexação com shift
auxiliar na lembrança do processo. register 74HC595 e Arduino

VLAN é um acrônimo de Virtual Local Area Network. Para utilizar VLAN é ›   DietPi – Um OS Leve, Robusto
necessário um switch que suporte VLAN. Alguns aceitam a configuração de tags Para Raspberrys, Odroids E
apenas, enquanto switches melhores (como o PowerConnect 6200 series) Oranges Pi!
suportam trunk.

A VLAN separa virtualmente redes, adicionando aos cabeçalhos alguns bytes que
são utilizados como identificadores. Uma rede que possuir a tag 5 pertence à
VLAN5 e seus pacotes não poderão ser ‘sniffados’ por fora, nem trafegados em
Categorias
outra VLAN (exceto haja roteamento para e configuração para tal). Uma das ›  Arduino ›  Blender
vantagens além de segurança é menor tráfego de rede, além de organização, o
que facilita o gerenciamento. ›  Como as ›  DIY
coisas
Um servidor por exemplo, poderá estar em qualquer lugar fisicamente e ›  Eletronica
Funcionam
participar de uma rede apenas conectando‑o à respectiva porta de sua VLAN. Isso
também permite otimização dos recursos físicos, pois um switch poderá ser sub‑ ›  Embedded
dividido entre N VLANs, e a economia de espaço físico, energia, manutenção e
gerenciamento acaba sendo otimizada. Como tudo, há também um lado negativo; ›  esp8266 ›  forense
jamais você poderá ter um switch sub‑dividido entre N VLANs se não tiver um
backup; uma falha (apesar de raro) no equipamento poderá paralizar N ambientes ›  Geral ›  IoT
de produção! Em contra‑partida é possível ter apenas 1 ou 2 switches de backup
atendendo a muitos, desde que haja a possibilidade de backup de sua ›  Linux ›  MIPS
configuração interna. Com isso, bastará inserir essa configuração em um
equipamento de backup e passar a utilizá‑lo. Observe que esse método não serve ›  Phanton Clone ›  PIC
para alta‑disponibilidade onde entre as possibilidades, um switch em modo stack
pode ser a solução ideal. ›  Programação ›  Raspberry

Também deve‑se considerar que haja uma configuração flexível dos switches, ›  Sem categoria
ainda mais se tratando de ambientes de callcenters onde contratos são curtos,
protocolos precisam ser bloqueados ou liberados, portas de VLANs precisam ser
expandidas, etc. Então nesse caso o ideal seria ter um robô de rede para fazer
backup das configurações. Veja um exemplo nesse post, onde fiz um robô de Tags mais
backup em python para recolher configurações de switches de borda de rede
Summit.
utilizadas
3.3v arduino biblioteca
Nesse exemplo, será descrita a configuração de uma vlan em modo tag.
Primeiramente, instala‑se o pacote vlan: blender buzzer c cg

dhcp display DIY duino


apt-get install vlan
embedded linux esp8266
Posteriormente, baixe a(s) interface(s) de rede e edite o arquivo de configuração
de interfaces /etc/network/interfaces. Uma configuração de exemplo seria: forense ftdi gpio

interrupt kernel linux ldd


auto lo
iface lo inet loopback linux llc matriz mcu
auto vlan100 mikroc nodemcu
iface vlan100 inet static
open hardware openwrt pic
address 10.0.0.254
netmask 255.255.0.0 pinos power pwm qt
network 10.0.0.0
broadcast 10.0.255.255 regulador de tensão rs485
gateway 10.0.0.1 sensor serial socket tcp
vlan_raw_device eth0
timer uart uclibc uln2003
Se for adicionar mais VLANs à interface física eth0, então:
uno wifi wiring

auto vlan47
iface vlan47 inet static
address 191.168.1.18
netmask 255.255.255.0
network 192.168.1.0
broadcast 192.168.1.255
gateway 192.168.1.1
vlan_raw_device eth0

Pode‑se também passar o parâmetro mtu no bloco de configuração de uma


VLAN:

mtu 1500

Na interface do switch será necessário que esteja configurada a(s) respectiva(s)


VLAN(s).
Com um restart no serviço de rede (/etc/init.d/network restart) deverá aparecer
algo como:

Set name-type for VLAN subsystem. Should be visible in


/proc/net/vlan/config
Added VLAN with VID == 100 to IF -:eth0:-
Set name-type for VLAN subsystem. Should be visible in
/proc/net/vlan/config
Added VLAN with VID == 47 to IF -:eth0:-

Utilizando o comando vconfig


O comando vconfig permite que se faça a configuração manual da VLAN de uma
maneira bastante simples:

vconfig add eth0 100

Especificamente durante a escrita desse post, enquanto fazia o processo para


descrevê‑lo me deparei com essa mensagem:

WARNING: Could not open /proc/net/vlan/config. Maybe you need to


load the 8021q module, or maybe you are not using PROCFS??
Added VLAN with VID == 100 to IF -:eth0:-

De qualquer forma a VLAN foi adicionada, mas então fiz o load do modulo (que é
obrigatório):

modprobe 8021q

Se for o caso, adicione a carga do módulo em /etc/modules.

Então, ainda não aparecerá nenhuma configuração na interface. Faça:

ifconfig eth0.100 10.0.0.254 netmask 255.255.0.0 broadcast


10.0.255.255 up

Informações detalhadas sobre a interface VLAN podem ser obtidas no respectivo


arquivo criado em /proc:

cat /proc/net/vlan/eth0.100

Para remover uma VLAN, tão simples quanto adicioná‑la:

vconfig rem eth0.100

Informações sobre todas as VLANs do sistema:

cat /proc/net/vlan/config

Sendo necessário regra de firewall na interface virtual, basta indicá‑la. Exemplo:

iptables -A OUTPUT -o eth0.100 -j ACCEPT


Tanto faz utilizar ‘.’ ou ‘:’, mas prefiro ‘.’ porque ‘:’ é utilizado em ‘port range’.

Uma breve visão do funcionamento


Trunks são feitos entre switches, entre switch e roteador ou entre switch e
computador.

Quando um o switch recebe uma quadro unicast com tags, ele procura pelo MAC
e a porta que corresponda à VLAN que ele vem marcado. No caso a tag é a marca
que adicionamos ao header; nas VLANs de exemplo, 100 para uma e 47 para a
outra.

Quando recebido um quadro multicast, ele é distribuido para todas as interfaces


participantes da respectiva VLAN.

Quando um computador ou roteador ciente recebe um quadro tagueado, ele


examina a tag para determinar a qual interface o quadro pertence. Essa interface
virtual pode ter um endereço IP e se comportar basicamente da mesma forma que
uma interface física normal (tradução dessa última linha exatamente como
descrito nesse excelente documento).

Alguns switches tem o conceito de VLAN nativa, de forma que pacotes não
tagueados que chegarem a uma porta receberão a marca da VLAN
correspondente. Os switches Dell PowerConnect 6200 series tem essa
característica como opcional configurável. Nesse switch se encontram os modos
TAG,UNTAG, TRUNK.

Considerando que untagged fará com que o pacote entrante receba a marca
definida para aquela porta, tenha atenção de não ter essa configuração ativa em
ambas as pontas.

Por um lado, a VLAN é segura pois os pacotes só serão desencapsulados pelo seu
destino, mas cita‑se 2 principais riscos (cujos riscos não peguei até hoje); leak de
uma VLAN para outra, onde pode‑se revelar informações sensíveis a respeito de
uma dada VLAN. A outra é injeção de pacotes em uma VLAN, mas convenhamos
que para ter alguma pessoa ou processo gerando tags para uma VLAN específica
DENTRO de sua rede, a coisa está feia.

Um artigo da LinuxJournal (o do link contido no desenrolar desse post) cita esses


riscos e seguidamente cita também que em um switch devidamente configurado
as chances são mínimas. Em minha opinião, nulas.

As recomendações são as de qualquer administrador de sistema, que seria


desativar trunking e negociação trunk em todas as portas, exceto seja uma
necessidade; ativar proteção de flood do MAC em todas as portas e por fim, isolar
o gerenciamento das VLANs de servidores e estações de trabalho.

A configuração de VLANs em Linux está descrita em muitos artigos que se pode


encontrar facilmente pela internet, mas compilei um procedimento mais completo
para agilizar um startup, espero que possa ser útil a mais pessoas.

Compartilhe isso:

    

Relacionado

Bonding + VLAN + Um pouco de prosa Phantom 1.0


Heartbeat ou UCARP 18 de novembro de 2012 28 de outubro de 2010
(Debian/RedHat like) Em "Linux" Em "Linux"
14 de janeiro de 2013
Em "Linux"

Você também pode gostar