IER60808: Segmentação de LANs e VLANs

De MediaWiki do Campus São José
Ir para navegação Ir para pesquisar

Quando uma rede de uma organização é grande, contendo muitos computadores (algumas dezenas ou mais), e cobrindo uma área física ampla, costuma-se dividi-la em redes menores. Esse procedimento se chama segmentação da rede, e o objetivo é reduzir a complexidade de administração de uma rede grande. Além disso, redes menores, cada uma com sua própria subrede, são úteis para separar conjuntos de equipamentos, de acordo com seus usos ou finalidades. Por exemplo, em uma empresa pode haver um rede para a diretoria, outra para o pessoal do atendimento ao público, e uma terceira para o pessoal técnico. Essa divisão torna mais fácil definir diferentes políticas de segurança e usos de recursos da rede. Assim, dados esses benefícios, segmentar redes é uma prática comum, e pode ser feita de diferentes formas.

Um exemplo de rede a ser segmentada

A equipe que administra a rede de uma escola vem estudando uma reestruturação dessa rede. Como diferentes setores e públicos a utilizam, e para diferentes propósitos, concluiu-se que seria apropriado segmentá-la em algumas subredes. Isso possibilitaria facilitar o controle de quem usa a rede, além do policiamento do tráfego. Para isso, a subrede geral da escola precisaria ser segmentada inicialmente em cinco novas subredes, denominadas:

Segmento Descrição Subrede IP
Pedagogica Pontos das salas de aula e laboratórios de informática 172.18.32.0/20
Administrativa Pontos de setores administrativos 172.18.16.0/20
DMZ Servidores acessíveis de fora da escola (ex: Wiki, WWW) 200.135.37.64/26
BD Servidores que hospedam bancos de dados (ex: LDAP, MySQL) 172.18.240.0/24
LAN Demais pontos de rede 172.18.0.0/20


A figura abaixo mostra a estrutura proposta para a rede dessa escola, composta pelas cinco novas subredes e as subredes dos laboratórios de Redes 1 e Redes 2. Como se pode observar, o roteador/firewall Cisco ASA 5510 se torna um nó central da rede, pois interliga todas suas subredes (com exceção dos laboratórios de Redes 1 e Redes 2).


Nova-rede-ifsc-sj.png


Existe mais de uma forma de implantar uma estrutura como essa, as quais serão apresentadas nas próximas subseções.

Segmentação física

A segmentação física é uma solução aparentemente simples e direta. Cada subrede deve ser composta de uma estrutura exclusiva, contendo seus switches e cabeamentos. No entanto, para adotar esse tipo de segmentação, algumas modificações precisarão ser feitas na infraestrutura de rede existente. Observe esta estrutura física da rede de uma organização:

Rede-ifsc-sj.png


O que seria necessário fazer para implantar uma segmentação física desta rede ?

Segmentação com VLANs

Se a reestruturação pudesse ser efetuada com mínimas modificações na estrutura física (incluindo cabeamento), a implantação da nova rede seria mais rápida e menos custosa. Para isso ser possível, seria necessário que a infraestrutura de rede existente tivesse a capacidade de agrupar portas de switches, separando-as em segmentos lógicos. Quer dizer, deveria ser possível criar redes locais virtuais, como mostrado na seguinte figura:

Vlans.png

No exemplo acima, três redes locais virtuais (VLAN) foram implantadas nos switches. Cada rede local virtual é composta por um certo número de computadores, que podem estar conectados a diferentes switches. Assim, uma rede local pode ter uma estrutura lógica diferente da estrutura física (a forma como seus computadores estão fisicamente interligados). Uma facilidade como essa funcionaria, de certa forma, como um patch panel virtual, que seria implementado diretamente nos switches.

Redes locais virtuais são técnicas para implantar duas ou mais redes locais
com topologias arbitrárias, usando como base uma infraestrutura de rede local física.
Isso é semelhante a máquinas virtuais, em que se criam computadores virtuais
sobre um computador real.

Padrão IEEE 802.1q

