Regla no me deja navegacion web

Forums: 

encontre una regla para el iptables:
-A FORWARD -p ALL -s Red_Lan -d 0/0 -j DROP
la cual coloco al final de la tabla filter, para denegar todo, el problema es que no me deja navegar, ya le di INPUT, OUTPUT FORWARD al puerto 80 y 3128 y aun asi sigo sin navegar, me gustaria saber que regla me permitiria salida a internet.

1. Tienes el bit de

Imagen de Monkito

1. Tienes el bit de forwarding activado? "/proc/sys/net/ipv4/ip_forward"
2. Haces NAT? "iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE"
3. Cuando quitas esa regla si navegas?, puedes poner todo tu script?..

Saludos

------------
counter.li.org

Cogito Ergo Sum

si todo me funciona bien, el

si todo me funciona bien, el bit lo activo en /etc/sysctl.conf, hago el nateo y redirigo al puerto 3128 abro los puertos 25 y 110 para los servicios de correo, pero en la tabla filter le agregue esa regla al final para no dejar pasar nada y me se me cae la internet la comento y todo el mundo navega.
en la tabla nat hago el redireccionamiento al puerto 3128 y hago el enmascaramiento y en la tabla filter coloco lo siguiente:

# Local Host & Red Local
-A INPUT -i lo -j ACCEPT
-A INPUT -s red_lan/24 -j ACCEPT
-A INPUT -p udp -m udp -s 129.6.15.28 --dport 123 --sport 123 -j ACCEPT

# Anti-flooding o inundacion de tramas SYN
-A INPUT -i eth0 -p tcp --syn -j syn-flood
-A syn-flood -m limit --limit 1/s --limit-burst 4 -j RETURN
-A syn-flood -j DROP

## luego abro los puerto 25 y 110 para servicios de correo
-A FORWARD -s red_lan/24 -p tcp --dport 25 -j ACCEPT
-A FORWARD -s red_lan/24 -p tcp --dport 110 -j ACCEPT

###### Bloqueamos todo el trafico forward #####
-A FORWARD -p ALL -s red_lan/24 -d 0/0 -j DROP
COMMIT

todo bien al colocar la ultima regla se me cae el internet, todo esto lo configuro en
/etc/sysconfig/iptables.

Bien.

Imagen de Monkito

- Què polìticas por defecto usas?,
- En lugar de editar el /etc/sysconfig/iptables deberìas tener un script y un "service iptables save"
- No veo en ninguna parte que permitas el forward a los puertos indispensables para navegación, 80, 443, 53, etc..

------------
counter.li.org

Cogito Ergo Sum

lo trabajo de esa manera por

lo trabajo de esa manera por que con un script no pude y vi mas facil de esta manera, si ya le di forwarding, input, outpur a los puertos 80, 3128, 443, esos permisos los di antes de dar permiso a los puertos 25 y 110, y no salia a internet, mi pregunta es que regla seria la adecuada para dar salida a internet, y la politica que uso es denegar, si no me equivoco eso es practicamente lo que tengo en mi tabla filter, si no es asi me podrian decir que politica es, ya que en la tabla nat solo redirecciono y hago nat, gracias, nuevamente a todos y a ti monkito, por echarme una mano.

Prueba

Imagen de Monkito

Prueba esto:

--archivocualquiera--


#!/bin/bash
#
#

# Flush de reglas
iptables -F
iptables -X
iptables -Z

iptables -t nat -F
iptables -t nat -X
iptables -t nat -Z

iptables -t filter -F
iptables -t filter -X
iptables -t filter -Z

iptables -t mangle -F
iptables -t mangle -X
iptables -t mangle -Z

#Politicas por defecto
iptables -P INPUT DROP
iptables -P OUTPUT DROP
iptables -P FORWARD DROP

#Dejar pasar paquetes que sean parte de una conexion
#previamente establecida en reglas posteriores.

iptables -t filter -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
iptables -t filter -A OUTPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
iptables -t filter -A FORWARD -m state --state RELATED,ESTABLISHED -j ACCEPT

#Garantizar acceso con ssh, OJO, especificar interfas y direccion ip a filtrar
iptables -t filter -A INPUT -p tcp --dport 22 -j ACCEPT

#Garantizar que le puedo hacer ping al serversito
iptables -t filter -A INPUT -p icmp -j ACCEPT

#NAT OJO, revisar interfas de salida, poner filtros de ip.
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE

#Redireccion a proxy transparente, especificar interfas de entrada y puerto proxy
iptables -t nat -A PREROUTING -i eth1 -p tcp --dport 80 -j REDIRECT --to 3128

#permitir navegacion, especificar filtro de ip ( -s )
# icmp ( ping )
iptables -t filter -A FORWARD -p icmp -j ACCEPT
# http, no se si sea necesario por la redireccion de proxy en tabla nat..
iptables -t filter -A FORWARD -p tcp --dport 80 -j ACCEPT
# https, sitios web con certificado, ej bancos, webmail, etc etc
iptables -t filter -A FORWARD -p tcp --dport 443 -j ACCEPT
# dns, muy importante
iptables -t filter -A FORWARD -p tcp --dport 53 -j ACCEPT
# etc etc etc

# SALIDA

# permitir al server hacer ping a cualquier lado
iptables -t filter -A OUTPUT -p icmp -j ACCEPT

#Guardar cambios para no tener que ejecutar el script cada vez que arranca el server..
service iptables save
#con esto al levantar el servicio iptables se cargaràn las reglas.

#FIN DE SCRIPT
exit 0

Como veras no he especificado permisos a las conexiones en doble vìa, como es muy comun, porque puse unas lìneas que continùan con una conexion previamente establecida ( o iniciada ), las que dicen RELATED,ESTAB... es solo para probar.

RECOMENDACION, en lugar de llamar directamente a iptables deberìas pasar por una variable, ej

ipt=/sbin/iptables
$ipt -t filter -A INPUT -p....... etc etc etc

Es para no tener problemas en caso de alguna vez no tener bien declaradas las variables de entorno, lo mismo va para el comando service, es /sbin/service, se puede dar el caso tìpico de cuando ejecutas el script mediante crond..

------------------------------------------------------------------

Luego de escribir lo anterior acabo de revisar todo el hilo y en ninguna parte dices que abres el puerto 53 en forward, es muy necesario, si no resuelves nombres de dominio no podràs navegar...

Saludos

------------
counter.li.org

Cogito Ergo Sum

gracias monkito por el scrip

gracias monkito por el scrip que pasaste por medio de el vi el error que estaba cometiendo, el cual era que tengo un server dns local y servidorsito de correo interno, todas las maquinas usan ese server local para resolver el internet, no le habia abierto a ese equivo consultar el dns solo le di el permiso al server, ademas de abrir los puertos 80, 443 y ya gracias a dios, ya tengo navegacion, gracias a todos.