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

Re: Algo se me olvida configurando mi firewall.



On Apr 7, 2005 11:03 AM, Pablo Braulio <brulics@gmail.com> wrote:
> Hola a todos.
> 
Hola!


> 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?.
> 
Siempre que algo no funciona, lo mejor es ir descartando cosas:

Lo primero que yo haría sería descartar que sea problema del firewall,
pon las reglas por defecto en ACCEPT y mira a ver si enruta. De hecho
creo que la sección stop de tu script debería ser algo del estilo:

iptables -F
iptables -X
iptables -Z
iptables -t nat -F 
iptables --table nat --flush
iptables --delete-chain
iptables --table nat --delete-chain 
iptables -P INPUT ACCEPT
iptables -P OUTPUT ACCEPT
iptables -P FORWARD ACCEPT

Para que realmente dejen de estar operativas las reglas que has
ejecutado con start.



Por otro lado, ¿están las tarjetas de red en modo promiscuo?.
Teóricamente cuando hay más d euna tarjeta de red, deben estar todas
en modo promiscuo
Hablo de cabeza, pero era algo así:
ifconfig eth0 promisc

Tambien puedes pobar a meterlo en el /etc/network/interfaces

Por otro lado, ¿qué dice el dmesg sobre las 2 tarjetas de red?, ¿da
algún error o algún mensaje que indique problemas con la detección de
hardware o la configuración?


Una vez hagas estas 2 pruebas, espero que tengamos una idea más
precisa de donde está el problema...




> 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
> 
>



Reply to: