Estou (ainda) tentando configurar VLANs corretamente em um switch de nível 3 (Netgear GS516TP).
Cenário básico: existem três VLANs: VLAN 10, 11 e 12, com respectivamente três portas e três máquinas.
- 10.0.10.5, conectado à porta g10 e pertencente à VLAN 10.
- 10.0.11.5, conectado à porta g11 e pertencente à VLAN 11.
- 10.0.12.5, conectado à porta g12 e pertencente à VLAN 12.
A VLAN 10 tem portas não marcadas g10, g11 e g12.
A VLAN 11 tem as portas não marcadas g10 e g11. Da mesma forma, a VLAN 12 tem as portas não marcadas g10 e g12.
O objetivo é permitir que as máquinas pertencentes à VLAN 11 e VLAN 12 se comuniquem com as máquinas da VLAN 10. No entanto, uma máquina da VLAN 11 não deve saber nada sobre as máquinas da VLAN 12 (e vice-versa).
Enquanto todas as três máquinas estão usando a máscara de rede 255.255.0.0, a configuração de roteamento é definida assim:
Agora, o problema. Quando envio um pacote TCP ou UDP de 10.0.10.5 para 10.0.11.5 (por exemplo fazendo nc -n 10.0.11.5 100
), posso ver esse pacote no Wireshark rodando na máquina que pertence à VLAN 12. Não funciona ao contrário, porém, ou seja, um pacote enviado de 10.0.11.5 não é visível na VLAN 12.
O que devo fazer para que os pacotes direcionados às máquinas da VLAN 11 nunca alcancem as portas pertencentes à VLAN 12?
Por padrão, cada porta usa apenas informações L2 para decidir como processar os pacotes (L2 == MAC == bridge). Essa decisão não respeita L3, ou seja, não conhece os intervalos de IP das VLANs.
O endereço IP que você atribuiu às VLANs (visível em sua última captura de tela) não "captura" os pacotes por si só. Você precisa configurar seus servidores para realmente enviar pacotes para aquela "interface interna do roteador de ponte"; normalmente, isso é feito adicionando uma entrada na tabela de rotas em um servidor:
Apenas esses pacotes destinados a essa "interface de roteador de ponte interna" serão movidos para outra VLAN.
No meu exemplo, passo a passo:
ping 10.0.11.5
(É como qualquer encaminhamento de pacotes funciona na Ethernet - nada específico para Netgear.)
Provavelmente, você não precisa de uma porta para estar em várias VLANs (na verdade, eu não verifiquei).
Além disso, defina Roteamento -> IP -> Modo de roteamento = Sim
Suporte Netgear: O que é Roteamento VLAN
Você não pode fazer assim, você precisa de recursos especiais de VLAN (isolamento de porta ou algo assim) ou precisa fazer isso com um roteador.
O que acontece aqui é que, quando um pacote (bem, quadro Ethernet) entra em uma porta, ele obtém seu ID de VLAN do PVID dessa porta. Em seguida, ele é enviado das outras portas que também estão nessa mesma VLAN. (Exceto que um switch, é claro, o encaminharia apenas para uma porta específica, se ele tiver uma porta para o MAC de destino armazenada para essa VLAN específica. Talvez não, já que todas as portas estão em VLANs diferentes, portanto, os destinos não devem ser encontrado nas VLANs das quais os quadros são enviados.)
Isso significa que tudo enviado para o switch pela porta 10, pode aparecer nas portas 11 e 12, mas qualquer coisa enviada pela porta 11 ou 12 só pode ir para a porta 10.
O que o isolamento de portas / portas protegidas / recursos semelhantes fariam é bloquear o encaminhamento de quadros dentro de uma única VLAN, com exceção de algumas portas especiais. Com esse tipo de recurso, você colocaria todas as portas em uma única VLAN e marcaria a porta 10 como especial, para que pudesse enviar/receber tráfego de/para 11 e 12. Mas o recurso isolaria 11 e 12 um do outro .
A outra opção é trazer a VLAN 11 e a VLAN 12 para a máquina na porta 10 como VLANs marcadas. Então, nessa máquina, você pode fazer interfaces IP distintas para as VLANs, permitindo que ela se comunique com ambas. Sem roteamento configurado na máquina, 11 e 12 não podem se comunicar entre si. A máquina ainda precisaria estar ciente de VLAN, é claro.
Obviamente, se o próprio Netgear puder atuar como um roteador entre VLANs, isso também funcionará. Você só precisará configurar VLANs para cada máquina, organizar o roteamento e adicionar filtragem (firewall) entre 11 e 12.