¿Por qué veo paquetes de unidifusión desde una máquina en otra VLAN?

¿Por qué veo paquetes de unidifusión desde una máquina en otra VLAN?

(Todavía) estoy intentando configurar correctamente las VLAN en un conmutador de nivel 3 (Netgear GS516TP).

Escenario básico: hay tres VLAN: VLAN 10, 11 y 12, con tres puertos y tres máquinas respectivamente.

  • 10.0.10.5, conectado al puerto g10 y perteneciente a la VLAN 10.
  • 10.0.11.5, conectado al puerto g11 y perteneciente a la VLAN 11.
  • 10.0.12.5, conectado al puerto g12 y perteneciente a la VLAN 12.

ingrese la descripción de la imagen aquí

La VLAN 10 tiene puertos sin etiquetar g10, g11 y g12.

ingrese la descripción de la imagen aquí

La VLAN 11 tiene puertos sin etiquetar g10 y g11. De manera similar, la VLAN 12 tiene puertos sin etiquetar g10 y g12.

ingrese la descripción de la imagen aquí

El objetivo es que las máquinas pertenecientes a VLAN 11 y VLAN 12 se comuniquen con las máquinas de VLAN 10. Sin embargo, una máquina de VLAN 11 no debería saber nada sobre las máquinas de VLAN 12 (y al revés).

Si bien las tres máquinas usan la máscara de red 255.255.0.0, la configuración de enrutamiento se establece así:

ingrese la descripción de la imagen aquí

Ahora, el problema. Cuando envío un paquete TCP o UDP de 10.0.10.5 a 10.0.11.5 (por ejemplo, haciendo nc -n 10.0.11.5 100), puedo ver este paquete en Wireshark ejecutándose en la máquina que pertenece a la VLAN 12. No funciona al revés. sin embargo, es decir, un paquete enviado desde 10.0.11.5 no es visible en la VLAN 12.

¿Qué debo hacer para que los paquetes dirigidos a máquinas de la VLAN 11 nunca lleguen a los puertos que pertenecen a la VLAN 12?

Respuesta1

De forma predeterminada, cada puerto solo usa información L2 para decidir cómo procesar los paquetes (L2 == MAC == puente). Esa decisión no respeta L3, es decir, no conoce los rangos de IP de las VLAN.

Si habilita el enrutamiento para la VLAN y la MAC DA [dirección de destino] de un paquete de unidifusión entrante es la de la interfaz interna puente-enrutador, el paquete se enruta.

La dirección IP que asignó a las VLAN (visible en su última captura de pantalla) no "captura" paquetes por sí sola. Debe configurar sus servidores para enviar paquetes allí a esa "interfaz interna puente-enrutador"; Normalmente, esto se hace agregando una entrada a la tabla de rutas en un servidor:

(on 10.0.10.5):
10.0.11.0/24 dev eth0 via 10.0.10.1

Sólo los paquetes destinados a esa "interfaz interna puente-enrutador" se moverán a otra VLAN.

En mi ejemplo, paso a paso:

  1. en 10.0.10.5 lo hacesping 10.0.11.5
  2. el servidor pregunta "quién tiene 10.0.10.1"
  3. El interruptor dice "MAC 10:da:12:34 tiene 10.0.10.1"
  4. el servidor envía un paquete FUENTE 10.0.10.5 DEST 10.0.11.5 MAC_DEST 10:da:12:34
  5. El conmutador que ve dicho MAC_DEST decide cambiar la VLAN asignada a ese paquete.
  6. El conmutador también cambia MAC_DEST al que pertenece a 10.0.11.5.

(Así es como funciona cualquier reenvío de paquetes en Ethernet, nada específico de Netgear).

Probablemente, no necesite un puerto para estar en varias VLAN (en realidad no lo verifiqué).

Además, establezcaEnrutamiento -> IP -> Modo de enrutamiento=

Soporte Netgear:¿Qué es el enrutamiento VLAN?

Respuesta2

No puede hacerlo así, necesita características especiales de VLAN (aislamiento de puerto o algo así) o debe hacerlo con un enrutador.

Lo que sucede aquí es que cuando un paquete (bueno, una trama Ethernet) ingresa a un puerto, obtiene su ID de VLAN del PVID de ese puerto. Luego se envía desde los otros puertos que también están en esa misma VLAN. (Excepto que, por supuesto, un conmutador solo lo reenviaría a un puerto en particular, si tiene un puerto para la MAC de destino almacenado para esa VLAN en particular. Puede que no sea así, ya que todos los puertos están en VLAN diferentes, por lo que los destinos no deben encontrarse en las VLAN desde las que se envían las tramas).

Esto significa que todo lo que se envía al conmutador a través del puerto 10 puede aparecer en los puertos 11 y 12, pero todo lo que se envía a través del puerto 11 o 12 solo puede ir al puerto 10.


Lo que haría el aislamiento de puertos/puertos protegidos/características similares es bloquear el reenvío de tramas dentro de una única VLAN, con la excepción de algunos puertos especiales. Con ese tipo de característica, colocaría todos los puertos en una sola VLAN y marcaría el puerto 10 como especial, para que pueda enviar/recibir tráfico hacia/desde 11 y 12. Pero la característica aislaría 11 y 12 entre sí. .


La otra opción es llevar tanto la VLAN 11 como la VLAN 12 a la máquina en el puerto 10 como VLAN etiquetadas. Luego, en esa máquina, puede crear interfaces IP distintas para las VLAN, permitiéndole comunicarse con ambas. Sin el enrutamiento configurado en la máquina, 11 y 12 no pueden comunicarse entre sí. Por supuesto, la máquina aún necesitaría ser compatible con VLAN.

Por supuesto, si el propio Netgear puede actuar como enrutador entre VLAN, entonces eso también funciona. Sólo necesitarás configurar las VLAN para cada máquina, organizar el enrutamiento y agregar filtrado (firewall) entre 11 y 12.

información relacionada