#!/bin/sh # Este es tu /etc/rc.d/rc.firewall que tiene por unico objetivo realizar NAT. # Quisiera recalcar que reglas de seguridad no incluye y solo realiza NAT. # Mas informacion en http://www.netfilter.org/ # Ruta del archivo iptables IPTABLES=/usr/sbin/iptables # IFINT tu red interna, la que conecta a tu(s) cliente(s) IFINT="eth1" # IFEXT por donde sales a internet IFEXT="eth0" fw_start() { echo "Iniciando FIREWALL, [DEFAULT ACCEPT Policy]" # Inicializando $IPTABLES -F # Limpia todas las cadenas $IPTABLES -X # Borra cadenas vacias $IPTABLES -Z # Pone a 0 lo contadores de paquetes y bytes de todas las reglas de todas las cadenas # Politica por defecto $IPTABLES -P INPUT ACCEPT $IPTABLES -P OUTPUT ACCEPT $IPTABLES -P FORWARD ACCEPT # Nat $IPTABLES -t nat -F $IPTABLES -A FORWARD -i $IFEXT -o $IFINT -m state --state ESTABLISHED,RELATED -j ACCEPT $IPTABLES -A FORWARD -i $IFINT -o $IFEXT -j ACCEPT $IPTABLES -A FORWARD -j LOG --log-level warning --log-prefix "IPTABLES FORWARD: " $IPTABLES -t nat -A POSTROUTING -o $IFEXT -j MASQUERADE } fw_stop() { echo "Finalizando FIREWALL, [DEFAULT ACCEPT Policy]" $IPTABLES -F $IPTABLES -X $IPTABLES -Z $IPTABLES -P INPUT ACCEPT $IPTABLES -P OUTPUT ACCEPT $IPTABLES -P FORWARD ACCEPT } fw_status() { $IPTABLES -nL } case "$1" in 'start') fw_start ;; 'stop') fw_stop ;; 'status') fw_status ;; *) echo "Usage: $0 start|stop|status" esac