Dnat con Firehol

TCP/IP, enrutamiento, firewalls, NAT, monitoreo.

Moderadores: frank, dxfiles

JuancaDJ
Mensajes: 71
Registrado: Lun, 19 May 2014, 11:48

Dnat con Firehol

Mensaje por JuancaDJ » Mar, 22 Sep 2015, 09:15

Hola buen dia a todos:
Aqui estoy teniendo un dia complicado, necesito hacer dnat con firehol ya que es el frontend que uso para manejar iptables
El problema es que tengo montado un servidor jabber en una PC dentro de mi red local, y necesito reeinviar todas las peticiones que se hacen al puerto 5222 de mi servidor hacia esa pc local, pero no logro realizar eso. Alguien me ayuda?. Gracias

PD: Ya he leido y buscado y leyendo vi que se hace usando dnat4 dentro del fichero firehol.conf el tema es que cuando reinicio el servicio me dice que dnat4 no existe en las funciones de firehol :roll: :roll: :( :(

Avatar de Usuario
hugo
Mensajes: 1430
Registrado: Sab, 07 Ago 2010, 14:09
Ubicación: La Habana
Contactar:

Re: Dnat con Firehol

Mensaje por hugo » Dom, 27 Sep 2015, 11:57

Probablemente deberías usar algo como esto (no estoy particularmente afilado en firehol):

Código: Seleccionar todo

dnat to 192.168.1.35:5222 inface eth1 dst 1.2.3.4 proto tcp dport 5222
Aqui obviamente 1.2.3.4 seria la ip externa y 192.168.1.35 la ip de la PC donde esta Jabber.
Lo único que necesita el mal para triunfar es que los hombres buenos no hagan nada.
- Edmund Burke

JuancaDJ
Mensajes: 71
Registrado: Lun, 19 May 2014, 11:48

Re: Dnat con Firehol

Mensaje por JuancaDJ » Vie, 16 Oct 2015, 08:47

Cuando agrego esas lineas a mi firehol, ya con mis IPs este es el resultado que obtengo:

ERROR #: 1
WHAT : Initializing nat_helper
WHY : Previous work was not applied.
COMMAND: dnat to 192.168.0.1:5222 inface eth1 dst 172.16.1.2 proto tcp dport 5222
SOURCE : line INIT of /etc/firehol/firehol.conf


--------------------------------------------------------------------------------
ERROR #: 2
WHAT : Initializing nat_helper
WHY : NAT cannot be used in 'router'. Put all NAT related commands before any 'router' definition.
COMMAND: dnat to 192.168.0.1:5222 inface eth1 dst 172.16.1.2 proto tcp dport 5222
SOURCE : line INIT of /etc/firehol/firehol.conf


NOTICE: No changes made to your firewall.
failed!

Avatar de Usuario
hugo
Mensajes: 1430
Registrado: Sab, 07 Ago 2010, 14:09
Ubicación: La Habana
Contactar:

Re: Dnat con Firehol

Mensaje por hugo » Sab, 17 Oct 2015, 18:01

Intenta colocando esa línea antes de cualquier instrucción router (o incluso puede ponerse antes de las interfaces).
Lo único que necesita el mal para triunfar es que los hombres buenos no hagan nada.
- Edmund Burke

JuancaDJ
Mensajes: 71
Registrado: Lun, 19 May 2014, 11:48

Re: Dnat con Firehol

Mensaje por JuancaDJ » Lun, 19 Oct 2015, 09:15

Bueno ya lo hice como me sugeriste y no me dio error pero, cuando intento hacer telnet a ver si todo funciona, nada de nada me pone esto: telnet: Unable to connect to remote host: Connection refused
y cuando hago un escaneo veo que el puerto 5222 esta abierto, ni incluso yo poniendo dentro de las reglas del firehol server jabber accept ni server jabberd accept
alguna idea??

Avatar de Usuario
hugo
Mensajes: 1430
Registrado: Sab, 07 Ago 2010, 14:09
Ubicación: La Habana
Contactar:

Re: Dnat con Firehol

Mensaje por hugo » Mar, 20 Oct 2015, 09:42

Es que en ese caso el servicio no está hospedado en el propio servidor sino en otro. En términos de iptables la cadena de evaluación del paquete no sería INPUT sino FORWARD.

Prueba con algo como esto:

Código: Seleccionar todo

router forwardjabber inface eth1 outface eth0
	route jabber accept
Aqui obviamente eth1 sería la interfaz que apunta a la WAN y la eth0 a la LAN.
Lo único que necesita el mal para triunfar es que los hombres buenos no hagan nada.
- Edmund Burke

JuancaDJ
Mensajes: 71
Registrado: Lun, 19 May 2014, 11:48

Re: Dnat con Firehol

Mensaje por JuancaDJ » Mar, 20 Oct 2015, 10:59

Aqui pongo la conf de mi firehol porque sigue sin funcionar lo que quiero, ya de dar connection refused ahora es connection time out

Código: Seleccionar todo

version 5
dnat to 192.168.0.1:5222 inface eth1 dst x.x.x.x proto tcp dport 5222

interface eth0 internet
protection all
policy drop
server smtp accept
server http accept
server https accept
server ICMP accept
server dns accept
server squid accept
client all accept

interface eth1 lan
protection all
policy drop
server "http https" accept
server squid accept
server dns accept
server ICMP accept
client all accept

router lan2internet inface eth1 outface eth0
masquerade
route all accept

router forwardjabber inface eth1 outface eth0
route jabber accept
Como pueden ver yo quiero que cuando los clientes configuren en sus clientes jabber como servidor la ip 192.168.0.1 esta acepte esa solicitud pero los remitan hacia otra ip que esta en otro rango que es el 172.x.x.x por lo que saldrian por la otra interfaz, ya que en si la PC donde esta el firewall actuaria como eso, como firewall y routeador de los paquetes pues ahi no esta el servidor jabber
-------
Hugo puse lo que me indicaste pero nada :(

Avatar de Usuario
hugo
Mensajes: 1430
Registrado: Sab, 07 Ago 2010, 14:09
Ubicación: La Habana
Contactar:

Re: Dnat con Firehol

Mensaje por hugo » Mar, 20 Oct 2015, 12:18

Hombre pero eso no fue lo que dijiste antes, y con la instrucción router que tenías (antes de agregar forwardjabber) deberías haber resuelto, pero si quieres agrega un "server jabber accept" a tu interfaz lan a ver si te funciona.

En fin, como te dije Firehol no es mi fuerte, pero por otra parte si cambias los requerimientos de un post a otro, obvio que la cosa no a va a funcionarte.
Lo único que necesita el mal para triunfar es que los hombres buenos no hagan nada.
- Edmund Burke

JuancaDJ
Mensajes: 71
Registrado: Lun, 19 May 2014, 11:48

Re: Dnat con Firehol

Mensaje por JuancaDJ » Mar, 20 Oct 2015, 13:41

Pues nada que funciona tampoco con esa otra opvion :(
De verdad que ya no se que mas inventarle a ese firehol, he buscado por internet y por donde quiera pero nada de nada :(
Alguna sugerencia para mi problema?, UFW sera mejor? o shorewall ?
Porque iptables me resulta demaciado complicado :(

Avatar de Usuario
hugo
Mensajes: 1430
Registrado: Sab, 07 Ago 2010, 14:09
Ubicación: La Habana
Contactar:

Re: Dnat con Firehol

Mensaje por hugo » Mar, 20 Oct 2015, 16:23

En teoría con esto deberías haber resuelto:

Código: Seleccionar todo

router lan2jabber inface eth1 outface eth0
masquerade
route jabber accept
Pero como tu tienes un "route all accept" en tu lan2internet, esto sería redundante.

Ignoro por que no te funciona, pero firehol puede usarse en modo interactivo para que teclees las reglas una a una y el las valida y te genera las reglas de iptables resultantes, y esto puede muchas veces ayudar a comprender lo que ocurre:

Código: Seleccionar todo

firehol explain
Lo único que necesita el mal para triunfar es que los hombres buenos no hagan nada.
- Edmund Burke

Responder