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