Denegación P2P en LAN
Debido a un uso excesivo de la banda de subida a internet en la red de mi casa, me vi obligado a denegar cualquier p2p que procediese del ordenador de mi hermana.
Encontré un módulo para iptables de tipo MATCH que me identifica perfectamente los paquetes pertenecientes a cualquiera de los siguientes clientes p2p:
- KaZaA
- Gnutella
- eDonkey/eMule/Overnet
- BitTorrent
- Direct Connect
- AppleJuice
- WinMX
- SoulSeek
- Ares
La fuente del módulo la podemos encontrar en su pagina oficial. Lo descargamos, descomprimimos y compilamos (hay que tener la fuente de la version de iptables que estemos utilizando):
# tar xvfz ipp2p-.tar.gz
# make
# cp ipt_ipp2p.ko /lib/modules/$(uname -r)/
# cp libipt_ipp2p.so /lib/iptables
# depmod -ae
# modprobe ipt_ipp2p
Si todo nos ha ido bien, ahora tendremos el módulo correctamente instalado en nuestro sistema. A continuación solamente tenemos que poner la regla que mas nos convenga segun nuestra situación.
En mi caso solamente necesitaba denegar a un solo ordenador, así que combiné ipp2p con coincidencia de dirección física MAC, quedando así:
iptables -A FORWARD -m mac –mac-source XX:XX:XX:XX:XX:XX -m ipp2p –ipp2p -j DROP
La opción –ipp2p para el módulo ipp2p significa cualquier p2p que el módulo sea capaz de detectar. Si solamente quisiesemos detectar una de las p2p disponibles utilizariamos las opciones combinadas segun necesitemos. Para mas ayuda:
# iptables -m ipp2p –help

