"Después del juego es antes del juego"
Sepp Herberger

Mostrando entradas con la etiqueta bridge. Mostrar todas las entradas
Mostrando entradas con la etiqueta bridge. Mostrar todas las entradas

jueves, 19 de junio de 2025

Captura de tráfico de red sin tener gestión de los switchs.

Ultimamente para ciertas cosas (husmeo de tráfico SNMP y RTP de chismes de los que no consigo documentación alguna) he tenido que hacer capturas del tráfico de red. Si tuviera el control de mis switchs podría hacer port mirroring, pero por desgracia en la red educativa no tengo esa opción.

La otra solución es hacer newtork tap: interponer un dispositivo (por ejemplo un portátil, una Raspberry Pi o un chisme diseñado para capturar tráfico de red) en la boca del switch que quiero monitorizar y capturar todo el tráfico que por alli pasa.

Para poder interponerlo necesitamos que el dispositivo tenga dos tarjetas de red, una para conectar a la boca del switch otra para conectar el cable que originalmente iba conectado a ella. Como lo de tener dos tarjetas de red en un portátil no es muy normal (de hecho hoy en dia los hay que vienen sin conexion ethernet) lo que hacemos es usar adaptadores USB-RJ45, que nos dan un puerto de red ethernet a partir de un puerto USB. Veamos un esquema generado por IA:


Otra opción posible es interponerlo no entre una boca del switch y la red, sino entre la boca de red de un dispositivo que queramos espiar (un PC, una impresora, etc) y el resto de la red.

Una vez tenemos la conexión hay que configuar la máquina. El truco está en crear un bridge por software entre ambas tarjetas de red, darle una IP de nuestra red al bridge y capturar el tráfico de red sobre él. De esta manera, todo el tráfico de red que salga de ese puerto del switch pasará por el bridge y será capturado:
# ip link add name br0 type bridge
# ip link set eno1 master br0
# ip link set eno2 master br0
# ip link set eno1 up
# ip link set eno2 up
# ip link set br0 up
# ifconfig br0 192.168.1.5 up
Simplemente cambiamos eno1, eno2 y 192.168.1.5 por los nombres adecuados y la IP que queramos poner. Luego solo queda capturar:
# tcpdump -i br0 -w captura.pcap
Con esta orden se capturará todo el tráfico que pase por la conexión donde hemos interpuesto el dispositivo. Ese fichero .pcap podremos luego abrirlo con wireshark y husmear dentro. Por supuesto, podemos poner filtros en la captura usando los parámetros de tcpdump, tipo:
# tcpdump -i br0  src host 192.168.1.100 and \( tcp or udp \)  -w captura.pcap
Para finalizar, el uso de tcpdump es solo una posibilidad, hay otras muchas opciones de captura de tráfico para que cada cual elija la que más coraje le dé. Bueno, pues con esto podremos monitorizar de forma transparente la actividad en un punto de nuestra red.

martes, 25 de febrero de 2025

OpenWRT: unir todos los puertos de red bajo el mismo bridge.

Tenemos por los centros muchos routers DIR‑860L sobrantes de las antiguas pizarras digitales. Ya he dedicado varios articulos a estos router porque que me parecen bastante interesantes.

Lo primero que suelo hacer es quitarles el sistema DD-WRT que traen de serie y poner un OpenWRT que es mucho más versatil y parecido a un Linux.

Estos router traen 5 puertos GigaEthernet. 4 de ellos están en un mismo bridge, llamado LAN, y el otro puerto está aparte y es el puerto WAN del router, lo que permite que por defecto el router interconecte 2 redes cableadas distintas, en distintas VLANs, y enrute el tráfico entre ambas.

Pero puede ser que no queramos eso, sino que los 5 puertos ethernet estén en la misma red. Eso convierte el router en un miniswitch de 5 puertos GigaEthernet, el cual nos puede venir bien en algunas estancias del centro. Para unir los 5 puertos una vez hemos cargado OpenWRT los pasos son sencillos:

Editamos /etc/config/network para que quede asi:
config interface 'loopback'
	option ifname 'lo'
	option proto 'static'
	option ipaddr '127.0.0.1'
	option netmask '255.0.0.0'

config globals 'globals'
	option ula_prefix 'fdda:86a9:b1ad::/48'

config interface 'lan'
	option force_link '1'
	option macaddr '9a:45:4a:fb:74:c1'
	option type 'bridge'
	option proto 'dhcp'
	option ip6assign '60'
	option _orig_ifname 'eth0.1 radio0.network1 radio1.network1'
	option _orig_bridge 'true'
	option ifname 'eth0.1 eth0.2'

config switch
	option name 'switch0'
	option reset '1'
	option enable_vlan '1'

config switch_vlan
	option device 'switch0'
	option vlan '1'
	option ports '0 1 2 3 4 6t'
	option vid '1'  
Comentarios:
  • La macaddr habrá que cambiarla para poner la tuya.
  • Vease que todo se mete en la misma VLAN, la otra VLAN que tenía el router desaparece.
  • En ports metemos todos los puertos dentro del bridge, de manera que están en la misma red y no hay que enrutar el tráfico entre ellos.
Para hacer esto me he basado en este hilo de Reddit.

Bueno, pues con esto podemos reaprovechar mejor esos router ociosos que nos dejaron las pizarras Siatic.

回头见!