All pastes #914994 Raw Edit

iptables

public text v1 · immutable
#914994 ·published 2008-02-23 12:20 UTC
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