Este artigo explica os fundamentos do protocolo 802.3q (VLAN), suas vantagens e ensina como executar a configuração de VLAN no Linux. Também apresenta dicas para a configuração dos switches envolvidos e servidores DHCP.
A implementação de VLANs é ainda um tópico pouco explorado em Linux, mas com um potencial enorme de utilização. Uma melhoria que pode ser adicionada é a associação do roteador com regras de firewall, agregando segurança e controle no acesso às sub-redes. Entretanto, dependendo da natureza da sua rede e do volume de dados, um roteador mais potente e com arquitetura dedicada pode ser necessário.
Marcelo Barros de Almeida (barros(at)smar.com.br), 32 anos, é doutor em engenharia elétrica pela Universidade Federal de Minas Gerais (UFMG) e trabalha atualmente na Smar Equipamentos Industriais, desenvolvendo equipamentos embarcados para controle industrial. É o criador do portal Linux a Bordo, com conteúdo voltado para Linux embarcado. Também é professor do Centro Universitário Barão de Mauá.
[1] Comentário enviado por marcelobarros em 29/06/2006 - 13:44h
Onde se lê no início "802.3q (VLAN)", trocar por "802.1q (VLAN)". Ficou errado no resumo. Verifique também se as rotas default sobiram ou não. Se não subirem, acrescente manualmente com:
route add -net 10.0.1.0 netmask 255.255.255.0 dev eth0
route add -net 10.0.2.0 netmask 255.255.255.0 dev eth1
route add -net 10.0.10.0 netmask 255.255.255.0 dev eth0.10
route add -net 10.0.20.0 netmask 255.255.255.0 dev eth0.20
route add -net 10.0.30.0 netmask 255.255.255.0 dev eth0.30
[6] Comentário enviado por rpestana em 01/07/2006 - 17:12h
Parabens, muito util o seu artigo!Ajudo a esclarecer muitos pontos obscuros!!!
Tenho uma duvida, ha tempo estava querendo montar um lab para aprender vlan com linux, sua estoria inicial diz tudo. Existiriam observações a serem tomadas se fosse usado um DHCPRELAY no gatetway com VLAN com o mesmo apontado para um servidor DHCP na subrede acima?
Valeu!!!
[8] Comentário enviado por eduardo.ramos em 07/07/2006 - 10:15h
legal, isso só nao funciona no slackware! pelo menos estou testando aqui e nada! a interface eth0.1010 não é reconhecida se alguém puder me dizer como fazer esta mágica acontecer pois acho meio difícil pois o dhcp não deve rodar em cima de interfaces com aliases.
[13] Comentário enviado por marcelobarros em 22/11/2006 - 09:03h
O switch precisa entender o quadro modificado da VLAN. O que tenho aqui considera o quadro como invalido quando vc nao especifica que a caracteristica de vlan na porta.
[14] Comentário enviado por marcelo_aba em 23/02/2007 - 17:35h
Qual a placa de rede q você utilizou para fazer a configuração?
Estou tentando instalar a placa DGE-530T D-Link 802.1q mas ta dando bronca no debian. Você tem alguma dica para q eu instala a mesma no debian?
[15] Comentário enviado por marcelobarros em 26/02/2007 - 07:36h
Eu usei uma placa da netgear, mas se o kernel suportar a placa que vc está usando, não deveria ter nenhum problema. Fiz um procura rápida e vi vários relatos de usuários empregando esta placa com sucesso sem mexer em nada. O site da DLINK mostra também que existem drivers pra Linux (http://www.dlink.com/products/support.asp?pid=284&sec=0#drivers). Recomendo que verifique se no kernel que está usando suporta esta placa ou então que experimente o driver do fabricante.
[16] Comentário enviado por jgama em 25/06/2007 - 23:56h
Grande Marcelobarros, muito bom seu artigo.
tenho uma dúvida o qual creio que vc sabera responder de cor.
já fiz todas as configurações mostrada no artigo, usando o Slackware 10.2.
Pergunto como que as estações irão saber qual IP pegar das sub-redes?
Estou usando dois mini switch aqui na minha rede doméstica, e gostaria de fazer este teste da vlan, é possivel?
No primeiro switch tem dois redes 192.168.1.0 e 192.168.11.0
No segundo swithc tem a rede 192.168.12.0
O dhcp fiz conforme sua esplanação, só troquei os ip's os quais mencionado acima.
[17] Comentário enviado por seuluis em 24/03/2008 - 10:15h
Para utilizar o linux na criação e administração de uma vlan pequena para 3 redes e umas 70 maquinas eu vou precisar de um rotiador ou switch ou so com uma maquina com linux eu consigo?
[18] Comentário enviado por marcelobarros em 27/03/2008 - 15:20h
um switch com vlan e mais um pc pra fazer as vezes de roteador com vlan irá resolver, ou então um switch com vlan e um roteador mesmo, com vlan tambem.
[22] Comentário enviado por marcelobarros em 16/07/2008 - 09:46h
Ricardo:
Não sei se entendi a sua pergunta, Ricardo. Com o suporte a VLANs direto no Linux você não precisa de nenhum hardware adicional a não ser o switch com suporte a VLANs. As redes virtuais serão emuladas no Linux, como subnets diferentes. Aí, dentro da máquina Linux você habilita o roteamento entre placas e pode colocar servidores do que precisar. No fundo, é simples assim, com tudo passando por uma interface só. Se precisar de mais exclarecimento, detalhe melhor a sua pergunta. Você me encontra no gmail.com, com o username marcelobarrosalmeida.
[25] Comentário enviado por lecb em 06/04/2009 - 11:41h
Marcelo,
Tenho um servidor DHCP com cerca de 30 vlans, devidamente configuradas. Agora ocorre um problema que de tempos em tempos, as estações em determinadas vlans perdem a conexão com o servidor, sendo que tudo aparenta estar normal, tanto o servidor DHCP como o serviço em questão operam normalmente, inclusive as estações pertencentes a determinadas vlans.
É o caso até mesmo a rede principal ficar fora e todas as demais consegue acesso. Ao verificar o log tail -f /var/log/messages
mostra que está operando devidamente, mas faz-se necessário reiniciar o serviço para que as estações voltem a pegar o Ip.
Saberia me dizer que pode ser feito para corrigir tal problema?
[26] Comentário enviado por marcelobarros em 07/04/2009 - 08:36h
Infelizmente não. Você não desconfia dos seus switches ou outros ativos de rede ? Eu já tive problemas com eles, fazendo tudo se perder. Pela dimensão da sua rede (30 VLANs) é bom que eles não tenham nenhum bug. Outra coisa que pode fazer é fazer um port mirror no switch e tentar avaliar o tráfego da VLAN com problema. Bom, será preciso que o switch tenha o recurso de port mirror.
[27] Comentário enviado por cavanso em 16/09/2009 - 01:24h
Prezado Marcelo,
Nunca trabalhei com VLAN, so na teoria, bom pelo que entendi preciso ter o switch gerenciavel e o servidor linux para efetuar este procedimento ? ou so o proprio servidor linux e um switch não-gerenciavel resolveria? no seu modelo impõe 3 vlan, no caso como definiria os grupos de maquinas a determinada vlan ?
[28] Comentário enviado por marcelobarros em 17/09/2009 - 07:52h
1) É preciso um switch com suporte a VLANs.
2) Você não define a máquina. O simples fato de ela ter acesso à rede através de uma porta do switch já faz isso. Ao ingressar no switch, pacotes sem ID de VLAN terão o header ethernet modificado para adicioná-lo. Tudo isto se faz através da configuração do switch, onde se coloca o que é desejado em termos de VLANs.
[29] Comentário enviado por irado em 11/10/2009 - 08:49h
elogiar este artigo do marcelo é chover no molhado, mas acontece que eu o encontrei hoje - risos - e gostei MUITO do artigo tanto pela sua qualidade técnica - até eu entendi o significado/uso de vlans - mas também pela leveza da abordagem do assunto. Um excelente casamento do grande conhecimento com a qualidade da prosa.
[30] Comentário enviado por netdovale em 19/05/2010 - 00:08h
MARCELO NUNES - NETDOVALE
Parabens a contribuicao do colega em abordar o assunto VLAN e explicar com muita maestria a materia abordando o assunto de forma muito exposta, "NASCER CRESCER E SER UM HOMEN DE VALOR E ASSUMIR AS CONSEQUENCIA, SER UM HOMEM DE SUCESSO"
[32] Comentário enviado por juliosnb em 17/09/2010 - 09:59h
marcelo estou com uma duvida.
gostaria que vc explicasse melhor como cada usuário das vlan's irá saber o endereço certo a pegar do dhcp, possuo ja criado nos switchs as vlan's 801, 803 e 825. como o dhcp saberá enviar a rede para essas vlan's.
[33] Comentário enviado por marcelobarros em 17/09/2010 - 14:50h
Você é que define a faixa de endereços que seus clientes podem receber. No entanto pode ser qualquer um na faixa. Se quer ficar, tem como, através de configurações amarradas em MAC no seu dhcp3 server. Abra o arquivo de configuração dele e verá um exemplo.
[34] Comentário enviado por luiz humberto em 21/10/2010 - 13:53h
Marcelo,
Utilizando apenas o linux para a criação de uma Vlan, ou seja, com um switch comum, caso o usuário mudar o ip de sua máquina ele irá acesso as outras sub-redes, tem como fazer essa restrição pelo mac porque se mudar o ip não terá acesso as outras apenas a que ele está configurado.
[37] Comentário enviado por jgama em 10/02/2011 - 22:27h
Caro amigo, segui o teu tutorial mas estou encontrando dificuldade para ter sucesso, não querendo abusar de sua paciência, poderia analizar oq ue pode está dando errado.
No switch eu fiz..
Criei as Vlans 1, 2, 10, 20 , 30
sendo:
Vlan1 para administração do switch IP 169.254.239.7/30
Vlan2 Rede Principal IP 192.168.0.2/24 já que IP 192.168.0.1 é do Servidor Linux "Gateway" + Samba PDC.
Vlan10 IP 10.0.10.1/24
Vlan20 IP 10.0.20.1/24
Vlan30 IP 10.0.30.1/24
Pegando o exemplo do artigo, usei a porta 2 do switch onde o Servidor Linux esta conectado eu configurei para "tagged" as 3 Vlans fazem parte desta porta, só que estão "untagged"
Não sei se era necessario mas em DHCP Relay eu deixei em Global
No Linux usei o script para criar as Vlans só alterando para para minha rede, mas ficou assim:
Fui com sede ao pote achando que tudo ia dar certo, mas logo veio o desanimo.
Primeiro que os hosts da vlans não consegue paga o IP automatico.
Os Hosts só consegue pinga os Ips das Vlans e não os hosts por traz das Vlans.
ou seja o host com IP 10.0.10.2 não pinga o host 10.0.20.2
Os Hosts da rede principal Vlan2 configurado no switch não pinga nehuma das vlans, 10.0.10.1, 10.0.20.1 e 10.0.30.1
Agora meus amigos, o que pode ser, alguém manja configuração de switcg de preferencia 3Coim modelo 2928 com Suporte a Vlan e camada3?
Estou precisando muito fazer esta vlans funcionar, no momento estou só em fase de teste.