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.
Pode parecer estranho, mas o ciclo de evolução de uma rede
local, principalmente de pequenas e médias empresas, passa por
caminhos muito parecidos, crescendo à medida que os problemas
vão aparecendo e se adaptando às novas necessidades e
demandas. Uma história hipotética poderia ser a que vem
a seguir:
No
início só existiam computadores isolados e era bom.
Disquetes e CDROMs são utilizados para compartilhar dados.
Poucos vírus aparecem. O acesso à Internet é
discado, quando existe, e a briga pelo ramal é ferrenha !
A
situação se torna insustentável e alguém tem a
idéia de interligar dois micros via cabo de rede, uma vez que
eles já têm a placa de rede "on-board".
Algumas horas depois todos os problemas de interligação
são superados e a comunicação ponto-a-ponto
começa. Um sucesso!
Mais
pessoas querem entrar para a festa e resolve-se então comprar
um hub. Afinal, jogar Quake em rede é muito mais divertido!
Alguns dias de implantação e a rede local nasce. As
máquinas não tem funções específicas
e algumas delas são usadas para compartilhar informações.
O
infeliz que usa a máquina onde estão as informações
compartilhadas começa a reclamar. Ele não pode dar nem
um boot na máquina sem que alguém ligue imediatamente
depois que ele clicou em "reiniciar". Eventualmente ele
esquece e a desliga na hora de ir embora, sendo amaldiçoado
através de "post-it"s mal criados deixados na sua
mesa. Sem falar no dia que ocorreu um problema de hardware e todo
mundo ficou sem acessar as informações enquanto o
problema era solucionado. E a impressora compartilhada então? Ninguém suporta mais, principalmente a pessoa que fica no
micro onde ela está ligada. "Precisamos de máquinas
dedicadas", dizem todos em coro. "Precisamos de um acesso
melhor à Internet", lamentam outros. "Este hub está
uma droga", pragueja mais um.
Não
tem mais volta, a empresa está crescendo. Alguns servidores
aparecem. Um switch comum é comprado para melhorar o
desempenho da rede. Decidem contratar um serviço de acesso à
Internet. A pessoa que mais "manjava de informática"
assume a responsabilidade de cuidar da rede, obviamente sem que
nenhuma das suas atribuições antigas fossem removidas.
A
expansão continua: mais máquinas, outras sub-redes,
novos switches. O "administrador da rede" um dia acorda
mal humorado e dá um ultimato no gerente: "Ou eu só
administro a rede ou vocês contratam alguém, não
tem mais condições, não consigo mais
trabalhar". E assim nasce o cargo de administrador de redes da
empresa.
Agora
livre das amarras da sua antiga função e com algumas
promessas de treinamento, o novo administrador começa a fazer
melhorias, aprimorando e organizando a rede local. Pesquisando sobre
equipamentos de rede ele descobre que alguns switches podem ter
uma tecnologia chamada de VLAN (Virtual LAN, ou Redes Locais
virtuais).
Com VLANs, ele poderia resolver alguns problemas, como o tráfego
excessivo entre subnets e o aumento da segurança em algumas
setores da empresa. Navegando no Google ele descobre inclusive que
é possível utilizar uma máquina rodando Linux e evitar a
compra de um roteador ou de um switch excessivamente caro. O
problema é que este tal Linux não é um sistema
operacional muito fácil de usar e, apesar de ele já
ter instalado alguns "tipos de Linux", em geral ele não
sabe muito bem o que fazer depois do login no KDE ou Gnome. Pobre
administrador!
História conhecida? Sim, pode acreditar. é um processo evolutivo
natural. Note, entretanto, que a história parou na necessidade
de VLANs ou roteadores. Nos capítulos seguintes desta novela
você veria roteadores, interligações entre
matrizes e filiais, domínio próprio, servidores de
email e DNS, VPNs e por aí vai.
O objetivo deste artigo é mostrar como o Linux pode ser usado em
uma configuração com VLANs, assumindo o papel de
roteador e permitindo um melhor controle das redes locais. O uso de
VLANs é algo relativamente comum hoje em dia, sendo esta
característica suportada por vários switches existentes
no mercado. Entretanto, o seu uso associado a máquinas Linux
ainda não é muito difundido e merece ser explicado em
detalhes.
[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.