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

Re: Ayuda con netfilter.



Julián Esteban Perconti escribió:
Jorge Barreiro Gonzalez escribió:
No mandes mensajes a los privados.

Hola Jorge Gracias de antemano, te cuento que probe con la regla

"iptables -t filter -A FORWARD -i ppp0 -p tcp --dport 5000 -j ACCEPT"
"iptables -t filter -A FORWARD -i ppp0 -p udp --dport 5010 -j ACCEPT"


y el emule no tuvoi exito, pero es evidente, que la mano viene por la
cadena FORWARD, tanto del prerout. como el tema del FTP. ya que si hago que forward deje pasar todo, me anda tanto el emule como ftp.. Yo no sabia que
las tablas de nat se relacionaban con las tablas forward. Segire
intentando, Muchas gracias por la ayuda!!
Ah.. una duda que me queda, debido a que iptables es secuencial, segun
tengo entendido., estas reglas que mecionas deberian ir antes o despes que las tablas de nat..? yo probe poniendolas antes que las de nat..ahora voy a
probar poniendolas despues.

Saludos.

La tabla 'nat' siempre se recorre antes que la tabla 'filter' así que con respecto a eso creo que el orden dará igual. No sé porqué te sigue fallando, pero sin duda los tiros tienen que ir por ahí. Tienes muchas reglas puestas; yo que tu haría pruebas con las mínimas para hacer lo del emule y comprobar que funciona. Comprueba que las ips y puertos que indicas son las que hay configuradas.

Si funciona en solitario pero no en el script grande, vete añadiendo las que pudiesen estar fastidiando el asunto y así detectar el problema.

Encontré el tema del ftp. Para que --state ESTABLISHED, RELATED identifique las conexiones que corresponde al ftp tienes que cargar el módulo ip_conntrack_ftp (modprobe ip_conntrack_ftp).

Saludos.


Ok, ya me di cuenta como es el tema de los privados! perdon a todos.
Bueno para aprovechar el mail les cuento que el script quedó así:

#!/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 --dport 53 -j ACCEPT #DNS
iptables -t filter -A OUTPUT -p udp --dport 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 -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

# Prerouting Forward #

iptables -t filter -A FORWARD -i ppp0 -p tcp --dport 2000 -j ACCEPT
iptables -t filter -A FORWARD -i ppp0 -p udp --dport 2010 -j ACCEPT
iptables -t filter -A FORWARD -i ppp0 -p tcp --dport 3000 -j ACCEPT
iptables -t filter -A FORWARD -i ppp0 -p udp --dport 3010 -j ACCEPT
iptables -t filter -A FORWARD -i ppp0 -p tcp --dport 4000 -j ACCEPT
iptables -t filter -A FORWARD -i ppp0 -p udp --dport 4010 -j ACCEPT
iptables -t filter -A FORWARD -i ppp0 -p tcp --dport 5000 -j ACCEPT
iptables -t filter -A FORWARD -i ppp0 -p udp --dport 5010 -j ACCEPT
iptables -t filter -A FORWARD -i ppp0 -p tcp --dport 5479 -j ACCEPT

##iptables -A FORWARD -j DROP


Los del FTP lo solucione cargando el modulo ip_conntrack_ftp, que me dijo jorge. Pero el P2P sige sin noticias. Voy a segir buscando ejemplos de iptables con politica predeterminada drop. Gracias, y perdon nuevamente por lo del privado, fue sin querer. creia que automaticamente resondia a la lista. no a la person.
Saludos.


muchachos saliendo un poco del tema con lo del kernel..sigo sin poder resolver este tema del P2P.. el sript lo tuve que dejar asi..(pongo solo la parte del foraward no mas por que si no.. MASI pongo todo asi me dicen que hago mal y si hay algo de mas ya que meti cosas raras que ni yo se que son.. ((las copie :$)))
- - - -
#!/bin/bash
#/usr/local/sbin/setiptables.bash

