4 votos

Filtrar el tráfico de Puerto espejo usando iptables

Puedo recibir el tráfico de un puerto duplicado y me gustaría enviar en un NFQUEUE para su procesamiento. Porque de el puerto duplicado, los paquetes de destino direcciones MAC que no son mi host de la dirección MAC. Por lo tanto, el tráfico nunca llega a mi NFQUEUE. (si puedo tomar un paquete y yo uso Scapy para reemplazar manualmente la dirección MAC de destino con mi host de la dirección MAC, funciona)

No funciona con el puerto duplicado, incluso con una iptable reglas que se aplican tan pronto como sea posible en el filtrado de la tubería:

iptables -A PREROUTING -t raw -j NFQUEUE --queue-num 1

Como se ha mencionado en otros hilos, he intentado crear un puente en mi interfaz y filtrar el tráfico mediante los siguientes comandos.

tunctl -u root
brctl addbr br0
brctl addif br0 eth0
brctl addif br0 tap0
brctl setfd br0 0
brctl stp br0 off  
ifconfig br0 up
ifconfig eth0 up 0.0.0.0
ifconfig tap0 up 0.0.0.0
echo 0 > /sys/class/net/br0/bridge/ageing_time
echo 1 > /proc/sys/net/bridge/bridge-nf-call-iptables
iptables -F
iptables -A FORWARD -j NFQUEUE --queue-num 1

Pero incluso esta solución no resuelve mi problema. El tráfico no pasa por el puente a causa de la puente-nf-call-iptables directiva. Sin embargo, yo no soy capaz de obtener los paquetes en mi cola.

Por cierto, mi versión de kernel es 3.13.0-32.

Estoy buscando alguna solución que permite poner recibió un paquete con una dirección mac en mi NFQUEUE.

Gracias por tu ayuda, Julien

1voto

Thomas Berger Puntos 1163

Su núcleo ignora los paquetes que no están dirigidos a las interfaces de red local. Debería cambiar eth0 a modo promiscuo:

ip link set dev eth0 promisc on

Usted podría hacer esto persistente a través de la configuración de red:

Debian

auto eth0
iface eth0 inet manual
    up ifconfig eth0 promisc up
    down ifconfig eth0 promisc down

RedHat

BOOTPROTO=static
DEVICE=eth0
TYPE=Ethernet
PROMISC=yes
...

EnMiMaquinaFunciona.com

EnMiMaquinaFunciona es una comunidad de administradores de sistemas en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros sysadmin, hacer tus propias preguntas o resolver las de los demás.

Powered by: