Duplicación del tráfico en un puente de Linux a una interfaz de monitoreo

Duplicación del tráfico en un puente de Linux a una interfaz de monitoreo

Quiero registrar y monitorear el tráfico que pasa por un punto particular de mi red. Entonces, en última instancia, quiero que todo el tráfico que pasa a través de mi puente se refleje en la dirección IP de otro sistema que está escuchando cualquier tráfico que se le envíe.

Aproximadamente mi configuración actual es:

  • servidor de monitoreo/registro con una interfaz de monitoreo configurada en modo promiscuo
  • puente de Linux en el punto de la red que quiero monitorear
  • Reglas de iptables para intentar reflejar el tráfico en una puerta de enlace alternativa
    • iptables -t mangle -A PREROUTING -j TEE --gateway <monitoring ip>
    • iptables -t mangle -A POSTROUTING -j TEE --gateway <monitoring ip>

Pero hasta ahora no veo ningún tráfico fluyendo a través de ninguna interfaz hacia la IP de monitoreo a menos que intente hacer ping directamente (de lo cual puedo ver el tráfico tanto en el puente como en el puerto de monitoreo).

Hay otro problema que podría ser importante. Tuve que poner una ruta estática para la resolución ARP para el puerto de monitoreo, porque por alguna razón siempre ponía la MAC del puerto de administración como dirección. No he identificado por qué el puente obtiene la dirección MAC de administración contra la IP de monitoreo cuando ningún otro cliente lo hace en la red.

Cualquier consejo sería apreciado, lo siento si no he proporcionado suficientes detalles claros.

Respuesta1

De forma predeterminada, los marcos cambiados no pasan a través de las reglas de iptables. Para cambiar este comportamiento, debe habilitar la opción nf_call_iptables en la interfaz del puente (con el comando ip o mediante el sistema de archivos /proc)

ip link set dev br0 type bridge nf_call_iptables 1

Para limitar el tráfico de monitoreo, utilice la coincidencia --phys-dev en las reglas de iptables.

información relacionada