Os primeiros switches com suporte a VLANs as implementavam de forma legada (i.e. não seguiam um padrão da indústria). Isso impedia que houvesse interoperabilidade entre equipamentos de diferentes fabricantes. Logo a IEEE formou um grupo de trabalho para propor mecanismos padronizados para implantar VLANs, dando origem ao padrão IEEE 802.1q. Os fabricantes de equipamentos de rede o adataram largamente, suplantando outras tecnologias legadas (ex: ISL e VTP da Cisco). Com isso, VLANs IEEE 802.1q podem ser criadas usando switches de fabricantes diferentes.

Atualmente, a implantação de VLANs depende de switches com suporte ao padrão IEEE 802.1q. Assim, verifique quais dos switches do laboratório possuem suporte a VLAN:

Uma VLAN é identificada por um número, chamado VID (VLAN Identifier), sendo que a VLAN com VID 1 é considerada a VLAN default (configuração de fábrica). Em um switch com suporte a VLAN IEEE 802.1q, cada porta possui um (ou mais ...) VID, o que define a que VLAN pertence. Assim, para criar uma VLAN, devem-se modificar os VID das portas de switches que dela farão parte. Por exemplo, em uma pequena rede com duas VLANs as portas dos switches podem estar configuradas da seguinte forma:


Bridge3.png

Além do VID, a configuração da porta de um switch deve especificar o modo de operação da VLAN:

  • TRUNK (ou tagged): cada quadro transmitido ou recebido por essa porta deve conter o número da VLAN a que pertence. Esse modo é usado normalmente em portas que interligam switches.
  • ACCESS (ou untagged): quadros que entram e saem pela porta não possuem informação sobre a VLAN a que pertencem. Usado normalmente para conectar computadores e servidores a switches.


Esses modos TRUNK e ACCESS implicam haver uma forma de um quadro Ethernet informar a que VLAN pertence. Isso é usado para restringir a propagação de quadros, fazendo com que sejam recebidos e transmitidos somente por portas de switches que fazem parte de suas VLANs. O padrão IEEE 802.1q define, entre outras coisas, uma extensão ao quadro MAC para identificar a VLAN a que pertence. Essa extensão, denominada tag (etiqueta) e mostrada na figura abaixo, compõe-se de 4 bytes situados entre os campos de endereço de origem e Type. O identificador de VLAN (VID) ocupa 12 bits, o que possibilita portanto 4096 diferentes VLANs.


Quadro-8021q.png
Quadro ethernet com a TAG IEEE 802.1q


A tag de VLAN, inserida em quadros Ethernet, está diretamente relacionada com os modos tagged e untagged de portas de switches. Portas em modo tagged transmitem e recebem quadros que possuem tag, e portas em modo untagged recebem e transmitem quadros que não possuem tag. Isso foi pensado para tornar a implantação de VLANs transparente para os usuários finais, pois seus computadores não precisarão saber que existem VLANs (i.e. não precisarão interpretar tags). Por isso equipamentos que não interpretam tags são denominados VLAN-unaware (desconhecem VLAN), e equipamentos que recebem e transmitem quadros com tag são referidos como VLAN-aware (conhecem VLAN).


Exemplo: simulador de switch com VLAN:
Esta animação possibilita simular a configuração de VLANs em um switch, e efetuar testes de transmissão. Experimente criar diferentes VLANs e observar o efeito em transmissões unicast e broadcast (clique na figura para acessar o simulador).

Um simulador de VLANs

Atividade

Parte 1: Segmentação de LANs com VLANs

  1. A rede descrita neste arquivo de configuração do Netkit2 é composta por um switch e quatro computadores. essa rede possui duas VLANs (VLAN 5 e VLAN 10), de forma que pc1 e pc4 pertencem a VLAN 5, e os computadores pc2 e pc3 estão na VLAN 10. Execute essa rede e teste a comunicação entre os computadores - quais computadores conseguem se comunicar ?

    Vlans-ex1.png
  2. A peça-chave na implantação das VLANs foi o switch. Observe a configuração dessa rede, notando que atributos foram usados nas portas do switch.
  3. Seja esta outra rede, composta por dois switches e duas VLANS:
    Bridge3.png
    • Execute essa rede a partir deste arquivo de configuração do Netkit2.
    • Teste a comunicação entre os computadores: quais pares conseguem se comunicar ?
    • Escolha um par de computadores, de forma que um deles esteja no switch 1 e o outro no switch 2. Ative a comunicação com ping entre eles, e e, seguida execute o wireshark no switch 1 de forma a capturar na interface eth3. O que se pode notar no cabeçalho Ethernet dos quadros capturados ?
  4. Na figura abaixo, a rede da esquerda está fisicamente implantada em uma pequena empresa. No entanto, uma reestruturação tem como objetivo modificá-la de acordo com o diagrama mostrado à direita. Essa alteração da rede deve ser feita sem adicionar switches ou modificar o cabeamento (tampouco devem-se mudar as conexões de pontos de rede às portas de switches). Faça essa modificação em duas etapas:
    1. Crie um protótipo usando o Netkit2.
    2. Após entender o protótipo, implante essa rede no laboratório usando os switches TP-Link SG-3210.

      Vlan-ex1.png

    • Arquivo de configuração lan1.conf, contendo a topologia física.
    • Para criar a topologia lógica usando VLANs: use os atributos vlan_untagged e vlans_tagged nas portas dos switches, conforme o manual do Netkit2.
  5. Agora que essa rede foi bem entendida, implemente-a fisicamente no laboratório: use os switches TP-Link e as VM Grafico-3.

