rendered paste body#!/bin/sh
mieth=eth2
eth_mac=vif1.0
eth_wil=vif2.0
miip=192.168.0.24
echo -n "aplicando reglas del firewall..."
## FLUSH de reglas
iptables -F
iptables -X
iptables -Z
iptables -t nat -F
## Establecemos politica por defecto
iptables -P INPUT DROP
iptables -P OUTPUT DROP
iptables -P FORWARD DROP
iptables -t nat -P PREROUTING ACCEPT
iptables -t nat -P POSTROUTING ACCEPT
##=================Comienza el filtrado=====================##
######## Prerouting (dnat) ########
# peticiones al puerto 80, redirigidas al 10.0.0.4
iptables -t nat -A PREROUTING -s 0.0.0.0/0 -d $miip -i $mieth -p tcp --dport 80 -j DNAT --to 10.0.0.4
#peticiones a los puertos 20:21 (ftp), redirigidas a 10.0.0.4
iptables -t nat -A PREROUTING -s 0.0.0.0/0 -d $miip -i $mieth -p tcp --dport 20:21 -j DNAT --to 10.0.0.4
#peticiones al puerto 22(ssh), redirigidas a 10.0.0.4
iptables -t nat -A PREROUTING -s 0.0.0.0/0 -d $miip -i $mieth -p tcp --dport 22 -j DNAT --to 10.0.0.4
######## input y output ##########
#aceptamos todas las conexiones locales (entrada y salida)
iptables -A INPUT -i lo -j ACCEPT
iptables -A OUTPUT -o lo -j ACCEPT
#permitimos el acceso al servidor dns
iptables -A INPUT -i $mieth -p udp --sport 53 -j ACCEPT
iptables -A OUTPUT -o $mieth -p udp --dport 53 -j ACCEPT
#permitimos el firew coneccion a internet
iptables -A INPUT -i $mieth -p tcp --sport 80 -j ACCEPT
iptables -A OUTPUT -o $mieth -p tcp --dport 80 -j ACCEPT
#permitimos ssh al firew
iptables -A INPUT -i $mieth -p tcp --sport 22 -j ACCEPT
iptables -A OUTPUT -o $mieth -p tcp --dport 22 -j ACCEPT
#permitimos el icmp
iptables -A INPUT -i $mieth -p icmp -j ACCEPT
iptables -A OUTPUT -o $mieth -p icmp -j ACCEPT
#permitimos el irc
iptables -A INPUT -i $mieth -p tcp --sport 6667 -j ACCEPT
iptables -A OUTPUT -o $mieth -p tcp --dport 6667 -j ACCEPT
#permitimos el msn
iptables -A INPUT -i $mieth -p tcp --sport 1863 -j ACCEPT
iptables -A OUTPUT -o $mieth -p tcp --dport 1863 -j ACCEPT
iptables -A INPUT -i $mieth -p tcp --sport 443 -j ACCEPT
iptables -A OUTPUT -o $mieth -p tcp --dport 443 -j ACCEPT
#permitimos conectar a un ftp
iptables -A INPUT -d $miip -i $mieth -p tcp --sport 21 -j ACCEPT
iptables -A OUTPUT -s $miip -o $mieth -p tcp --dport 21 -j ACCEPT
iptables -A INPUT -d $miip -i $mieth -p tcp --sport 20 -j ACCEPT
iptables -A OUTPUT -s $miip -o $mieth -p tcp --dport 20 -j ACCEPT
iptables -A INPUT -p tcp --sport 1024: --dport 1024: -m state --state ESTABLISHED -j ACCEPT
iptables -A OUTPUT -p tcp --sport 1024: --dport 1024: -m state --state ESTABLISHED,RELATED -j ACCEPT
######## forward ##########
#permitimos el acceso de macartu a wilson al puerto 80
iptables -A FORWARD -s 10.0.0.1 -i $eth_mac -d 10.0.0.4 -o $eth_wil -p tcp --dport 80 -j ACCEPT
iptables -A FORWARD -s 10.0.0.4 -i $eth_wil -d 10.0.0.1 -o $eth_mac -p tcp --sport 80 -j ACCEPT
#permitimos el acceso al apt-cacher
iptables -A FORWARD -s 10.0.0.4 -i $eth_wil -o $mieth -p tcp --dport 3142 -j ACCEPT
iptables -A FORWARD -d 10.0.0.4 -i $mieth -o $eth_wil -p tcp --sport 3142 -j ACCEPT
#permitimos el acceso ICMP
iptables -A FORWARD -s 10.0.0.4 -i $eth_wil -o $mieth -p icmp -j ACCEPT
iptables -A FORWARD -d 10.0.0.4 -i $mieth -o $eth_wil -p icmp -j ACCEPT
iptables -A FORWARD -s 10.0.0.1 -i $eth_mac -o $mieth -p icmp -j ACCEPT
iptables -A FORWARD -d 10.0.0.1 -i $mieth -o $eth_mac -p icmp -j ACCEPT
#permitimos el acceso al servidor web de wilson
iptables -A FORWARD -i $mieth -o $eth_wil -p tcp --dport 80 -j ACCEPT
iptables -A FORWARD -i $eth_wil -o $mieth -p tcp --sport 80 -j ACCEPT
#permitimos conectarse a internet
iptables -A FORWARD -s 10.0.0.0/24 -o $mieth -p tcp --dport 80 -j ACCEPT
iptables -A FORWARD -d 10.0.0.0/24 -i $mieth -p tcp --sport 80 -j ACCEPT
#permitimos acceso ssh
iptables -A FORWARD -i $mieth -o $eth_wil -p tcp --dport 22 -j ACCEPT
iptables -A FORWARD -i $eth_wil -o $mieth -p tcp --sport 22 -j ACCEPT
#permitimos el ftp
#iptables -A FORWARD -d 10.0.0.4 -i $mieth -o $eth_wil -p tcp --dport 20:21 -j ACCEPT
#iptables -A FORWARD -s 10.0.0.4 -i $eth_wil -o $mieth -p tcp --sport 20:21 -j ACCEPT
#permitimos a macartu utilizar ftp
iptables -A FORWARD -s 10.0.0.1 -i $eth_mac -o $mieth -p tcp --dport 21 -j ACCEPT
iptables -A FORWARD -d 10.0.0.1 -i $mieth -o $eth_mac -p tcp --sport 21 -j ACCEPT
iptables -A FORWARD -s 10.0.0.1 -i $eth_mac -o $mieth -p tcp --dport 20 -j ACCEPT
iptables -A FORWARD -d 10.0.0.1 -i $mieth -o $eth_mac -p tcp --sport 20 -j ACCEPT
#permitimos el acceso al servidor dns
iptables -A FORWARD -i $mieth -p udp --sport 53 -j ACCEPT
iptables -A FORWARD -o $mieth -p udp --dport 53 -j ACCEPT
######## postrouting ########
#cambiamos la ip de la red interna para que comunique con otra red
iptables -t nat -A POSTROUTING -s 10.0.0.0/24 -o $mieth -j SNAT --to $miip
echo “ OK . Verifique que lo que se aplica con: iptables –L -n“
# Fin del script