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

Re: Problema con iptables, NEW, ESTABLISHED, RELATED -Correccion



Matias, gracias nuevamente pero creo que no nos entendemos.

Te reitero lo que decía en el email original:

iptables -t nat -A PREROUTING -p tcp -i eth0 -s $LAN --dport 22 -j DNAT --to 192.168.5.1:22

Permito que el trafico que ingresa por eth0 al port 22 sea redirigido a 192.168.5.1:22

Ahora, tengo otra aplicacion que me genera la necesidad de hacer lo mismo con el port 2510, por lo que hago:

iptables -t nat -A PREROUTING -p tcp -i eth0 -s $LAN --dport 2510 -j DNAT --to 192.168.5.1:2510

Y aquí se sucede el problema, ya que esta aplicacion luego de conectarse al port 2510 abre otros puertos de manera dinámica:

He probado agregar a esta linea -m state --state NEW, ESTABLISHED, RELATED y tampoco funciona

Cabe aclarar que si hago:

iptables -t nat -A PREROUTING -p tcp -i eth0 -s $LAN -j DNAT --to 192.168.5.1

Funciona! pero no es lo que me sirve porque este equipo recibe otro tipo de conexiones que no deben ser redirijidas a 192.168.5.1.

Alguna pista?

Muchas Gracias.

Matías A. Bellone wrote:
ciracusa wrote:
Matias gracias por tu respuesta.

Te respondo entre tus lineas:

Matías Bellone wrote:
2008/4/20 ciracusa <ciracusa@gmail.com>:
 iptables -t nat -A PREROUTING -p tcp -i eth0 -s $LAN --dport 2510 -j
 DNAT --to 192.168.5.1:2510

Y aquí se sucede el problema, ya que esta aplicacion luego de conectarse
 al port 2510 abre otros puertos de manera dinámica:

Esto quiere decir que es algo específico del protocolo. El firewall,
en primera instancia, no sabe nada de eso.
Ok. Esto es una aplicación que se conecta a una BDD en progress. Nada de ftp o similar.

Entonces no deberías de necesitar nada. (leer más abajo)

 He probado agregar a esta linea -m state --state NEW, ESTABLISHED,
 RELATED y tampoco funciona

Fijate que si estás "agregando" a la línea, sigue siendo sólo válido
para el puerto 2510. Lo que vos querés hacer es abrir otros puertos,
por lo que tendrías que poner una regla que forwardee todo lo que sea
ESTABLISHED o RELATED a las máquinas que corresponde.
OK.

Si las conexiones son realizadas siempre desde adentro, entonces no deberías de tener problemas.

Tienes que agregar dos líneas:
1- dejar salir conexiones de la PC a la IP (o IPs) de la base de datos. Si no tiene las IP, lo dejas irrestricto pero también puedes restringirlo si conoces el rango de puertos en el que se maneja. 2- dejar entrar cualquier conexión ESTABLISHED (no estoy seguro si hace falta RELATED también).

De esa forma el sistema podrá salir a pedir conexiones nuevas, y cualquier respuesta podrá entrar porque será parte de una conexión establecida.

Creo.

Sin embargo, para que eso funcione, el sistema de seguimiento de
paquetes (conntrack) necesita saber de eso para que pueda marcar los
paquetes de conexiones relacionadas como corresponden. Para que haga
eso probablemente necesites tener el módulo correspondiente cargado.
Que yo sepa hay dos protocolos muy conocidos que hacen cosas como
esta: FTP y SIP. Para ambos vienen módulos de conntrack que tenés que
cargar y el sistema va a marcar las conexiones correspondientes.
Tenes algún ejemplo como para solucionarlo?

En tu caso no, porque por lo general sólo vale para protocolos que necesita abrir puertos entrantes según información dentro del protocolo (passive file transfer para FTP, media para SIP).

Pero a lo mejor no hace falta; todo depende del protocolo.

En este caso, tengo entendido que no haría falta.

Saludos,
Toote




Reply to: