Problema con el puente que pasa por el tráfico L2 pero no por el tráfico L3

Problema con el puente que pasa por el tráfico L2 pero no por el tráfico L3

Hola amigos, espero que alguien aquí pueda ayudarme.

Configuré un puente en mi sistema Ubuntu para conectarme a una VM que tengo ejecutando dentro de KVM. El puente puede enviar solicitudes y respuestas ARP, por lo que tengo tráfico bidireccional pero no puede pasar ningún tráfico IP.

La red es la siguiente: vnet0 -> puente -> eth1 -> VLAN con hosts. Estoy intentando hacer ping

Todos los ping fallan al intentar atravesar eth1. He realizado TCPDUMP en mis interfaces vnet0, bridge y eth1. Puedo ver que el problema es que no hay paquetes IP que salgan de eth1 cuando se envían desde vnet0 mientras parecen pasar bien a través de la interfaz del puente. También es de destacar que estoy usando un adaptador USB 3.0 gigabit para esta conexión.

Solución de problemas hasta el momento:

  1. IPv6 deshabilitado a través de sysctl.conf pensando que de alguna manera puede ser un problema
  2. Movió el adaptador USB a un puerto USB diferente
  3. Puente eliminado y creado varias veces
  4. Reinicia

Perplejo. ¿Alguna idea de por qué sólo puede pasar L2? Mi máquina virtual aprende direcciones MAC para sistemas a través de eth1 a través de arp pero no puede enviar paquetes IP.

Gracias

Respuesta1

Después de golpearme la cabeza contra el escritorio durante aproximadamente una hora más, lo descubrí. Basé mi configuración de /etc/network/interfaces en lo que tenía trabajando en una máquina diferente que ejecutaba 14.04. El archivo de interfaces rotas muestra solo los bits relevantes:

auto eth1
iface eth1 inet manual
arriba ifconfig eth1 arriba

auto E-MGMT-Bridge
iface E-MGMT-Bridge inet manual
bridge_stp off
bridge_fd 0
bridge_ports eth1

En 16.04, esto rompe la Capa 3 de alguna manera y al mismo tiempo permite el paso del tráfico de Capa 2 como tramas ARP, CDP y STP. Muy extraño. Para que funcione en 16.04, debes eliminar la estrofa eth1 y solo definir el puente y no la interfaz física a la que se refiere, así:

auto E-MGMT-Bridge
iface E-MGMT-Bridge inet manual
bridge_stp off
bridge_fd 0
bridge_ports eth1

Tuve que reiniciar y luego pude hacer ping desde mi VM a través del puente a la red real conectada a mi conmutador. No estoy seguro si alguien más se ha encontrado con esto o si solo estoyafortunado.

Respuesta2

Si solo ve ARP pero no hay tráfico "real", entonces iptables podría ser su problema. Compruebe si la política de REENVÍO de iptables está configurada en ACEPTAR. Si desea utilizar la política DROP, verifique si se han agregado reglas de reenvío para permitir su tráfico KVM.

información relacionada