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

Responder a