O Mércores 21 Maio 2008 19:15, Julián Esteban Perconti escribiu: > Hola listeros, recurro a ustedes por el suiguiente motivo: > tengo una maquina debian como router, con el siguiente script.. > > #!/bin/bash > #/usr/local/sbin/setiptables.bash > > iptables -F > iptables -X > iptables -Z > iptables -t nat -F > > iptables -P INPUT DROP > iptables -P OUTPUT DROP > iptables -P FORWARD *DROP* > iptables -t nat -P PREROUTING ACCEPT > iptables -t nat -P OUTPUT ACCEPT > iptables -t nat -P POSTROUTING ACCEPT > > iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT > iptables -A OUTPUT -m state --state ESTABLISHED,RELATED -j ACCEPT > iptables -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT > > iptables -t nat -A POSTROUTING -o ppp0 -j MASQUERADE > > echo 1 > /proc/sys/net/ipv4/ip_forward > echo 2 > /proc/sys/net/ipv4/conf/all/rp_filter > echo 1 > /proc/sys/net/ipv4/icmp_echo_ignore_broadcasts > echo 0 > /proc/sys/net/ipv4/conf/all/accept_source_route > echo 0 > /proc/sys/net/ipv4/tcp_timestamps > echo 30 > /proc/sys/net/ipv4/tcp_fin_timeout > echo 2400 > /proc/sys/net/ipv4/tcp_keepalive_time > echo 0 > /proc/sys/net/ipv4/tcp_window_scaling > echo 0 > /proc/sys/net/ipv4/tcp_sack > > iptables -A INPUT -i lo -j ACCEPT > iptables -A OUTPUT -o lo -j ACCEPT > > iptables -A INPUT -p tcp --tcp-flags ALL NONE -j DROP > iptables -A FORWARD -p tcp --tcp-flags ALL NONE -j DROP > iptables -A INPUT -p tcp --tcp-flags SYN,FIN SYN,FIN -j DROP > iptables -A FORWARD -p tcp --tcp-flags SYN,FIN SYN,FIN -j DROP > iptables -A INPUT -p tcp --tcp-flags SYN,RST SYN,RST -j DROP > iptables -A FORWARD -p tcp --tcp-flags SYN,RST SYN,RST -j DROP > iptables -A INPUT -p tcp --tcp-flags FIN,RST FIN,RST -j DROP > iptables -A FORWARD -p tcp --tcp-flags FIN,RST FIN,RST -j DROP > iptables -A INPUT -p tcp --tcp-flags ACK,FIN FIN -j DROP > iptables -A FORWARD -p tcp --tcp-flags ACK,FIN FIN -j DROP > iptables -A INPUT -p tcp --tcp-flags ACK,PSH PSH -j DROP > iptables -A FORWARD -p tcp --tcp-flags ACK,PSH PSH -j DROP > iptables -A INPUT -p tcp --tcp-flags ACK,URG URG -j DROP > iptables -A FORWARD -p tcp --tcp-flags ACK,URG URG -j DROP > > # INPUT HP # > > iptables -t filter -A INPUT -i eth1 -p tcp --dport 53 -j ACCEPT #DNS > iptables -t filter -A INPUT -i eth1 -p udp --dport 53 -j ACCEPT #DNS > iptables -t filter -A INPUT -i eth1 -p udp --dport 67 -j ACCEPT #DHCP > iptables -t filter -A INPUT -i eth1 -p tcp --dport 3128 -j ACCEPT #SQUID > iptables -t filter -A INPUT -i eth1 -p udp --dport 445 -j ACCEPT > #Microsoft-DS SMB file sharing > iptables -t filter -A INPUT -i eth1 -p tcp --dport 137:139 -j ACCEPT > #NetBios > iptables -t filter -A INPUT -i eth1 -p udp --dport 137:139 -j ACCEPT > #NetBios > iptables -t filter -A INPUT -i eth1 -p tcp --dport 22 -j ACCEPT -s > 192.168.0.2 #SSH > > # OUTPUT HP # > > iptables -t filter -A OUTPUT -p tcp --sport 53 -j ACCEPT #DNS > iptables -t filter -A OUTPUT -p udp --sport 53 -j ACCEPT #DNS > iptables -t filter -A OUTPUT -p tcp --sport 3128 -j ACCEPT #SQUID > iptables -t filter -A OUTPUT -p tcp --dport 80 -j ACCEPT #WWW > iptables -t filter -A OUTPUT -p udp --sport 67 -j ACCEPT #DHCP > iptables -t filter -A OUTPUT -p udp --dport 445 -j ACCEPT #Microsoft-DS > SMB file sharing > iptables -t filter -A OUTPUT -p tcp --dport 137:139 -j ACCEPT #NetBios > iptables -t filter -A OUTPUT -p udp --dport 137:139 -j ACCEPT #NetBios > > # FORWARD LAN # > > *iptables -t filter -A FORWARD -j ACCEPT* > iptables -t filter -A FORWARD -i eth1 -p tcp --dport 20:21 -j ACCEPT #FTP > iptables -t filter -A FORWARD -i eth1 -p tcp --dport 25 -j ACCEPT #SMTP > iptables -t filter -A FORWARD -i eth1 -p tcp --dport 110 -j ACCEPT #POP3 > iptables -t filter -A FORWARD -i eth1 -p tcp --dport 143 -j ACCEPT #IMAP4 > iptables -t filter -A FORWARD -i eth1 -p tcp --dport 989:990 -j ACCEPT > #FTPS iptables -t filter -A FORWARD -i eth1 -p tcp --dport 993 -j ACCEPT > #IMAP4S iptables -t filter -A FORWARD -i eth1 -p tcp --dport 995 -j ACCEPT > #POP3S iptables -t filter -A FORWARD -i eth1 -p tcp --dport 465 -j ACCEPT > #SMTPS > > # NAT # > > # TEGNet > iptables -t nat -A PREROUTING -i ppp0 -p tcp --dport 5479 -j DNAT --to > 192.168.0.2:5479 > > # BitTorrent > #iptables -t nat -A PREROUTING -i ppp0 -p tcp --dport ? -j DNAT --to > 192.168.0.2:? > > # eMule's > iptables -t nat -A PREROUTING -i ppp0 -p tcp --dport 2000 -j DNAT --to > 192.168.0.2:2000 > iptables -t nat -A PREROUTING -i ppp0 -p udp --dport 2010 -j DNAT --to > 192.168.0.2:2010 > iptables -t nat -A PREROUTING -i ppp0 -p tcp --dport 3000 -j DNAT --to > 192.168.0.3:3000 > iptables -t nat -A PREROUTING -i ppp0 -p udp --dport 3010 -j DNAT --to > 192.168.0.3:3010 > iptables -t nat -A PREROUTING -i ppp0 -p tcp --dport 4000 -j DNAT --to > 192.168.0.4:4000 > iptables -t nat -A PREROUTING -i ppp0 -p udp --dport 4010 -j DNAT --to > 192.168.0.4:4010 > iptables -t nat -A PREROUTING -i ppp0 -p tcp --dport 5000 -j DNAT --to > 192.168.0.5:5000 > iptables -t nat -A PREROUTING -i ppp0 -p udp --dport 5010 -j DNAT --to > 192.168.0.5:5010 > > # SQUID > iptables -t nat -A PREROUTING -i eth1 -p tcp --dport 80 -j REDIRECT > --to-port 3128 > iptables -t nat -A PREROUTING -i eth1 -p tcp --sport 80 -j REDIRECT > --to-port 3128 > > *iptables -t filter -A FORWARD -j DROP* > > Les llamará la atención seguramente los astericos, estos NO estan en el > script original, pero el problema que estoy teniendo es que, si la > politica por defecto de la cadena FORWARD la pongo en DROP (como esta) y > saco esta linea *iptables -t filter -A FORWARD -j ACCEPT* (que creo que > es lo mismo a que la policy este en accept..) No me me funciona NAT (es > decir el emule me da ID baja por ejemplo), ni tampoco me fuciona el > FTP.. y sin embargo estan en la cadena forward. pero no hay caso. > ¿que estoy haciendo mal? > por este motivo, estoy dejando que pase casi todo a la LAN. con la linea > *...*. > Alguien sabe a que se debe esto? > Muchas gracias.
Cuando haces un PREROUTING, los paquetes que encajan en esa regla son transformados, pero continuan pasando por la cadena de reglas. Es decir, si quieres que algo como: iptables -t nat -A PREROUTING -i ppp0 -p udp --dport 5010 -j DNAT --to 192.168.0.5:5010 funcione, tieens que poner también: iptables -t filter -A FORWARD -i ppp0 -p udp --dport 5010 -j ACCEPT de lo contrario el paquete transformado caerá en el DROP final y no llegará a ningun lado (puedes especificar la ip también aquí, para ser más preciso). Eso te solucionará el tema del emule ( y resto de redireción de puertos). Sobre el ftp, recuerdo que tenía tela y había un módulo que trataba con él especialmente, pero no recuerdo; no puedo decirte nada por ahora. Saludos. -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]