Más sobre IPTABLES.

IPTABLES es una herramienta de administración para definir reglas que gestionen, filtren y manipulen paquetes de red en máquinas con kernel Linux 2.4 o superior. El procesamiento de los paquetes en sí los hace el módulo netfilter, parte del kernel Linux. IPTABLES define las reglas, que quedan en memoria. Netfilter las utiliza cuando manipula paquetes de red…

Mediante esta web se explica y profundiza suficiente para tú poder configurar tu propio firewal

http://www.kriptopolis.org/iptables-0

Script: Configuración básica para tu firewall

El siguiente es un script muy básico de iptables que puedes usar para proteger un solo equipo conectado a Internet a través de un modem o de una línea dedicada como adsl (algo parecido es lo que yo uso). Lo básico no es sinónimo de inseguro, de hecho este pequeño firewall es un excelente ejemplo de la potencia de iptables, el firewall de Linux, que con unas cuantas líneas es posible establecer un cortafuegos bastante seguro y eficaz.

# ---------------------------------------------------------------------------------
# www.linuxtotal.com.mx
# firewall para un solo equipo conectado a traves de modem o adsl
# por: sergio.gonzalez.duran@gmail.com

# (1) se eliminan reglas previas que hubiera y cadenas definidas por el usuario
iptables -F iptables -X

# (2) se establecen politicas "duras" por defecto, es decir solo lo que se autorice
# explicitamente podra ingresar o salir del equipo
iptables -P INPUT DROP iptables -P OUTPUT DROP iptables -P FORWARD DROP

# (3)a la interface lo (localhost) se le permite todo
iptables -A INPUT -i lo -j ACCEPT iptables -A OUTPUT -o lo -j ACCEPT

# (4) evitamos ataques syn-flood limitando el acceso de paquetes nuevos
# desde internet a solo 4 por segundo y los demas se descartan
iptables -A INPUT -p tcp --syn -m limit --limit 1/s --limit-burst 4 -j DROP

# (5) se evitan paquetes tcp que sean nuevos y que no tengan el flag SYN
# es decir, hay ataques o escaneos que llegan como conexiones nuevas
# pero sin ser paquetes syn, definitivamente no nos interesan
iptables -A INPUT -p tcp ! --syn -m state --state NEW -j DROP

# (6) todo lo que sea icmp (ping) y que intente entrar, se descarta
# con esto bloqueamos cualquier tipo de paquetes con protocolo icmp
# evitando ataques como el del ping de la muerte, aunque esta regla
# podria provocar problemas de comunicacion con algunos ISP.
iptables -A INPUT -p icmp -j DROP

# (7) por ultimo las dos siguientes reglas permiten salir del equipo 
# (output) conexiones nuevas que nosotros solicitamos, conexiones establecidas
# y conexiones relacionadas, y deja entrar (input) solo conexiones establecidas
# y relacionadas.
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT iptables -A OUTPUT -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT
# ---------------------------------------------------------------------------------

seguir leyendo explicación.

Otro script BASICO

7 Gaia: Practica iptables

Un ejemplo sencillo
Con estos comandos básicos de configuración ya podemos resolver muchos de los problemas con los que se encuentra una empresa al exponer sus sistemas de información a Internet.
Vamos a ver un ejemplo sencillo para entender cómo se deben escribir las reglas en iptables. Observemos la figura 3, que representa una instalación sencilla, con una máquina que actúa como router y cortafuegos conectando dos redes distintas.
Figura 3. Un ejemplo sencillo
Supongamos que queremos que sólo la máquina B pueda hablar con C, y además sólo pueda usar el protocolo TCP. Los paquetes que no cumplan estas condiciones serán descartados.
Lo primero que tenemos que decidir es ¿en qué tabla e qué cadena vamos a colocar las reglas? En este caso, queremos realizar filtrado de paquetes, por lo que está claro que trabajaremos con la tabla filter… pero ¿en la cadena INPUT, OUTPUT o FORWARD? Como los paquetes que queremos filtrar son los que van a atravesar el Firewall de una red a otra, trabajaremos con la cadena FORWARD.
Los comandos que deberíamos usar para conseguir estos objetivos son los siguientes:

  1. #iptables -F FORWARD
  2. #iptables -P FORWARD DROP
  3. #iptables -t filter -A FORWARD -p tcp -s 192.168.1.2 -d 192.168.2.1 -j ACCEPT
  4. #iptables -t filter -A FORWARD -p tcp -s 192.168.2.1 -d 192.168.1.2 -j ACCEPT

La línea 1 borra las reglas que pudiera haber en la cadena FORWARD de la tabla filter (que es la tabla por defecto).
La línea 2 establece la política por defecto a DROP (denegar), por lo tanto, los paquetes que no cumplan con las reglas que especifiquemos serán rechazados.
Las líneas 3 y 4 permiten el tráfico entre las máquinas B y C según las reglas especificadas en el enunciado. Veamos con detalle su significado en la figura 4.

Figura 4. ¿Cómo se lee una regla de iptables?
Los aministradores no suelen sentarse delante de la máquina que actúa como cortafuegos y ejecutan los comandos uno a uno. Es más habitual escribir todos los comandos en un script de shell y ejecutar solamente el script. No sólo se hace por comodidad, sino porque esta opción permite incluir comentarios y reutilizar el código:

#!/bin/bash
##Script de iptables – Un ejemplo sencillo

##Borramos las reglas de la chain FORWARD de la tabla filter
iptables -F FORWARD

##Establecemos la política por defecto -> DROP
iptables -P FORWARD DROP

##Aceptamos los paquetes TCP entre B y C
iptables -t filter -A FORWARD -p tcp -s 192.168.1.2
-d 192.168.2.1 -j ACCEPT
iptables -t filter -A FORWARD -p tcp -s 192.168.2.1

Configurando iptables (Parte 1) from Mike Mars on Vimeo.