Hiparco

Recetas y trucos de GNU/Linux e informática en general

Alojado en http://guimi.net

Iptables

Mini introducción

Hay muchos manuales sobre iptables, aunque ninguno explica todo lo que hay que hacer para tener iptables funcionando de principio a fin.
Unos dicen como gestionar las reglas de iptables, crear chains, accept, drop… todo eso.
Otros -pocos- indican como hacer que iptables cargue las reglas en el arranque, “parar” iptables, volver a ponerlo en marcha…
Este texto es aún peor, no enseña nada… pero sirve de guía para poner a funcionar iptables de principio a fin.
 
Si se desea algo más ambicioso que un simple cortafuegos local, tambien tengo una guía completa para montar un Cortafuegos (Router-Firewall) con Proxys transparentes (web proxy y pop3 proxy) con Debian GNU/Linux + iptables + squid + p3scan + clamav + spamassassin.
 
Vamos a ello. Primero hay que generar un script que cree tus reglas iptables. Puedes seguir por ejemplo las guías de pello [1][2].
Tambien puedes ver mi script.
 
Después hay que conseguir un script de inicio/parada:
Debian ya no instala un script de inicio pero puedes usar el viejo si quieres
gunzip /usr/share/doc/iptables/examples/oldinitdscript.gz -c > /etc/init.d/iptables
 
Tambien puedes copiar el script que viene en Knoppix.
 

Otro modo -rápido- de montarlo

Como root

  1. # mkdir /etc/iptables
  2. # cd /etc/iptables
  3. (descargar y descomprimir mis ficheros iptables en este directorio)
  4. # chmod u+x *
  5. # mv iptables /etc/init.d
  6. # ./ipflush.sh
  7. # iptables-save > iptables.flush
  8. # vi iprules.sh (ajustar al gusto)
  9. # ./iprules.sh
  10. # iptables-save > iptables.rc

Para “parar” iptables:# /etc/init.d/iptables stop
Para activar iptables:# /etc/init.d/iptables start
Para modificar las reglas: repetir pasos 8 a 10.
 

Alternativa por interfaces

Cada vez que se levanta una if, se ejecutan por orden alfabetico todos los scripts de /etc/network/if-up.d/
Si queremos ejecutar scripts solo cuando un if se levanta / baja hay que usar /etc/network/interfaces. Por ejemplo:

iface eth0 inet dhcp
    pre-up /sbin/iptables-restore < /etc/iptables/eth0_rules
    post-down /sbin/iptables-restore < /etc/iptables/eth0_flush

(man interfaces)
 

Iptables en GNU/Linux, Guía rápida de Iptables en Linux

Category: Prompt