iptables -t filter -F
iptables -t filter -X
iptables -t filter -Z
iptables -t nat -F
iptables -t nat -X
iptables -t nat -Z
iptables -t filter -P INPUT DROP
iptables -t filter -P OUTPUT DROP
iptables -t filter -P FORWARD DROP
iptables -t nat -P PREROUTING ACCEPT
iptables -t nat -P OUTPUT ACCEPT
iptables -t nat -P POSTROUTING ACCEPT

iptables -N bad_tcp_packets
iptables -A bad_tcp_packets -p tcp ! --syn -m state --state NEW -j LOG --log-prefix "New not syn:"
iptables -A bad_tcp_packets -p tcp ! --syn -m state --state NEW -j DROP
iptables -A bad_tcp_packets -i ppp0 -s 192.168.0.0/16 -j DROP
iptables -A bad_tcp_packets -i ppp0 -s 10.0.0.0/8 -j DROP
iptables -A bad_tcp_packets -i ppp0 -s 172.16.0.0/12 -j DROP

iptables -t filter -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -t filter -A OUTPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -t filter -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -t nat -A PREROUTING -m state --state INVALID -j DROP
iptables -t nat -A POSTROUTING -m state --state INVALID -j DROP
iptables -t nat -A OUTPUT -m state --state INVALID -j DROP

iptables -t nat -A POSTROUTING -o ppp0 -j MASQUERADE

/sbin/modprobe ip_conntrack
/sbin/modprobe ip_conntrack_ftp
/sbin/modprobe ip_tables
/sbin/modprobe iptable_filter
/sbin/modprobe iptable_mangle
/sbin/modprobe iptable_nat
/sbin/modprobe ipt_LOG
/sbin/modprobe ipt_REJECT
/sbin/modprobe ipt_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 -N icmp_packets
iptables -A icmp_packets -p ICMP -s 0/0 --icmp-type 8 -j ACCEPT
iptables -A icmp_packets -p ICMP -s 0/0 --icmp-type 11 -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 lo -j ACCEPT
iptables -A INPUT -p tcp -j bad_tcp_packets
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 iptables -t filter -A INPUT -m limit --limit 3/minute --limit-burst 3 -j LOG --log-level DEBUG --log-prefix "IPT INPUT packet died: "

# OUTPUT HP #

iptables -t filter -A OUTPUT -o lo -j ACCEPT
iptables -A OUTPUT -p tcp -j bad_tcp_packets
iptables -t filter -A OUTPUT -p tcp --dport 53 -j ACCEPT #DNS
iptables -t filter -A OUTPUT -p udp --dport 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
iptables -t filter -A OUTPUT -m limit --limit 3/minute --limit-burst 3 -j LOG --log-level DEBUG --log-prefix "IPT OUTPUT packet died: "

# FORWARD LAN #

#{necesito un router que se encargue del nat}
# 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 #SMTPS1
# iptables -t filter -A FORWARD -i eth1 -p tcp --dport 587 -j ACCEPT -s 192.168.0.2 #SMTPS2
# iptables -t filter -A FORWARD -i eth1 -p tcp --dport 443 -j ACCEPT #HTTPS
# iptables -t filter -A FORWARD -i eth1 -p tcp --dport 1677 -s 192.168.0.3 -j ACCEPT #Pnp#1 # iptables -t filter -A FORWARD -m limit --limit 3/minute --limit-burst 3 -j LOG --log-level DEBUG --log-prefix "IPT FORWARD packet died: "
#{idem}
#asi que..
iptables -A FORWARD -i ppp0 -j ACCCEPT
iptables -A FORWARD -i eth1 -j ACCCEPT
iptables -t filter -p tcp --dport tcp 80 -j DROP
# 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
- - - -

Para que se orienten un poco mejor.. mi problema es/era/ que con la politica por defecto en drop de la cadena forward no me andaban los p2p..ni el ftp pero lo del FTP quedo solbventado (ip_conntrack_ftp), pero el emule ni AHI!!! probe miles maneras!! observe el movimient/trafico/puertos con iptraf y nmap y no se me encendio ninguna lampara de tungsteno! VIVA THOMAS EDISON! pf.. bueno nada gente.. hoy son todas malas. Saludos coordiales, viva linux, viva debian, viva esta lista, que se muera micro$osrchostbooostAAAAAAAA!!!




Reply to: