Agregue una etiqueta VLAN al tráfico de puerto UDP específico

Agregue una etiqueta VLAN al tráfico de puerto UDP específico

Estoy ejecutando una aplicación en Ubuntu12.04 que escribí y que realiza alguna administración remota de conmutadores. Solo tengo una NIC conectada a la red de conmutadores administrados, eth0, que está configurada con IPv4 10.0.0.1/24. Esta dirección IPv4 es la única dirección que esta máquina Ubuntu puede usar ya que es la única dirección enrutable "globalmente" asignada a la máquina Ubuntu (debido a alguna administración de red, no debido a problemas técnicos...)

Necesito que el tráfico de administración del switch (NetConf sobre SSH, usando el puerto UDP 830) incluya una etiqueta VLAN 802.1q con VLAN ID 444), al enviar las tramas NetConf y las respuestas se recibirán también con esta etiqueta. El resto del tráfico (http, ftp, dhcp, snmp, etc.) utilizará eth0 sin la etiqueta VLAN.

Intenté usar una interfaz VLAN eth0.444 en eth0, pero parece que el tráfico enviado no incluye la etiqueta VLAN.

¿Puedo (y cómo) puedo usar ebtables/iptables para agregar una etiqueta VLAN específica al tráfico de un puerto UDP específico? ¿La solución ebtables/iptables funcionará también para la ruta de recepción?

¡Gracias!

David

Respuesta1

iptablesy ebtablesno puedo configurar etiquetas VLAN en paquetes. Para eso están las subinterfaces VLAN.

Hay unartículo en la wiki de Ubunut que analiza las VLANque probablemente deberías revisar. Sin embargo, en resumen, usted desea:

  • Asegúrese de que el módulo 802.1q esté cargado con un archivo modprobe 8021q.

  • Cree la subinterfaz VLAN con vconfig add eth0 444.

  • Agregue una dirección IP y una máscara de subred de la subred utilizada en VLAN 444 a la eth0.444subinterfaz conip addr add x.x.x.x/z dev eth0.444

También deberá configurar el puerto del conmutador al que está conectado el servidor para aceptar tramas etiquetadas para VLAN 444. No menciona su marca de conmutador, por lo que no puedo brindarle mucha orientación al respecto, pero probablemente esté buscando ya sea un puerto "troncal" o "general" configurado como miembro etiquetado de la VLAN 444 y un miembro no etiquetado de cualquier VLAN utilizada por la subred asignada a la eth0interfaz.

Tenga en cuenta que tcpdumppuedetiene problemas para mostrar las etiquetas VLANasí que no asuma necesariamente que los marcos no están etiquetados si solo está utilizando tcpdumpel host para verificar que los marcos estén etiquetados.

Editar:

Normalmente existe una relación uno a uno entre las VLAN y las subredes IP. Sería extremadamente atípico si el conmutador tuviera una interfaz de administración en la VLAN 444 que fuera la misma subred IP que cualquier VLAN eth0en la que se encuentre su puerto actual.

Respuesta2

La etiqueta 802.1Q se inserta en el encabezado MAC y el kernel no la decodificará si su interfaz no está etiquetada con VLAN. Por lo tanto, incluso si pudiera alterar los paquetes salientes, el tráfico entrante con etiqueta VLAN permanecería ignorado.

Lo que debe hacer es crear una interfaz etiquetada con VLAN, tal como lo hizo, y agregarle una IP dentro del mismo rango en el que se encuentra la IP del conmutador al que está intentando acceder.

información relacionada