Re: Redireccion FTP

2006-01-25 Por tema velkro
iñaki,
que buen dato que tiraste. nunca me habia fijado en eso. igualmente, tambien 
luche con este tema, pero como en mi caso no tiene solucion y como es para 
uso personal, reemplaze el ftp por ssh (scp, etc). digo que no tiene 
solucion, porque yo en el trabajo estoy detras de un equipo que hace nat, y 
en mi casa hago port-forwarding.

igualmente le recomiendo a todo aquel que se quiera meter a fondo con este 
tema, un muy buen articulo del libro: 'SSH, The Secure Shell: The Definitive 
Guide', capitulo '11.2. FTP Forwarding'.

yo tengo las hojas impresas desde esta ubicacion la cual no existe mas:
http://www.hn.edu.cn/book/network/networkingbookshelf_2nded/ssh/ch11_02.htm

saludos, velkro.

- Original Message - 
From: Iñaki [EMAIL PROTECTED]
To: debian-user-spanish@lists.debian.org
Sent: Monday, January 23, 2006 2:55 PM
Subject: Re: Redireccion FTP


El Lunes, 23 de Enero de 2006 18:34, Listas escribió:
 Lo quiero redirigir porque el 21 lo tengo ocupado ya,
 Un saludo.

Me temo que lo que pretendes no tiene solución. El protocolo FTP al igual 
que
muchos otros es una caca pues obliga al kernel a husmear en los paquetes 
para
detectar qué puerto de está negociando de cara a la transmisión de datos por
FTP y permitir entonces el acceso a través de ese puerto.

Para ello se emplea el módulo ip_contrack_ftp que hace precisamente lo
anterior y permite que se negocie un puerto para los datos y que Iptables
permita la entrada de los paquetes por ese puerto, y además está el
ip_nat_ftp que permite que el servidor FTP esté en otra máquina.

El problema es que dicho módulo está programado para funcionar por los 
puertos
estándar del FTP, de hecho pego una parte de su código:



# /usr/src/linux/include/linux/netfilter_ipv4 $ head -50 
ip_conntrack_ftp.h


#ifndef _IP_CONNTRACK_FTP_H
#define _IP_CONNTRACK_FTP_H
/* FTP tracking. */

#ifdef __KERNEL__

#define FTP_PORT21   OJO

#endif /* __KERNEL__ */

enum ip_ct_ftp_type
{
/* PORT command from client */
IP_CT_FTP_PORT,
/* PASV response from server */
IP_CT_FTP_PASV,
/* EPRT command from client */
IP_CT_FTP_EPRT,
/* EPSV response from server */
IP_CT_FTP_EPSV,
};



Como puedes ver existe una variable global  FTP_PORT con valor 21. Así pues
dudo que este módulo (necesario cuando hay un firewall por medio) funcione 
si
usas un puerto diferente al 21 para FTP. La negociación del puerto de datos
se hará por otro puerto distinto al 21 porque así lo pretendes por lo que
seguro que este módulo no funciona y Iptables es incapaz de comprender las
comunicaciones FTP con el otro puerto.


Ojalá alguien mande al carajo mi teoría.


Saludos.



-- 
y hasta aquí puedo leer... 






___ 
1GB gratis, Antivirus y Antispam 
Correo Yahoo!, el mejor correo web del mundo 
http://correo.yahoo.com.ar 


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]



RE: Redireccion FTP

2006-01-23 Por tema Listas
Lo quiero redirigir porque el 21 lo tengo ocupado ya,
Un saludo. 

-Mensaje original-
De: Felipe Törnvall N. [mailto:[EMAIL PROTECTED] 
Enviado el: viernes, 20 de enero de 2006 9:49
Para: debian-user-spanish@lists.debian.org
Asunto: Re: Redireccion FTP

On Thursday 19 January 2006 08:04, Listas wrote:
 Hola, ayer redirigi el puerto 21 para conectar a una maquina a traves 
 del
 31 de la siguiente manera:
__
para que lo quieres redirigir? si es por cosa de seguridad no es lo mas
optimo pq = con nmap -P0 tudire = sale q esta abierto ahora esto que
estoy escribiendo es pq tengo esa duda y pienso que quieres cambiar el
puerto para eso... pq una vez q con nmap te hacen el nmap con el telnet te
sale el banner ... quizas estoy suponiendo demasiado




 $IPTABLES -t nat -A PREROUTING -i eth0 -p tcp --dport 31 -j DNAT --to
 128.100.0.15:21
 la cuestion es que cuando intentan conectar, les deja validarse pero 
 una vez dentro cuando intentan moverse por ahi les dice invalid port 
 comand, ¿el puerto ftp se debe redirigir de alguna manera especial? 
 es que no les funciona a partir de este cambio, hasta ahora habia 
 funcionado si problemas. Gracias, [EMAIL PROTECTED]



RE: Redireccion FTP

2006-01-23 Por tema Listas
 Pues entonces debe de ser lo de los puertos seguidos, gracias, en cuanto lo
pruebe os comento si funciona.

-Mensaje original-
De: Pedro M. López [mailto:[EMAIL PROTECTED] 
Enviado el: viernes, 20 de enero de 2006 10:11
Para: debian-user-spanish@lists.debian.org
Asunto: Re: Redireccion FTP

El Viernes, 20 de Enero de 2006 09:39, Listas escribió:
 Si lo que quieres es redirigir las peticiones que te lleguen al puerto 
 31 (y supongo, que por tanto también al 32) y redirigirtelas a ti 
 mismo al 21 y 22, sería en el prerouting supongo.
 algo así como (no está probado)
 iptables -A PREROUTING -p tcp --dport 31 -j DNAT --to-destination
 127.0.0.1:21 iptables -A PREROUTING -p tcp --dport 32 -j DNAT 
 --to-destination 127.0.0.1:22

 --

 ¿Por qué 31 y 32 para 21 y 22? Yo lo que he abierto es el 20 y el 31 
 redirigido al 21, ¿deberia redirigir el 20 al 30? El 22 es ssh, 
 supongo que ha sido un lapsus ¿no?

Perdona, tienes razón... Esto del catarro me está liando :-)

Veamos si me aclaro, tienes un ftp (puertos 20 y 21) Que quieres que te
aparezca en el firewall??

De todas formas el sistema es el que te he puesto (aunque con los puertos
liados).

En el prerouting tomas el paquete con el puerto que esperas, y lo rediriges
al puerto interno que quieras iptables -A PREROUTING -p tcp --dport
$PUERTO_FIREWALL -j DNAT --to-destination $IP_DESTINO:$PUERTO_INTERNO Y con
eso ya puedes jugar.

Lo único que tengas en cuenta que creo que todos los clientes ftp esperan
que los puertos estén seguidos...



Re: Redireccion FTP

2006-01-23 Por tema Iñaki
El Lunes, 23 de Enero de 2006 18:34, Listas escribió:
 Lo quiero redirigir porque el 21 lo tengo ocupado ya,
 Un saludo.

Me temo que lo que pretendes no tiene solución. El protocolo FTP al igual que 
muchos otros es una caca pues obliga al kernel a husmear en los paquetes para 
detectar qué puerto de está negociando de cara a la transmisión de datos por 
FTP y permitir entonces el acceso a través de ese puerto.

Para ello se emplea el módulo ip_contrack_ftp que hace precisamente lo 
anterior y permite que se negocie un puerto para los datos y que Iptables 
permita la entrada de los paquetes por ese puerto, y además está el 
ip_nat_ftp que permite que el servidor FTP esté en otra máquina.

El problema es que dicho módulo está programado para funcionar por los puertos 
estándar del FTP, de hecho pego una parte de su código:

 

# /usr/src/linux/include/linux/netfilter_ipv4 $ head -50  ip_conntrack_ftp.h


#ifndef _IP_CONNTRACK_FTP_H
#define _IP_CONNTRACK_FTP_H
/* FTP tracking. */

#ifdef __KERNEL__

#define FTP_PORT21   OJO

#endif /* __KERNEL__ */

enum ip_ct_ftp_type
{
/* PORT command from client */
IP_CT_FTP_PORT,
/* PASV response from server */
IP_CT_FTP_PASV,
/* EPRT command from client */
IP_CT_FTP_EPRT,
/* EPSV response from server */
IP_CT_FTP_EPSV,
};



Como puedes ver existe una variable global  FTP_PORT con valor 21. Así pues 
dudo que este módulo (necesario cuando hay un firewall por medio) funcione si 
usas un puerto diferente al 21 para FTP. La negociación del puerto de datos 
se hará por otro puerto distinto al 21 porque así lo pretendes por lo que 
seguro que este módulo no funciona y Iptables es incapaz de comprender las 
comunicaciones FTP con el otro puerto.


Ojalá alguien mande al carajo mi teoría.


Saludos.



-- 
y hasta aquí puedo leer...



RE: Redireccion FTP

2006-01-23 Por tema Listas
Pues si, ojala, ya he encontrado otra solucion a traves de otro servidor,
pero la verdad es que me gustaria saber si puede hacerse o no de todas
formas.
Muchas gracias.

-Mensaje original-
De: Iñaki [mailto:[EMAIL PROTECTED] 
Enviado el: lunes, 23 de enero de 2006 18:56
Para: debian-user-spanish@lists.debian.org
Asunto: Re: Redireccion FTP

El Lunes, 23 de Enero de 2006 18:34, Listas escribió:
 Lo quiero redirigir porque el 21 lo tengo ocupado ya, Un saludo.

Me temo que lo que pretendes no tiene solución. El protocolo FTP al igual
que muchos otros es una caca pues obliga al kernel a husmear en los paquetes
para detectar qué puerto de está negociando de cara a la transmisión de
datos por FTP y permitir entonces el acceso a través de ese puerto.

Para ello se emplea el módulo ip_contrack_ftp que hace precisamente lo
anterior y permite que se negocie un puerto para los datos y que Iptables
permita la entrada de los paquetes por ese puerto, y además está el
ip_nat_ftp que permite que el servidor FTP esté en otra máquina.

El problema es que dicho módulo está programado para funcionar por los
puertos estándar del FTP, de hecho pego una parte de su código:

 

# /usr/src/linux/include/linux/netfilter_ipv4 $ head -50
ip_conntrack_ftp.h



#ifndef _IP_CONNTRACK_FTP_H
#define _IP_CONNTRACK_FTP_H
/* FTP tracking. */

#ifdef __KERNEL__

#define FTP_PORT21   OJO

#endif /* __KERNEL__ */

enum ip_ct_ftp_type
{
/* PORT command from client */
IP_CT_FTP_PORT,
/* PASV response from server */
IP_CT_FTP_PASV,
/* EPRT command from client */
IP_CT_FTP_EPRT,
/* EPSV response from server */
IP_CT_FTP_EPSV,
};




Como puedes ver existe una variable global  FTP_PORT con valor 21. Así pues
dudo que este módulo (necesario cuando hay un firewall por medio) funcione
si usas un puerto diferente al 21 para FTP. La negociación del puerto de
datos se hará por otro puerto distinto al 21 porque así lo pretendes por lo
que seguro que este módulo no funciona y Iptables es incapaz de comprender
las comunicaciones FTP con el otro puerto.


Ojalá alguien mande al carajo mi teoría.


Saludos.



--
y hasta aquí puedo leer...



RE: Redireccion FTP

2006-01-20 Por tema Listas

Si lo que quieres es redirigir las peticiones que te lleguen al puerto 31 (y
supongo, que por tanto también al 32) y redirigirtelas a ti mismo al 21 y
22, sería en el prerouting supongo.
algo así como (no está probado)
iptables -A PREROUTING -p tcp --dport 31 -j DNAT --to-destination
127.0.0.1:21 iptables -A PREROUTING -p tcp --dport 32 -j DNAT
--to-destination 127.0.0.1:22

--

¿Por qué 31 y 32 para 21 y 22? Yo lo que he abierto es el 20 y el 31
redirigido al 21, ¿deberia redirigir el 20 al 30? El 22 es ssh, supongo que
ha sido un lapsus ¿no?



Re: Redireccion FTP

2006-01-20 Por tema Felipe Törnvall N.
On Thursday 19 January 2006 08:04, Listas wrote:
 Hola, ayer redirigi el puerto 21 para conectar a una maquina a traves del
 31 de la siguiente manera:
__
para que lo quieres redirigir? si es por cosa de seguridad no es lo mas 
optimo pq = con nmap -P0 tudire = sale q esta abierto ahora esto que 
estoy escribiendo es pq tengo esa duda y pienso que quieres cambiar el puerto 
para eso... pq una vez q con nmap te hacen el nmap con el telnet te sale el 
banner ... quizas estoy suponiendo demasiado




 $IPTABLES -t nat -A PREROUTING -i eth0 -p tcp --dport 31 -j DNAT --to
 128.100.0.15:21
 la cuestion es que cuando intentan conectar, les deja validarse pero una
 vez dentro cuando intentan moverse por ahi les dice invalid port comand,
 ¿el puerto ftp se debe redirigir de alguna manera especial? es que no les
 funciona a partir de este cambio, hasta ahora habia funcionado si
 problemas. Gracias,
 [EMAIL PROTECTED]


pgpN5NowIUxMu.pgp
Description: PGP signature


Re: Redireccion FTP

2006-01-20 Por tema Pedro M. López
El Viernes, 20 de Enero de 2006 09:39, Listas escribió:
 Si lo que quieres es redirigir las peticiones que te lleguen al puerto 31
 (y supongo, que por tanto también al 32) y redirigirtelas a ti mismo al 21
 y 22, sería en el prerouting supongo.
 algo así como (no está probado)
 iptables -A PREROUTING -p tcp --dport 31 -j DNAT --to-destination
 127.0.0.1:21 iptables -A PREROUTING -p tcp --dport 32 -j DNAT
 --to-destination 127.0.0.1:22

 --

 ¿Por qué 31 y 32 para 21 y 22? Yo lo que he abierto es el 20 y el 31
 redirigido al 21, ¿deberia redirigir el 20 al 30? El 22 es ssh, supongo que
 ha sido un lapsus ¿no?

Perdona, tienes razón... Esto del catarro me está liando :-)

Veamos si me aclaro, tienes un ftp (puertos 20 y 21)
Que quieres que te aparezca en el firewall??

De todas formas el sistema es el que te he puesto (aunque con los puertos 
liados).

En el prerouting tomas el paquete con el puerto que esperas, y lo rediriges al 
puerto interno que quieras
iptables -A PREROUTING -p tcp --dport $PUERTO_FIREWALL -j DNAT 
--to-destination $IP_DESTINO:$PUERTO_INTERNO
Y con eso ya puedes jugar.

Lo único que tengas en cuenta que creo que todos los clientes ftp esperan que 
los puertos estén seguidos...



Re: Redireccion FTP

2006-01-19 Por tema Carlos Ferrabone
El Jueves, 19 de Enero de 2006 08:04, Listas escribió:
 Hola, ayer redirigi el puerto 21 para conectar a una maquina a traves del
 31 de la siguiente manera:
 $IPTABLES -t nat -A PREROUTING -i eth0 -p tcp --dport 31 -j DNAT --to
 128.100.0.15:21
 la cuestion es que cuando intentan conectar, les deja validarse pero una
 vez dentro cuando intentan moverse por ahi les dice invalid port comand,
 ¿el puerto ftp se debe redirigir de alguna manera especial? es que no les
 funciona a partir de este cambio, hasta ahora habia funcionado si
 problemas. Gracias,
 [EMAIL PROTECTED]

a mi me pasa lo mismo. pero si uso el cliente ftp NO en modo pasivo (me aprece 
que se llama modo puerto) anda. es un problema de configuracion de iptables. 
en el modo pasivo, luego de la autentificacion, el cliente intenta 
conecatarse en un puerto alto para las trasferencias, y eso es lo que falla.
justamente ahora estoy buscando info de como arreglarlo, pero lo hice andar  
destildando del cliente el casillero del modo pasivo.
aclaro que si acepto todos los paquetes relacionados

$iptables -A INPUT -i ppp0 -m state --state ESTABLISHED,RELATED -j ACCEPT

alguien me habia dicho que la solucion era poner en esta linea el rango de 
puertos, pero no me acuerdo exactamente como era, y no lo pude probar


pgp1rxLWAxVK5.pgp
Description: PGP signature


Re: Redireccion FTP

2006-01-19 Por tema Pedro M. López
El Jueves, 19 de Enero de 2006 13:23, Carlos Ferrabone escribió:
 El Jueves, 19 de Enero de 2006 08:04, Listas escribió:
  Hola, ayer redirigi el puerto 21 para conectar a una maquina a traves del
  31 de la siguiente manera:
  $IPTABLES -t nat -A PREROUTING -i eth0 -p tcp --dport 31 -j DNAT --to
  128.100.0.15:21
  la cuestion es que cuando intentan conectar, les deja validarse pero una
  vez dentro cuando intentan moverse por ahi les dice invalid port
  comand, ¿el puerto ftp se debe redirigir de alguna manera especial? es
  que no les funciona a partir de este cambio, hasta ahora habia funcionado
  si problemas. Gracias,
  [EMAIL PROTECTED]

 a mi me pasa lo mismo. pero si uso el cliente ftp NO en modo pasivo (me
 aprece que se llama modo puerto) anda. es un problema de configuracion de
 iptables. en el modo pasivo, luego de la autentificacion, el cliente
 intenta conecatarse en un puerto alto para las trasferencias, y eso es lo
 que falla. justamente ahora estoy buscando info de como arreglarlo, pero lo
 hice andar destildando del cliente el casillero del modo pasivo.
 aclaro que si acepto todos los paquetes relacionados

 $iptables -A INPUT -i ppp0 -m state --state ESTABLISHED,RELATED -j ACCEPT

 alguien me habia dicho que la solucion era poner en esta linea el rango de
 puertos, pero no me acuerdo exactamente como era, y no lo pude probar

¿No te falta también el puerto 20?
El ftp utliza tanto uno como otro.
A parte de esto, me parece que hace falta cargar los módulos ip_nat_ftp, 
ip_conntrack_ftp, y el  iptable_nat.




Re: Redireccion FTP

2006-01-19 Por tema Iñaki
El Jueves, 19 de Enero de 2006 13:23, Carlos Ferrabone escribió:
 El Jueves, 19 de Enero de 2006 08:04, Listas escribió:
  Hola, ayer redirigi el puerto 21 para conectar a una maquina a traves del
  31 de la siguiente manera:
  $IPTABLES -t nat -A PREROUTING -i eth0 -p tcp --dport 31 -j DNAT --to
  128.100.0.15:21
  la cuestion es que cuando intentan conectar, les deja validarse pero una
  vez dentro cuando intentan moverse por ahi les dice invalid port
  comand, ¿el puerto ftp se debe redirigir de alguna manera especial? es
  que no les funciona a partir de este cambio, hasta ahora habia funcionado
  si problemas. Gracias,
  [EMAIL PROTECTED]

 a mi me pasa lo mismo. pero si uso el cliente ftp NO en modo pasivo (me
 aprece que se llama modo puerto) anda. es un problema de configuracion de
 iptables. en el modo pasivo, luego de la autentificacion, el cliente
 intenta conecatarse en un puerto alto para las trasferencias, y eso es lo
 que falla. justamente ahora estoy buscando info de como arreglarlo, pero lo
 hice andar destildando del cliente el casillero del modo pasivo.
 aclaro que si acepto todos los paquetes relacionados

 $iptables -A INPUT -i ppp0 -m state --state ESTABLISHED,RELATED -j ACCEPT

 alguien me habia dicho que la solucion era poner en esta linea el rango de
 puertos, pero no me acuerdo exactamente como era, y no lo pude probar

No, la solución es habilitar en Conntrack el módulo para FTP, para que 
Iptables husmee en los paquetes de conexión de FTP y averigue que puerto se 
ha negociado para los datos.

Busca en la parte de IP4 netfilter los módulos relacionados con FTP y 
añádelos. Yo lo hago con modconf.


-- 
y hasta aquí puedo leer...



Re: Redireccion FTP

2006-01-19 Por tema M.
Exactamente te falta el módulo...

modprobe ip_conntrack_ftp


Ponlo al comienzo de tu script.

Salu2

Michael.-

El jue, 19-01-2006 a las 14:32 +0100, Iñaki escribió:
 El Jueves, 19 de Enero de 2006 13:23, Carlos Ferrabone escribió:
  El Jueves, 19 de Enero de 2006 08:04, Listas escribió:
   Hola, ayer redirigi el puerto 21 para conectar a una maquina a traves del
   31 de la siguiente manera:
   $IPTABLES -t nat -A PREROUTING -i eth0 -p tcp --dport 31 -j DNAT --to
   128.100.0.15:21
   la cuestion es que cuando intentan conectar, les deja validarse pero una
   vez dentro cuando intentan moverse por ahi les dice invalid port
   comand, ¿el puerto ftp se debe redirigir de alguna manera especial? es
   que no les funciona a partir de este cambio, hasta ahora habia funcionado
   si problemas. Gracias,
   [EMAIL PROTECTED]
 
  a mi me pasa lo mismo. pero si uso el cliente ftp NO en modo pasivo (me
  aprece que se llama modo puerto) anda. es un problema de configuracion de
  iptables. en el modo pasivo, luego de la autentificacion, el cliente
  intenta conecatarse en un puerto alto para las trasferencias, y eso es lo
  que falla. justamente ahora estoy buscando info de como arreglarlo, pero lo
  hice andar destildando del cliente el casillero del modo pasivo.
  aclaro que si acepto todos los paquetes relacionados
 
  $iptables -A INPUT -i ppp0 -m state --state ESTABLISHED,RELATED -j ACCEPT
 
  alguien me habia dicho que la solucion era poner en esta linea el rango de
  puertos, pero no me acuerdo exactamente como era, y no lo pude probar
 
 No, la solución es habilitar en Conntrack el módulo para FTP, para que 
 Iptables husmee en los paquetes de conexión de FTP y averigue que puerto se 
 ha negociado para los datos.
 
 Busca en la parte de IP4 netfilter los módulos relacionados con FTP y 
 añádelos. Yo lo hago con modconf.
 
 


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]



Re: Redireccion FTP

2006-01-19 Por tema Iñaki
El Jueves, 19 de Enero de 2006 15:51, Michael Fernández M. escribió:
 Exactamente te falta el módulo...

 modprobe ip_conntrack_ftp


 Ponlo al comienzo de tu script.

Más fácil: si lo añade con modconf directamente se añadirá a /etc/modules y 
se cargará al arranar el sistema.   ;)



 Salu2

 Michael.-

 El jue, 19-01-2006 a las 14:32 +0100, Iñaki escribió:
  El Jueves, 19 de Enero de 2006 13:23, Carlos Ferrabone escribió:
   El Jueves, 19 de Enero de 2006 08:04, Listas escribió:
Hola, ayer redirigi el puerto 21 para conectar a una maquina a traves
del 31 de la siguiente manera:
$IPTABLES -t nat -A PREROUTING -i eth0 -p tcp --dport 31 -j DNAT --to
128.100.0.15:21
la cuestion es que cuando intentan conectar, les deja validarse pero
una vez dentro cuando intentan moverse por ahi les dice invalid port
comand, ¿el puerto ftp se debe redirigir de alguna manera especial?
es que no les funciona a partir de este cambio, hasta ahora habia
funcionado si problemas. Gracias,
[EMAIL PROTECTED]
  
   a mi me pasa lo mismo. pero si uso el cliente ftp NO en modo pasivo (me
   aprece que se llama modo puerto) anda. es un problema de configuracion
   de iptables. en el modo pasivo, luego de la autentificacion, el cliente
   intenta conecatarse en un puerto alto para las trasferencias, y eso es
   lo que falla. justamente ahora estoy buscando info de como arreglarlo,
   pero lo hice andar destildando del cliente el casillero del modo
   pasivo. aclaro que si acepto todos los paquetes relacionados
  
   $iptables -A INPUT -i ppp0 -m state --state ESTABLISHED,RELATED -j
   ACCEPT
  
   alguien me habia dicho que la solucion era poner en esta linea el rango
   de puertos, pero no me acuerdo exactamente como era, y no lo pude
   probar
 
  No, la solución es habilitar en Conntrack el módulo para FTP, para que
  Iptables husmee en los paquetes de conexión de FTP y averigue que puerto
  se ha negociado para los datos.
 
  Busca en la parte de IP4 netfilter los módulos relacionados con FTP y
  añádelos. Yo lo hago con modconf.

-- 
y hasta aquí puedo leer...



Re: Redireccion FTP

2006-01-19 Por tema Carlos Ferrabone
El Jueves, 19 de Enero de 2006 09:43, Pedro M. López escribió:
 El Jueves, 19 de Enero de 2006 13:23, Carlos Ferrabone escribió:
  El Jueves, 19 de Enero de 2006 08:04, Listas escribió:
   Hola, ayer redirigi el puerto 21 para conectar a una maquina a traves
   del 31 de la siguiente manera:
   $IPTABLES -t nat -A PREROUTING -i eth0 -p tcp --dport 31 -j DNAT --to
   128.100.0.15:21
   la cuestion es que cuando intentan conectar, les deja validarse pero
   una vez dentro cuando intentan moverse por ahi les dice invalid port
   comand, ¿el puerto ftp se debe redirigir de alguna manera especial? es
   que no les funciona a partir de este cambio, hasta ahora habia
   funcionado si problemas. Gracias,
   [EMAIL PROTECTED]
 
  a mi me pasa lo mismo. pero si uso el cliente ftp NO en modo pasivo (me
  aprece que se llama modo puerto) anda. es un problema de configuracion de
  iptables. en el modo pasivo, luego de la autentificacion, el cliente
  intenta conecatarse en un puerto alto para las trasferencias, y eso es lo
  que falla. justamente ahora estoy buscando info de como arreglarlo, pero
  lo hice andar destildando del cliente el casillero del modo pasivo.
  aclaro que si acepto todos los paquetes relacionados
 
  $iptables -A INPUT -i ppp0 -m state --state ESTABLISHED,RELATED -j ACCEPT
 
  alguien me habia dicho que la solucion era poner en esta linea el rango
  de puertos, pero no me acuerdo exactamente como era, y no lo pude probar

 ¿No te falta también el puerto 20?
 El ftp utliza tanto uno como otro.
 A parte de esto, me parece que hace falta cargar los módulos ip_nat_ftp,
 ip_conntrack_ftp, y el  iptable_nat.


los modulos no me faltan
[EMAIL PROTECTED] ~]# modprobe -l | grep ftp
/lib/modules/2.6.14-1.1653_FC4/kernel/net/ipv4/netfilter/ip_nat_ftp.ko
/lib/modules/2.6.14-1.1653_FC4/kernel/net/ipv4/netfilter/ip_conntrack_ftp.ko
/lib/modules/2.6.14-1.1653_FC4/kernel/net/ipv4/netfilter/ip_conntrack_tftp.ko
/lib/modules/2.6.14-1.1653_FC4/kernel/net/ipv4/netfilter/ip_nat_tftp.ko
/lib/modules/2.6.14-1.1653_FC4/kernel/net/ipv4/ipvs/ip_vs_ftp.ko

[EMAIL PROTECTED] ~]# modprobe -l | grep iptable
/lib/modules/2.6.14-1.1653_FC4/kernel/net/ipv4/netfilter/iptable_raw.ko
/lib/modules/2.6.14-1.1653_FC4/kernel/net/ipv4/netfilter/iptable_mangle.ko
/lib/modules/2.6.14-1.1653_FC4/kernel/net/ipv4/netfilter/iptable_nat.ko
/lib/modules/2.6.14-1.1653_FC4/kernel/net/ipv4/netfilter/iptable_filter.ko

y este es el script que uso

#!/bin/sh
#
# generated by -bash on 2006.01.07.52
#

# set a few variables
echo 
echo   setting global variables
echo 
export PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin
iptables=/sbin/iptables

# adjust /proc
echo   applying general security settings to /proc filesystem
echo 
if [ -e /proc/sys/net/ipv4/tcp_syncookies ]; then echo 1 
 /proc/sys/net/ipv4/tcp_syncookies; fi
if [ -e /proc/sys/net/ipv4/conf/all/rp_filter ]; then echo 1 
 /proc/sys/net/ipv4/conf/all/rp_filter; fi
if [ -e /proc/sys/net/ipv4/ip_forward ]; then echo 1 
 /proc/sys/net/ipv4/ip_forward; fi

# load some modules
if [ -e /lib/modules/`uname -r`/kernel/net/ipv4/netfilter/ip_nat_irc.o ]; then 
modprobe ip_nat_irc; fi
if [ -e /lib/modules/`uname 
-r`/kernel/net/ipv4/netfilter/ip_conntrack_irc.o ]; then modprobe 
ip_conntrack_irc; fi
if [ -e /lib/modules/`uname 
-r`/kernel/net/ipv4/netfilter/ip_conntrack_ftp.o ]; then modprobe 
ip_conntrack_ftp; fi
if [ -e /lib/modules/`uname -r`/kernel/net/ipv4/netfilter/ip_nat_ftp.o ]; then 
modprobe ip_nat_ftp; fi

