Damián Tomey Soto escribió:
hola comunidad, cómo hago para que mi script de iptables se cargue en
el momento necesario, es decir al
iniciar el servidor.
Para que tengas más alternativas:
Si utilizas Debian o una derivada, otra vía aparentemente no muy
conocida es ejecutando tu script para cargar las reglas y luego instalar
el paquete iptables-persistent
Otra vía más (que he estado probando) es mediante un script en
/etc/network/if-up.d/
Te cito un script que actualmente uso para esto, e hice guiándome por el
de openssh-server. Lo que hace es básicamente lo siguiente: en cuanto
despiertan las interfaces de red, carga el archivo de reglas si se
encuentra, si no se encuentra carga unas reglas restrictivas que
bloquean el servidor para que solo pueda accederse localmente.
#! /bin/sh
# iptables-loader
# Script para recargar el cortafuegos en Debian cuando se inicie una interfaz.
# Version 0.3 (2011-05-27)
# Colocar en /etc/network/if-up.d/
# Para crear las reglas predeterminadas, introducirlas una a una y
posteriormente,
# ejecutar el comando iptables-save> /etc/network/iptables/01-default
# Deshabilitar el modo interactivo
set -e
IPT=`which iptables`
IPTR=`which iptables-restore`
IPTS=`which iptables-save`
# Directorio base para las reglas de iptables (se crea si no existe).
IPTB=/etc/network/iptables
mkdir -p $IPTB
# Nombre de archivo de las reglas paranoides (solo acceso a la interfaz lo).
IPTL0=00-paranoia
# Nombre de archivo de las reglas predeterminadas.
IPTL1=01-default
# No ejecutar la recarga cuando se configure la interface local.
if [ "$IFACE" = lo ]; then
exit 0
fi
# Solo ejecutar la recarga al iniciar una interfaz.
if [ "$MODE" != start ]; then
exit 0
fi
# Solo considerar inet e inet6. Ignorar ipx.
if [ "$ADDRFAM" != inet ]&& [ "$ADDRFAM" != inet6 ]; then
exit 0
fi
# Si no existen las reglas paranoides, crearlas.
if [ ! -f $IPTB/$IPTL0 ];
then
$IPT -t filter -F
$IPT -t nat -F
$IPT -t mangle -F
$IPT -t raw -F
$IPT -X
$IPT -Z
$IPT -A INPUT -i lo -j ACCEPT
$IPT -A FORWARD -i lo -j ACCEPT
$IPT -A OUTPUT -o lo -j ACCEPT
$IPT -P INPUT DROP
$IPT -P FORWARD DROP
$IPT -P OUTPUT DROP
$IPTS> $IPTB/$IPTL0
fi
# Recargar las reglas predeterminadas (si existen).
if [ -f $IPTB/$IPTL1 ]; then
$IPTR< $IPTB/$IPTL1
else
# Recargar las reglas paranoides.
$IPTR< $IPTB/$IPTL0
exit 0
fi
exit 0
______________________________________________________________________
Lista de correos del Grupo de Usuarios de Tecnologías Libres de Cuba.
Gutl-l@jovenclub.cu
https://listas.jovenclub.cu/cgi-bin/mailman/listinfo/gutl-l