Acesso à interface de gerenciamento do switch (web):

  1. Conecte o cabo de rede do computador a uma porta do switch
  2. Acrescente o IP 192.168.0.2/24 à interface eth0 do seu computador
  3. Abra um navegador, e acesse a URL: http://192.168.0.1/
  4. Se o acesso à interface de gerenciamento não funcionar, então será necessário resetar o switch via porta serial
    1. Conecte o cabo serial entre o PC e a porta console do switch
    2. No PC execute o programa minicom -s
    3. Configure a porta serial para 38400 bps, 8N1, sem controle de fluxo
    4. Saia do menu de configuração do minicom (opção Sair), e tecle ENTER
    5. No prompt do switch TL-SG3210> digite enable e tecle ENTER
    6. Agora digite reset e tecle ENTER
    7. Espere o switch reiniciar, e repita o acesso via navegador

Parte 2: criando uma infraestrutura física e usando VLANs


Em uma rede real, usa-se como diretriz a centralização dos ativos para a implantação de sua infraestrutura física. Isso independende de quais LANs e respectivas subredes existirão (infraestrutura lógica), e VLANs têm um papel central nesse tipo de infraestrutura.

Esta atividade envolve implantar uma infraestrutura física composta por dois conjuntos de switches. Cada conjunto é formado por pelo menos dois switches, os quais atendem pontos de rede em uma área de um prédio. Fisicamente esses switches se dispõem da seguinte forma:

Pji3-Vlan-3.jpg
Topologia física (arquivo de configuração do Netkit2)


Tomando essa infraestrutura como base, devem-se implantar as seguintes redes. Em cada caso:

  • Implante as redes locais usando VLANs
  • Escolha subredes apropriadas para cada rede local
  • Configure os computadores e roteadores para que eles possam se comunicar (inclusive com a Internet)


Pji3-Vlan-3a.jpg
Rede 1: duas redes locais com suas subredes


Pji3-Vlan-3b.jpg
Rede 2: três redes locais com suas subredes

Interfaces para VLAN no Linux

O Linux possibilita criar interfaces virtuais associadas a VLANs. Com isso, a interface de rede física se comporta como uma porta em modo trunk.

  1. Supondo que a interface física seja eth0, e o número da vlan seja 10, pode-se criar a interface vlan desta forma:
    sudo vconfig add eth0 10
    
    O Nome da interface vlan, nesse caso, será eth0.10.
    • OBS: caso o comando vconfig não seja encontrado, instale este pacote de software:
      sudo apt install vlan
      
  2. Após criar uma interface VLAN, pode-se configurar seu endereço IP. Para a interface criada no ítem anterior o comando seria este:
    sudo ifconfig eth0.10 192.168.1.222/24
    
  3. Se forem criadas múltiplas interface vlan, e se deseja que o Linux seja um roteador entre elas, deve-se executar este comando para habilitar o encaminhamento de datagramas IP entre interfaces:
    sudo sysctl -w net.ipv4.ip_forward=1
    
  4. Se for necessário que esse roteador Linux seja também um tradutor NAT, deve-se ativar o NAT para alguma interface de saída. Supondo que a interface de saída seja eth1, este comando resolveria:
    sudo iptables -t nat -A POSTROUTING -o eth1 -j MASQUERADE