# flush any existing chains and set default policies
$iptables -F INPUT
$iptables -F OUTPUT
$iptables -P INPUT DROP
$iptables -P OUTPUT ACCEPT

# setup nat
echo   applying nat rules
echo 
$iptables -F FORWARD
$iptables -F -t nat
$iptables -P FORWARD DROP
$iptables -A FORWARD -i eth0 -j ACCEPT
$iptables -A INPUT -i eth0 -j ACCEPT
$iptables -A OUTPUT -o eth0 -j ACCEPT
$iptables -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT
$iptables -t nat -A POSTROUTING -s 192.168.0.0/24 -o ppp0 -j MASQUERADE

# allow all packets on the loopback interface
$iptables -A INPUT -i lo -j ACCEPT
$iptables -A OUTPUT -o lo -j ACCEPT

# allow established and related packets back in
$iptables -A INPUT -i ppp0 -m state --state ESTABLISHED,RELATED -j ACCEPT

# icmp
echo   applying icmp rules
echo 
$iptables -A OUTPUT -p icmp -m state --state NEW -j ACCEPT
$iptables -A INPUT -p icmp -m state --state ESTABLISHED,RELATED -j ACCEPT
$iptables -A INPUT -p icmp --icmp-type echo-request -i ppp0 -j DROP

# apply icmp type match blocking
echo   applying icmp type match blocking
echo 
$iptables -I INPUT -p icmp --icmp-type redirect -j DROP
$iptables -I INPUT -p icmp --icmp-type router-advertisement -j DROP
$iptables -I INPUT -p icmp --icmp-type router-solicitation -j DROP
$iptables -I INPUT -p icmp --icmp-type address-mask-request -j DROP
$iptables -I INPUT -p icmp --icmp-type address-mask-reply -j DROP

# open ports to the firewall
echo   applying the open port(s) to the firewall rules
echo 

Re: Redireccion FTP

2006-01-19 Por tema Pedro M. López
El Jueves, 19 de Enero de 2006 16:27, Carlos Ferrabone escribió:
 El Jueves, 19 de Enero de 2006 09:43, Pedro M. López escribió:
  El Jueves, 19 de Enero de 2006 13:23, Carlos Ferrabone escribió:
   El Jueves, 19 de Enero de 2006 08:04, Listas escribió:
Hola, ayer redirigi el puerto 21 para conectar a una maquina a traves
del 31 de la siguiente manera:
$IPTABLES -t nat -A PREROUTING -i eth0 -p tcp --dport 31 -j DNAT --to
128.100.0.15:21
la cuestion es que cuando intentan conectar, les deja validarse pero
una vez dentro cuando intentan moverse por ahi les dice invalid port
comand, ¿el puerto ftp se debe redirigir de alguna manera especial?
es que no les funciona a partir de este cambio, hasta ahora habia
funcionado si problemas. Gracias,
[EMAIL PROTECTED]
  
   a mi me pasa lo mismo. pero si uso el cliente ftp NO en modo pasivo (me
   aprece que se llama modo puerto) anda. es un problema de configuracion
   de iptables. en el modo pasivo, luego de la autentificacion, el cliente
   intenta conecatarse en un puerto alto para las trasferencias, y eso es
   lo que falla. justamente ahora estoy buscando info de como arreglarlo,
   pero lo hice andar destildando del cliente el casillero del modo
   pasivo. aclaro que si acepto todos los paquetes relacionados
  
   $iptables -A INPUT -i ppp0 -m state --state ESTABLISHED,RELATED -j
   ACCEPT
  
   alguien me habia dicho que la solucion era poner en esta linea el rango
   de puertos, pero no me acuerdo exactamente como era, y no lo pude
   probar
 
  ¿No te falta también el puerto 20?
  El ftp utliza tanto uno como otro.
  A parte de esto, me parece que hace falta cargar los módulos ip_nat_ftp,
  ip_conntrack_ftp, y el  iptable_nat.

 los modulos no me faltan
 [EMAIL PROTECTED] ~]# modprobe -l | grep ftp
 /lib/modules/2.6.14-1.1653_FC4/kernel/net/ipv4/netfilter/ip_nat_ftp.ko
 /lib/modules/2.6.14-1.1653_FC4/kernel/net/ipv4/netfilter/ip_conntrack_ftp.k
o
 /lib/modules/2.6.14-1.1653_FC4/kernel/net/ipv4/netfilter/ip_conntrack_tftp.
ko /lib/modules/2.6.14-1.1653_FC4/kernel/net/ipv4/netfilter/ip_nat_tftp.ko
 /lib/modules/2.6.14-1.1653_FC4/kernel/net/ipv4/ipvs/ip_vs_ftp.ko

 [EMAIL PROTECTED] ~]# modprobe -l | grep iptable
 /lib/modules/2.6.14-1.1653_FC4/kernel/net/ipv4/netfilter/iptable_raw.ko
 /lib/modules/2.6.14-1.1653_FC4/kernel/net/ipv4/netfilter/iptable_mangle.ko
 /lib/modules/2.6.14-1.1653_FC4/kernel/net/ipv4/netfilter/iptable_nat.ko
 /lib/modules/2.6.14-1.1653_FC4/kernel/net/ipv4/netfilter/iptable_filter.ko

 y este es el script que uso

 #!/bin/sh
 #
 # generated by -bash on 2006.01.07.52
 #

 # set a few variables
 echo 
 echo   setting global variables
 echo 
 export PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin
 iptables=/sbin/iptables

 # adjust /proc
 echo   applying general security settings to /proc filesystem
 echo 
 if [ -e /proc/sys/net/ipv4/tcp_syncookies ]; then echo 1

  /proc/sys/net/ipv4/tcp_syncookies; fi

 if [ -e /proc/sys/net/ipv4/conf/all/rp_filter ]; then echo 1

  /proc/sys/net/ipv4/conf/all/rp_filter; fi

 if [ -e /proc/sys/net/ipv4/ip_forward ]; then echo 1

  /proc/sys/net/ipv4/ip_forward; fi

 # load some modules
 if [ -e /lib/modules/`uname -r`/kernel/net/ipv4/netfilter/ip_nat_irc.o ];
 then modprobe ip_nat_irc; fi
 if [ -e /lib/modules/`uname
 -r`/kernel/net/ipv4/netfilter/ip_conntrack_irc.o ]; then modprobe
 ip_conntrack_irc; fi
 if [ -e /lib/modules/`uname
 -r`/kernel/net/ipv4/netfilter/ip_conntrack_ftp.o ]; then modprobe
 ip_conntrack_ftp; fi
 if [ -e /lib/modules/`uname -r`/kernel/net/ipv4/netfilter/ip_nat_ftp.o ];
 then modprobe ip_nat_ftp; fi

 # flush any existing chains and set default policies
 $iptables -F INPUT
 $iptables -F OUTPUT
 $iptables -P INPUT DROP
 $iptables -P OUTPUT ACCEPT

 # setup nat
 echo   applying nat rules
 echo 
 $iptables -F FORWARD
 $iptables -F -t nat
 $iptables -P FORWARD DROP
 $iptables -A FORWARD -i eth0 -j ACCEPT
 $iptables -A INPUT -i eth0 -j ACCEPT
 $iptables -A OUTPUT -o eth0 -j ACCEPT
 $iptables -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT
 $iptables -t nat -A POSTROUTING -s 192.168.0.0/24 -o ppp0 -j MASQUERADE

 # allow all packets on the loopback interface
 $iptables -A INPUT -i lo -j ACCEPT
 $iptables -A OUTPUT -o lo -j ACCEPT

 # allow established and related packets back in
 $iptables -A INPUT -i ppp0 -m state --state ESTABLISHED,RELATED -j ACCEPT

 # icmp
 echo   applying icmp rules
 echo 
 $iptables -A OUTPUT -p icmp -m state --state NEW -j ACCEPT
 $iptables -A INPUT -p icmp -m state --state ESTABLISHED,RELATED -j ACCEPT
 $iptables -A INPUT -p icmp --icmp-type echo-request -i ppp0 -j DROP

 # apply icmp type match blocking
 echo   applying icmp type match blocking
 echo 
 $iptables -I INPUT -p icmp --icmp-type redirect -j DROP
 $iptables -I INPUT -p icmp --icmp-type router-advertisement -j DROP
 $iptables -I INPUT -p icmp --icmp-type router-solicitation -j DROP
 $iptables -I INPUT -p icmp --icmp-type