[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Algo se me olvida configurando mi firewall.



Hola a todos.

Tengo un equipo con dos interfaces situado en la entrada de mi red que hace de 
firewall. eth0 (dhcp) y eth1 (ip estatica a la red).

El caso es que he querido cambiar este equipo por otro nuevo y ponerle la 
misma configuración (interfaces e iptables). Mi sorpresa ha venido cuando no 
funcionaba.

Le he instalado Sarge y tras hacerlo y configurar iptables y las interfaces 
(del mismo modo que lo tenía en el otro) sólo me permite levantar una 
de las interfaces. Si levanto o activo las dos (eth0 y eth1), no me funcionan 
las comunicaciones.

Con mas detalle:
Si solamente permanece activa eth0 (internet, dhcp), funciona perfectamente. 
Pero si "ifup eth1", entonces ya no puedo salir a internet, pero si que veo 
mi red local. El caso es que al hacer /etc/init.d/networking restart, no me 
produce ningún error.

Como no dispongo de mucho tiempo, he optado por volver a conectar el equipo 
anterior y mi sorpresa es que me pasa lo mismo. :-o

Creo que algo se me está olvidando de cuando configuré esto hace unos meses, 
pero no tengo ni idea de que se trata.

¿Alguna idea, por favor?.

Pego los archivos de configuración:

/etc/network/interfaces:

auto lo
iface lo inet loopback

auto eth0
iface eth0 inet dhcp


auto eth1
iface eth1 inet static
       address 192.168.1.1
       netmask 255.255.255.0
       gateway 192.168.1.1
       network 192.168.1.0
       broadcast 192.168.1.255

Iptables:

#!/bin/bash

case "$1" in
        start)
                        
                #Limpieza de reglas.
                echo -n "Limpiando reglas iptables: "
                iptables -F
                iptables -X
                iptables -Z
                iptables -t nat -F
                echo "hecho."
                
                #Cargando modulos.
                echo -n "Cargando modulos: "
                /sbin/depmod -a
                modprobe ip_tables
                modprobe ip_conntrack
                modprobe iptable_filter
                modprobe iptable_nat
                modprobe ipt_state
                modprobe ipt_MASQUERADE
                modprobe ipt_LOG
                modprobe ip_nat_irc
                echo "hecho."           


                #Forwarding.
                echo -n "Activando forwarding: "
                echo "1"> /proc/sys/net/ipv4/ip_forward
                echo "hecho."
                
                #Política por defecto.
                echo -n "Aplicando política: "
                iptables -P INPUT DROP
                iptables -P OUTPUT ACCEPT
                iptables -P FORWARD DROP
                echo "hecho."
                
                #NAT
                echo -n "Activando NAT: "
                iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
                echo "hecho."
                
                #Interfaz lo.
                echo -n "Activando interfaz lo: "
                iptables -A INPUT -i lo -j ACCEPT
                iptables -A OUTPUT -o lo -j ACCEPT
                echo "hecho."

                #Acceso         

                #iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 25 -m 
state --state 
NEW,ESTABLISHED,RELATED -j DNAT --to 192.168.1.2:25
                
                #iptables -A FORWARD -i eth0 -p tcp --dport 25 -m state 
--state 
NEW,ESTABLISHED,RELATED -j ACCEPT
                #iptables -A FORWARD -o eth0 -p tcp --sport 25 -m state 
--state 
NEW,ESTABLISHED,RELATED -j ACCEPT

                #Salida a Internet.
                echo -n "Permitiendo la salida a Intenet: "
                iptables -A INPUT -i eth0 -m state --state ESTABLISHED,RELATED 
-j ACCEPT
                iptables -A OUTPUT -o eth0 -m state --state 
NEW,ESTABLISHED,RELATED -j 
ACCEPT

                iptables -A FORWARD -i eth0 -m state --state 
ESTABLISHED,RELATED -j ACCEPT
                iptables -A FORWARD -o eth0 -m state --state 
NEW,ESTABLISHED,RELATED -j 
ACCEPT
                echo "hecho."
                
                #SSH    
                #ssh desde fuera redireccionado al server.
                echo -n "Activando redireccionamiento conexión ssh externa al 
server: "
                iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 22 -m 
state --state 
NEW,ESTABLISHED,RELATED -j DNAT --to 192.168.1.2:22
                                
                iptables -A FORWARD -i eth0 -p tcp --dport 22 -m state --state 
NEW,ESTABLISHED -j ACCEPT
                iptables -A FORWARD -o eth0 -p tcp --sport 22 -m state --state 
NEW,ESTABLISHED,RELATED -j ACCEPT
                echo "hecho."
                
                #ssh interno
                echo -n "Activando ssh interno: "
                iptables -A INPUT -i eth1 -s 192.168.1.0/24 -j ACCEPT 
                iptables -A OUTPUT -o eth1 -d 192.168.1.0/24 -j ACCEPT
                echo "hecho."

                #Redireccionamiento peticiones web.
                echo -n "Redireccionando peticiones web: "
                iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 80 -m 
state --state 
NEW,ESTABLISHED,RELATED -j DNAT --to 192.168.1.5:80

                iptables -A FORWARD -i eth0 -p tcp --dport 80 -m state --state 
NEW,ESTABLISHED,RELATED -j ACCEPT
                iptables -A FORWARD -o eth0 -p tcp --sport 80 -m state --state 
NEW,ESTABLISHED,RELATED -j ACCEPT
                echo "hecho."

                #Cerrado el puerto 80.
                #echo -n "Cerrando el puerto 80: "
                #iptables -A INPUT -i eth0 -p tcp --sport 80 -m state --state 
ESTABLISHED,RELATED -j DROP
                #iptables -A OUTPUT -o eth0 -s ! 192.168.1.5 -p tcp --dport 80 
-m state 
--state NEW,ESTABLISHED,RELATED -j DROP

                #iptables -A FORWARD -i eth0 -p tcp --sport 80 -m state 
--state 
ESTABLISHED,RELATED -j DROP
                #iptables -A FORWARD -o eth0 -s ! 192.168.1.5 -p tcp --dport 
80 -m state 
--state NEW,ESTABLISHED,RELATED -j DROP
                #echo "hecho."          

                
                #Cerrar 
                echo -n "Cerrando conexiones no necesarias: "
                iptables -A INPUT -i eth0 -m state --state NEW,INVALID -j DROP
                                
                iptables -A OUTPUT -o eth0 -m state --state NEW,INVALID -j 
DROP
                                
                iptables -A FORWARD -i eth0 -m state --state NEW,INVALID -j 
DROP
                echo "hecho."
                ;;
                
        stop)
                echo -n "Parando el firewall: "
                iptables -F INPUT
                iptables -F OUTPUT
                iptables -F FORWARD
                iptables -F
                iptables -t nat -F
                echo "hecho."
                ;;
                
        restart)
                $0 stop
                echo -n "Reiniciando el firewall: "
                sleep 2
                $0 start
                echo "hecho."
                ;;
                
        status)
                iptables -L -n
                ;;
        *)
                echo "usar: $0 {start|stop|restart|status}"
                exit 1
esac
exit 0

-- 
Saludos.
Pablo

"No soy religioso, pero me apeno con la perdida de un gran hombre que creyó 
siempre en los jovenes".
Fingerprint 5607 40CF 45EF D490 B794  5056 D7B2 C3DC ABF1 CE49
Jabber: bruli@jabber.org
http:www.aldiagestion.com

Attachment: pgpqgBatA2Ftd.pgp
Description: PGP signature


Reply to: