De Firehol a Iptables?
Re: De Firehol a Iptables?
Si los clientes necesitan acceder a servicios que esten hospedados en el cortafuegos, usas la cadena INPUT. Si los servicios estan hospedados en otros equipos, usas la cadena FORWARD.
Para ejemplificarlo con tu caso, tu tienes el webmail en el mismo equipo que hace de cortafuegos, por lo que realmente necesitas abrir los puertos 80 y/o 443, y tienes el proxy ahi tambien, por lo que necesitas abrir el 3128 para tu LAN, pero este ultimo no necesariamente para tu WAN, a menos que haya clientes provinciales que naveguen usando tu propio proxy.
Para ejemplificarlo con tu caso, tu tienes el webmail en el mismo equipo que hace de cortafuegos, por lo que realmente necesitas abrir los puertos 80 y/o 443, y tienes el proxy ahi tambien, por lo que necesitas abrir el 3128 para tu LAN, pero este ultimo no necesariamente para tu WAN, a menos que haya clientes provinciales que naveguen usando tu propio proxy.
Lo único que necesita el mal para triunfar es que los hombres buenos no hagan nada.
- Edmund Burke
- Edmund Burke
Re: De Firehol a Iptables?
Si pero es que cuando hago esto:
Nada que funsiona, cuando le hago telnet a la ip local donde esta el firewall o sea telnet 192.168.0.1 21 o al 5222 ninguno de los dos conecta, me lanza el error de telnet: Unable to connect to remote host: Connection timed out
Y si utilizo un cliente FTP para comprobar a ver si igual funciona, este me lanza el error de "ECONNREFUSED - Connection refused by server"
Código: Seleccionar todo
iptables -A FORWARD -i eth1 -o x.x.x.x -p tcp -m tcp --dport 20:21 -m state --state NEW -j ACCEPT
iptables -A FORWARD -i eth1 -o x.x.x.x -p tcp -m tcp --dport 5222:5223 -m state --state NEW -j ACCEPT
iptables -A FORWARD -i eth1 -m state --state ESTABLISHED,RELATED -j ACCEPT
Y si utilizo un cliente FTP para comprobar a ver si igual funciona, este me lanza el error de "ECONNREFUSED - Connection refused by server"
Re: De Firehol a Iptables?
Pero ya hiciste el SNAT o MASQUERADE?
Porque en caso contrario obviamente las reglas no funcionarán.
Además, iptables debería darte problemas al cargar esas reglas que pones, en todo caso debería ser así:
Porque en caso contrario obviamente las reglas no funcionarán.
Además, iptables debería darte problemas al cargar esas reglas que pones, en todo caso debería ser así:
Código: Seleccionar todo
iptables -A FORWARD -i eth1 -o eth0 -d x.x.x.x -p tcp -m tcp --dport 20:21 -m state --state NEW -j ACCEPT
iptables -A FORWARD -i eth1 -o eth0 -d x.x.x.x -p tcp -m tcp --dport 5222:5223 -m state --state NEW -j ACCEPT
iptables -A FORWARD -i eth1 -m state --state ESTABLISHED,RELATED -j ACCEPT
Lo único que necesita el mal para triunfar es que los hombres buenos no hagan nada.
- Edmund Burke
- Edmund Burke
Re: De Firehol a Iptables?
Bueno ya arregle la cadena forward con eso que me dijiste, pero SNAT O MASQUERADE? umm recuerda que soy nuevo en eso el iptables y no sabria como hacer un SNAT Y MAQUERADE que funsionara en mi caso, me ayudas? asi que sabria como es todo eso, porque sigo sin solucion
Re: De Firehol a Iptables?
Ah, enmascarar no es dificil, es solo permitirlo en la cadena POSTROUTING para una interfaz dada:
Eso lo que quiere decir es basicamente lo siguiente: a los paquetes enrutables, antes de salir por eth0 cambiales la ip de origen (interna) y ponles una ip de origen externa.
Pon eso antes de tus reglas FORWARD y deberían funcionar. A mi SNAT me gusta mas para enlaces ADSL que MASQUERADE (asi se evitan ciertos reseteos de conexiones) pero necesitas declarar la ip externa y la sintaxis es un poquito mas compleja.
Nota que el enmascaramiento normalmente se usa para habilitar el nateo y no para filtrar paquetes, para eso se usa la cadena FORWARD, es ahi donde uno especifica quien tiene acceso a que.
Código: Seleccionar todo
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
Pon eso antes de tus reglas FORWARD y deberían funcionar. A mi SNAT me gusta mas para enlaces ADSL que MASQUERADE (asi se evitan ciertos reseteos de conexiones) pero necesitas declarar la ip externa y la sintaxis es un poquito mas compleja.
Nota que el enmascaramiento normalmente se usa para habilitar el nateo y no para filtrar paquetes, para eso se usa la cadena FORWARD, es ahi donde uno especifica quien tiene acceso a que.
Lo único que necesita el mal para triunfar es que los hombres buenos no hagan nada.
- Edmund Burke
- Edmund Burke
Re: De Firehol a Iptables?
Sigo sin resultados, este es mi script de iptables final:
Todo funciona a la perfección, el único problema es eso del forward, o snat la cuestion es que sigo sin poder reenviar las peticiones jabber y ftp de mi LAN hacia mi servidor padre
Código: Seleccionar todo
#!/bin/sh
## FLUSH DE REGLAS
iptables -t nat -X
iptables -t nat -F
iptables -t nat -P PREROUTING ACCEPT
iptables -t nat -P POSTROUTING ACCEPT
iptables -X
iptables -F
## ESTABLECIENDO POLICITAS POR DEFECTO
iptables -P INPUT DROP
iptables -P OUTPUT ACCEPT
iptables -P FORWARD DROP
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A INPUT -i lo -m state --state NEW -j ACCEPT
## HACIENDO DNAT
#iptables -t nat -A PREROUTING -i eth1 -p tcp --dport 5222 -j DNAT --to x.x.x.x:5222
#iptables -t nat -A PREROUTING -i eth1 -p tcp --dport 21 -j DNAT --to x.x.x.x:21
#iptables -t nat -A POSTROUTING -s 192.168.0.0/24 -o eth0 -j MASQUERADE
## HACIENDO FORWARD
iptables -t nat -A POSTROUTING -o eth1 -j MASQUERADE
iptables -A FORWARD -i eth1 -o eth0 -d x.x.x.x -p tcp -m tcp --dport 20:21 -m state --state NEW --j ACCEPT
iptables -A FORWARD -i eth1 -o eth0 -d x.x.x.x -p tcp -m tcp --dport 5222:5223 -m state --state NEW --j ACCEPT
iptables -A FORWARD -i eth1 -m state --state ESTABLISHED,RELATED -j ACCEPT
#ABRIENDO PUERTOS
iptables -A INPUT -i eth1 -p tcp -m multiport --dports 80,443,3128 -m state --state NEW -j ACCEPT
iptables -A INPUT -i eth0 -p tcp -m multiport --dports 80,443,3128 -m state --state NEW -j ACCEPT
#ANCLANDO EL USO DEL PUERTO 25 A SOLO 2 IP (Para evitar suplantacion de indetidad)
iptables -A INPUT -s x.x.x.x -p tcp --dport 25 -m state --state NEW -j ACCEPT
iptables -A INPUT -s x.x.x.x -p tcp --dport 25 -m state --state NEW -j ACCEPT
#PERMITIENDO CONSULAS DNS TCP/UDP
iptables -A INPUT -i eth0 -p udp -m udp --dport 53 -m state --state NEW -j ACCEPT
iptables -A INPUT -i eth1 -p udp -m udp --dport 53 -m state --state NEW -j ACCEPT
## PERMITO EL ICMP DE FORMA SEGURA
iptables -A INPUT -i eth0 -p icmp -m icmp --icmp-type echo-request -j ACCEPT
iptables -A INPUT -i eth0 -p icmp -m icmp --icmp-type echo-reply -j ACCEPT
iptables -A INPUT -i eth0 -p icmp -m icmp --icmp-type destination-unreachable -j ACCEPT
iptables -A INPUT -i eth0 -p icmp -m icmp --icmp-type time-exceeded -j ACCEPT
iptables -A INPUT -i eth0 -p icmp -m icmp --icmp-type parameter-problem -j ACCEPT
## PERMITO EL ICMP DE FORMA SEGURA LAN
iptables -A INPUT -i eth1 -p icmp -m icmp --icmp-type echo-request -j ACCEPT
iptables -A INPUT -i eth1 -p icmp -m icmp --icmp-type echo-reply -j ACCEPT
iptables -A INPUT -i eth1 -p icmp -m icmp --icmp-type destination-unreachable -j ACCEPT
iptables -A INPUT -i eth1 -p icmp -m icmp --icmp-type time-exceeded -j ACCEPT
iptables -A INPUT -i eth1 -p icmp -m icmp --icmp-type parameter-problem -j ACCEPT
## SALVANDO LAS REGLAS
iptables-save > /etc/iptables/rules.v4
exit 0
Re: De Firehol a Iptables?
Yo lo veo bien, si no te funciona debe ser porque tu sistema no tiene habilitado el bit de reenvío.
Edita tu archivo /etc/sysctl.conf y cerciorate de que tengas una linea como esta y que no este comentada:
Luego solo tienes que recargar la configuración:
Por cierto, una aclaración: ese script que tienes hecho está bien asi pero si usas iptables-persistent no necesitaras ejecutar el script nada mas que cuando quieras modificar las reglas, e incluso podrias editarlas el el propio archivo /etc/iptables/rules.v4 ya que la sintaxis es como la de iptables (pero sin el propio comando y con algunos encabezados extra que no necesitas tocar).
Edición: Ahora me doy cuenta de que en el MASQUERADE pusiste la interfaz eth1, asi no podrás acceder al Jabber externo porque esa es la interfaz interna, tienes que poner eth0.
Edita tu archivo /etc/sysctl.conf y cerciorate de que tengas una linea como esta y que no este comentada:
Código: Seleccionar todo
net.ipv4.ip_forward=1
Código: Seleccionar todo
sysctl -p
Edición: Ahora me doy cuenta de que en el MASQUERADE pusiste la interfaz eth1, asi no podrás acceder al Jabber externo porque esa es la interfaz interna, tienes que poner eth0.
Lo único que necesita el mal para triunfar es que los hombres buenos no hagan nada.
- Edmund Burke
- Edmund Burke
Re: De Firehol a Iptables?
Abri este archivo /etc/sysctl.conf y si estaba descomentada esa linea, por lo que el bit de reenvio si esta habilitado, arregle la interfaz en el MASQUERADE
y sigo sin resultados, seguro que no tengo que abrir esos puertos y luego hacerles el FORWARD?
Que problema ese uff, ni con firehol ni con iptables se soluciona eso
y sigo sin resultados, seguro que no tengo que abrir esos puertos y luego hacerles el FORWARD?
Que problema ese uff, ni con firehol ni con iptables se soluciona eso
Re: De Firehol a Iptables?
Por si acaso agrega en tus FORWARD esta línea:
Normalmente no debería ser necesaria, pero quien sabe como esta configurado ese jabber. Si aun asi tienes dificultades, quizas sea alguna restricción en los equipos a los cuales pretendes acceder, algo típico cuando uno tiene un proxy padre que solo permite acceso al puerto 3128. Verifica con ellos si tus peticiones les estan llegando.
Otra cosa que puedes hacer es acceder desde tu servidor al FTP. Como tu propio servidor tiene la política por defecto de permitir todo lo de la cadena OUTPUT, no hay restricción posible por tu parte, si aun asi no llegas, el problema no está en tu cortafuegos.
Código: Seleccionar todo
iptables -A FORWARD -i eth0 -m state --state ESTABLISHED,RELATED -j ACCEPT
Otra cosa que puedes hacer es acceder desde tu servidor al FTP. Como tu propio servidor tiene la política por defecto de permitir todo lo de la cadena OUTPUT, no hay restricción posible por tu parte, si aun asi no llegas, el problema no está en tu cortafuegos.
Lo único que necesita el mal para triunfar es que los hombres buenos no hagan nada.
- Edmund Burke
- Edmund Burke
Re: De Firehol a Iptables?
Ustedes disculpen que me meta en la conversación, pero acaso iptables no genera logs o algo parecido? creo que sería conveniente ver lo que sucede antes de resolver el problema a ciegas...