[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Ubicación correcta de script de iptables



El Lunes, 27 de Abril de 2009 07:39, JAP escribió:
> Federico Alberto Sayd escribió:
> > Carlos Zuniga escribió:
> >> 2009/4/25 ciracusa <ciracusa@gmail.com>:
> >>> Hola Lista,
> >>>
> >>> Tengo ubicado mi script de iptables en /etc/network/if-up/...
> >>>
> >>> El tema es que como tengo 3 interfaces el mismo se ejecuta una vez
> >>> por cada
> >>> una de las interfaces que tengo.
> >>>
> >>> Es correcto este directorio o me conviene ubicarlo en otro lugar?
> >>>
> >>> Muchas gracias.
> >>
> >> Lo que pasa es que el ifup ejecuta cada uno de los scripts en ese
> >> directorio por cada interfaz que tengas.
> >>
> >> Podrías colocarlo donde quieras y lo añades a /etc/rc.local para
> >> ejecutarlo
> >>
> >> Otra opción más elegante sería que lo pongas en /etc/init.d/ y luego
> >> lo añades al runlevel que utilizas con rcconf o con sysv-rc-conf
> >>
> >> Saludos
> >
> > Es una opción lo del init.d pero luego te queda un sistema un tanto
> > "sucio" porque Debian no provee un paquete de control de iptables que
> > tenga un script de inicio en /etc/init.d. Yo solia ponerlo en
> > /etc/network/if.up.d pero como comentaban más arriba se ejecuta por
> > cada interfaz que se levanta. En el caso de iptables-restore esto no
> > es tan crítico porque borra toda la configuración anterior y la
> > escribe de nuevo, pero no es tan elegante. Con reglas de iproute
> > sencillas no sirve porque las reglas anteriores no se borran.
> >
> > Yo he decidido poner todos estos scripts en /etc/rc.local de manera
> > que se ejecutan una sola vez al inicio del sistema. Pero sería
> > deseable que Debian trajera algún paquete para controlar iptables
> > desde /etc/init.d, no se como se manejará esto a nivel de políticas de
> > la distribución.
> >
> > Saludos
>
> Hmmm...
> Yo, personalmente, tengo mi script de iptables "colgado" de
> /etc/init.d/networking.
> Hasta ahora, es la solución más prolija, pues ponerlo en rc.local no los
> ejecuta cuando debo hacer un reinicio de red en caliente, me obligaba a
> correrlo a mano, o lo que es peor, reiniciar la máquina (¿!).
> El script en sí lo tengo grabado en una carpeta "ad hoc" llamanda
> /root/bin, y al final de  "start" y "restart" en /etc/init.d/networking
> hay una llamada a este script que es el que organiza el contrafuegos y
> asigna los recursos de red.
> La única contra es que cuando se actualiza /etc/init.d/networking, debo
> decidir si dejo el archivo viejo o pongo el nuevo, y agregarle estas
> líneas (es lo que normalmente hago).
>
> JAP

En mi caso, lo que he hecho es poner en el archivo interfaces la opción pre-up 
para ejecutar el script con las reglas para iptables y que cada vez que 
inicie/reinicie la interfaz de red las carge. Ejemplo:

allow-hotplug eth0
iface eth0 inet static
name Tarjeta Externa
address xxx.xxx.xxx.xxx
netmask xxx.xxx.xxx.xxx
broadcast xxx.xxx.xxx.xxx
network xxx.xxx.xxx.xxx
gateway xxx.xxx.xxx.xxx
pre-up /etc/network/iptables.sh


Saludos,



-- 
MSc. Carlos O. Cazorla Machado
Administrador de Redes y Sistemas
e-mail: cazorla@ecot.co.cu
Linux User 379000


Reply to: