Duração: 75 minutos (explicação 20, prática guiada 45, verificação 10). Resultados dos TdR trabalhados: Configurar routers, switches, pontos de acesso e firewalls; Serviços de rede: DHCP, DNS, VPN, NAT, VLAN e autenticação.
Objectivos
- Configurar encaminhamento entre VLAN com subinterfaces (router-on-a-stick).
- Explicar a diferença para um comutador de camada 3.
- Verificar que o tráfego entre VLAN passa pelo encaminhador.
Uma porta, várias redes
Para que a VLAN 10 fale com a VLAN 20 é preciso encaminhamento IP. A forma mais simples: uma porta tronco do comutador ao encaminhador, que cria uma subinterface por VLAN (por exemplo eth0.10 com 10.10.10.1/24 e eth0.20 com 10.10.20.1/24). Cada posto usa a subinterface da sua VLAN como porta de ligação.
Um comutador de camada 3 faz o mesmo internamente (interfaces virtuais por VLAN) com mais débito. O ponto de passagem entre VLAN é também o sítio natural para filtrar tráfego (módulo 7).
Caso fictício
Na DPE (fictícia), a Administração (VLAN 10) precisa de chegar ao servidor de ficheiros (VLAN 20), mas os visitantes (VLAN 30) não devem. Nesta lição liga-se o encaminhamento; a filtragem vem no módulo 7.
Prática guiada em rede isolada
Rede de prática fictícia, criada dentro de um computador de prática com o script base (módulo 1, lição 1). Nunca use estes passos na rede de produção nem contra endereços reais. As saídas mostradas são exemplos didácticos, não resultados de uma execução.
Topologia (descrição em texto)
- Espaço sw (comutador) com br0 com VLAN; porta tronco sw-rt ligada a rt (encaminhador) com subinterfaces rt-sw.10 e rt-sw.20; postos a1 (VLAN 10, 10.10.10.21) e s1 (VLAN 20, 10.10.20.21).
Passos
Crie comutador, encaminhador e postos.
for n in sw rt a1 s1; do sudo ip netns add $n; done sudo ip -n sw link add br0 type bridge vlan_filtering 1 && sudo ip -n sw link set br0 up lig() { sudo ip link add $1-$2 type veth peer name $2-$1; sudo ip link set $1-$2 netns $1; sudo ip link set $2-$1 netns $2; sudo ip -n $1 link set $1-$2 up; sudo ip -n $2 link set $2-$1 up; } lig a1 sw; lig s1 sw; lig rt sw for p in sw-a1 sw-s1 sw-rt; do sudo ip -n sw link set $p master br0; sudo ip netns exec sw bridge vlan del dev $p vid 1; done sudo ip netns exec sw bridge vlan add dev sw-a1 vid 10 pvid untagged sudo ip netns exec sw bridge vlan add dev sw-s1 vid 20 pvid untagged sudo ip netns exec sw bridge vlan add dev sw-rt vid 10; sudo ip netns exec sw bridge vlan add dev sw-rt vid 20No encaminhador, crie as subinterfaces etiquetadas e active o encaminhamento.
sudo ip -n rt link add link rt-sw name rt-sw.10 type vlan id 10 sudo ip -n rt link add link rt-sw name rt-sw.20 type vlan id 20 sudo ip -n rt addr add 10.10.10.1/24 dev rt-sw.10; sudo ip -n rt addr add 10.10.20.1/24 dev rt-sw.20 sudo ip -n rt link set rt-sw.10 up; sudo ip -n rt link set rt-sw.20 up sudo ip netns exec rt sysctl -qw net.ipv4.ip_forward=1Configure os postos e teste.
sudo ip -n a1 addr add 10.10.10.21/24 dev a1-sw; sudo ip -n a1 route add default via 10.10.10.1 sudo ip -n s1 addr add 10.10.20.21/24 dev s1-sw; sudo ip -n s1 route add default via 10.10.20.1 sudo ip netns exec a1 traceroute -n 10.10.20.21Saída de exemplo (didáctica):
1 10.10.10.1 0.06 ms 2 10.10.20.21 0.08 msVeja as etiquetas na porta tronco.
Consola A: sudo ip netns exec rt tcpdump -eni rt-sw -c 2 'vlan and icmp[icmptype] == icmp-echo' Esperar na consola A a linha «listening on rt-sw»; termina sozinho após 2 pacotes. Consola B: sudo ip netns exec a1 ping -c 1 10.10.20.21 Nota: na interface tronco as tramas levam etiqueta 802.1Q; o filtro precisa de «vlan and …», porque «icmp» sozinho procura IPv4 logo após o cabeçalho Ethernet e não apanha tramas etiquetadas.Saída de exemplo (didáctica):
... ethertype 802.1Q (0x8100), length 102: vlan 10, p 0, ethertype IPv4, 10.10.10.21 > 10.10.20.21: ICMP echo request ... ethertype 802.1Q (0x8100), length 102: vlan 20, p 0, ethertype IPv4, 10.10.10.21 > 10.10.20.21: ICMP echo request
Critérios de sucesso
- traceroute mostra o salto pelo encaminhador.
- A captura mostra o mesmo pacote a entrar na VLAN 10 e a sair na VLAN 20.
Como desfazer (reversão)
- for n in sw rt a1 s1; do sudo ip netns del $n; done
Alternativa em papel: tarefas e respostas esperadas
- Que porta de ligação configura um posto da VLAN 30?
- 10.10.30.1, endereço da subinterface VLAN 30 do encaminhador.
- Na captura, porque o mesmo pacote aparece duas vezes com VLAN diferente?
- Entra pela subinterface .10 (VLAN 10) e sai, encaminhado, pela subinterface .20 (VLAN 20), na mesma porta física tronco.
- Vantagem e limite do router-on-a-stick.
- Vantagem: uma só porta física, barato. Limite: todo o tráfego entre VLAN partilha essa porta (gargalo); em redes maiores usa-se comutador de camada 3.
Verifique o que aprendeu
Questão 1
Sem encaminhador, um posto da VLAN 10 consegue falar com um da VLAN 20?
- Sim, se estiverem no mesmo comutador
- Não, é preciso encaminhamento IP
- Sim, com o mesmo cabo
- Só por Wi-Fi
Ver resposta comentada
Resposta: Não, é preciso encaminhamento IP
VLAN diferentes são redes diferentes; só um equipamento de camada 3 as liga.
Questão 2
Onde é mais natural aplicar a regra «visitantes não chegam aos servidores»?
- Em cada posto
- No ponto que encaminha entre VLAN
- No DNS
- No cabo
Ver resposta comentada
Resposta: No ponto que encaminha entre VLAN
Todo o tráfego entre VLAN passa por aí; uma regra nesse ponto aplica-se a todos. Será feita com nftables no módulo 7.
Em leitura fácil
- Cada VLAN precisa de uma porta de saída no encaminhador.
- Uma só ligação pode levar várias VLAN.
- É aí que se decide quem pode falar com quem.
Fontes
- IEEE 802.1Q — Bridges and Bridged Networks (VLAN, STP/RSTP) (https://standards.ieee.org/ieee/802.1Q/)
- Linux iproute2 — páginas de manual ip(8), ip-netns(8), bridge(8), tc(8) (https://man7.org/linux/man-pages/man8/ip.8.html)
