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

Re: Redireccion FTP



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,
> > > Laur@..
> >
> > 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
[root@fedora ~]# 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

[root@fedora ~]# 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 ""
$iptables -A INPUT -p tcp --dport 22 -j ACCEPT
$iptables -A INPUT -p tcp --dport 21 -j ACCEPT
$iptables -A INPUT -p tcp --dport 6881:6890 -j ACCEPT
#UDP azureus
$iptables -A INPUT -p udp --dport 6881 -j ACCEPT
#UDP azureus
$iptables -A INPUT -p tcp --dport 5901 -j ACCEPT
$iptables -A INPUT -p tcp --dport 5801 -j ACCEPT
$iptables -A INPUT -p tcp --dport 8245 -j ACCEPT




# drop all other packets
echo "  applying default drop policies"
echo ""
$iptables -A INPUT -i ppp0 -p tcp --dport 0:65535 -j DROP
$iptables -A INPUT -i ppp0 -p udp --dport 0:65535 -j DROP

echo "### quicktables is loaded ###"
echo ""

Attachment: pgpsVvakEtACr.pgp
Description: PGP signature


Reply to: