Una pequeña critica constructiva, sin animos de ofender.<br>Lo que te puedo recomendar, es que la ultima regla de cada una de las cadenas de iptables sea drop o reject . Por otro lado tienes reglas de mas, como el caso de forward en squid, squid es un servicio local de tu GW por ende solo tienes que usar reglas en INPUT y OUTPUT. Otra recomendacion es que si tienes una regla doble para cada una de las redes elimines el origen como por ejemplo <br>
iptables -A FORWARD -s <a href="http://192.168.1.0/25" target="_blank">192.168.1.0/25</a> -i eth1 -p tcp --dport 80 -j ACCEPT <br><br>iptables -A FORWARD -s <a href="http://192.168.1.0/25" target="_blank">192.168.1.0/25</a> -m state --state NEW -p tcp --dport 80 -j ACCEPT<br>
de esta manera se asume que como es una nueva peticion venga de la LAN<br><br>otra cosa, como primera regla podria<br>iptables -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT<br>esto evita volver a leer todas las reglas de filtrado, se supone que ya paso por algunas de las reglas y no debes volver a consultarlas<br>
<br><div class="gmail_quote">2008/7/1 Aland Laines <<a href="mailto:aland.laines@gmail.com">aland.laines@gmail.com</a>>:<br><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
<div class="gmail_quote"><br>
<div>bueno otra ves molestandolos, el problema que tengo es que tengo dos redes en el instituto ambas salen por un centos 5.1 con nat y squid transparente, el problema esta en que la red <a href="http://192.168.1.0/" target="_blank">192.168.1.0</a> navega de manera normal, pero la la red <a href="http://192.168.2.0/" target="_blank">192.168.2.0</a> navega pero no pueden loguearse en gmail ni en hotmail, cosa que si puede el primer rango, ya probe haciendo el flush de reglas e insertarlas de nuevo pero aun asi, lo raro es que estuvo todo funcionando bien con el centos 5 que tenia el squid 2.5 y ahora es el 2.6 , les pongo mis scripts de iptables y el de squid para que me den alguna pista o la manera de mejorar ambos, (en iptables ando medio perdido pero al menos pude hacer ese script con modelos de la web).</div>
<div> </div>
<div>Gracias de antemano,</div>
<div> </div>
<div> </div>
<div>#!/bin/sh<br>## SCRIPT de IPTABLES<br>## Ejemplo de script para firewall entre red-local e internet<br>## con filtro para que solo se pueda navegar.</div>
<div>echo Aplicando Reglas de Firewall...</div>
<div>## FLUSH de reglas<br>/sbin/iptables -F<br>/sbin/iptables -X<br>/sbin/iptables -Z</div>
<div>#modulos<br>modprobe ip_conntrack<br>modprobe ip_conntrack_ftp<br>modprobe ip_conntrack_irc<br>modprobe ipt_REJECT<br>modprobe ipt_REDIRECT<br>modprobe ipt_TOS<br>modprobe ipt_MASQUERADE<br>modprobe ipt_LOG<br>modprobe iptable_mangle<br>
modprobe iptable_nat<br>modprobe ip_nat_ftp<br>modprobe ip_nat_irc</div>
<div>## Establecemos politica por defecto<br>/sbin/iptables -P INPUT ACCEPT<br>/sbin/iptables -P OUTPUT ACCEPT<br>/sbin/iptables -P FORWARD ACCEPT<br>/sbin/iptables -t nat -P PREROUTING ACCEPT<br>/sbin/iptables -t nat -P POSTROUTING ACCEPT</div>
<div># Hacemos un proxy transparente<br>iptables -t nat -A PREROUTING -i eth1 -p tcp --dport 80 -j REDIRECT --to-port 3128<br>iptables -t nat -A PREROUTING -i eth2 -p tcp --dport 80 -j REDIRECT --to-port 3128</div>
<div>## Empezamos a filtrar<br>## Nota: eth0 es el interfaz conectado al router y eth1 a la LAN<br># El localhost se deja (por ejemplo conexiones locales a mysql)<br>iptables -A INPUT -i lo -j ACCEPT</div>
<div># Al firewall tenemos acceso desde la red local<br>iptables -A INPUT -s <a href="http://192.168.1.0/25" target="_blank">192.168.1.0/25</a> -i eth1 -j ACCEPT<br>iptables -A INPUT -s <a href="http://192.168.2.0/25" target="_blank">192.168.2.0/25</a> -i eth2 -j ACCEPT</div>
<div># Cerramos acceso de <a href="http://192.168.2.1/" target="_blank">192.168.2.1</a> por la eth1<br>iptables -A INPUT -s <a href="http://192.168.2.0/25" target="_blank">192.168.2.0/25</a> -i eth0 -j DROP<br>iptables -A INPUT -s <a href="http://192.168.2.0/25" target="_blank">192.168.2.0/25</a> -i eth0 -j DROP</div>
<div><br>## Ahora con regla FORWARD filtramos el acceso de la red local<br>## al exterior. Como se explica antes, a los paquetes que no van dirigidos al <br>## propio firewall se les aplican reglas de FORWARD</div>
<div>#Aceptamos que vayan a puertos 80<br>iptables -A FORWARD -s <a href="http://192.168.1.0/25" target="_blank">192.168.1.0/25</a> -i eth1 -p tcp --dport 80 -j ACCEPT<br>iptables -A FORWARD -s <a href="http://192.168.2.0/25" target="_blank">192.168.2.0/25</a> -i eth2 -p tcp --dport 80 -j ACCEPT</div>
<div>#Aceptamos que vayan a puertos https<br>iptables -A FORWARD -s <a href="http://192.168.1.0/25" target="_blank">192.168.1.0/25</a> -i eth1 -p tcp --dport 443 -j ACCEPT<br>iptables -A FORWARD -s <a href="http://192.168.2.0/25" target="_blank">192.168.2.0/25</a> -i eth2 -p tcp --dport 443 -j ACCEPT</div>
<div># Aceptamos salida a FTP<br>iptables -A FORWARD -s <a href="http://192.168.1.0/25" target="_blank">192.168.1.0/25</a> -i eth1 -p tcp --dport 21 -j ACCEPT<br>iptables -A FORWARD -s <a href="http://192.168.2.0/25" target="_blank">192.168.2.0/25</a> -i eth2 -p tcp --dport 21 -j ACCEPT</div>
<div># Aceptamos que vayan a puertos SQUID</div></div></blockquote><div>###############################<br>Estas reglas al squid estan de mas <br>###############################<br></div><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
<div class="gmail_quote"><div><br>iptables -A FORWARD -s <a href="http://192.168.1.0/25" target="_blank">192.168.1.0/25</a> -i eth1 -p tcp --dport 3128 -j ACCEPT<br>iptables -A FORWARD -s <a href="http://192.168.2.0/25" target="_blank">192.168.2.0/25</a> -i eth2 -p tcp --dport 3128 -j ACCEPT</div>
<div># Aceptamos que consulten los DNS<br>iptables -A FORWARD -s <a href="http://192.168.1.0/25" target="_blank">192.168.1.0/25</a> -i eth1 -p tcp --dport 53 -j ACCEPT<br>iptables -A FORWARD -s <a href="http://192.168.1.0/25" target="_blank">192.168.1.0/25</a> -i eth1 -p udp --dport 53 -j ACCEPT<br>
iptables -A FORWARD -s <a href="http://192.168.2.0/25" target="_blank">192.168.2.0/25</a> -i eth2 -p tcp --dport 53 -j ACCEPT<br>iptables -A FORWARD -s <a href="http://192.168.2.0/25" target="_blank">192.168.2.0/25</a> -i eth2 -p udp --dport 53 -j ACCEPT</div>
<div>#Aceptamos que conecten SSH y Telnet<br>iptables -A INPUT -p tcp --dport 22 -j ACCEPT</div>
<div>#Aceptamos puerto HTTP y MySql desde fuera<br>iptables -A INPUT -i eth0 -p tcp -m tcp --dport 80 -m state --state NEW -j ACCEPT<br>iptables -A INPUT -p tcp -m tcp --dport 3306 -m state --state NEW -j ACCEPT<br>iptables -A INPUT -i eth0 -p tcp -m tcp --dport 8080 -m state --state NEW -j ACCEPT</div>
<div><br>#MSN messenger<br>iptables -A FORWARD -p TCP --dport 1863 -j REJECT</div>
<div># Ahora hacemos enmascaramiento de la red local<br># y activamos el BIT DE FORWARDING (imprescindible!!!!!)<br>iptables --table nat --append POSTROUTING --out-interface eth0 -j MASQUERADE<br>iptables --append FORWARD --in-interface eth1 -j ACCEPT<br>
iptables --table nat --append POSTROUTING --out-interface eth0 -j MASQUERADE<br>iptables --append FORWARD --in-interface eth2 -j ACCEPT</div>
<div><br># Con esto permitimos hacer forward de paquetes en el firewall, o sea<br># que otras máquinas puedan salir a traves del firewall.<br>echo 1 > /proc/sys/net/ipv4/ip_forward</div>
<div>## Y ahora cerramos los accesos indeseados del exterior:<br># Nota: <a href="http://0.0.0.0/0" target="_blank">0.0.0.0/0</a> significa: cualquier red</div>
<div># Cerramos el rango de puerto bien conocido<br>iptables -A INPUT -s <a href="http://0.0.0.0/0" target="_blank">0.0.0.0/0</a> -p tcp --dport 1:1024 -j DROP<br>iptables -A INPUT -s <a href="http://0.0.0.0/0" target="_blank">0.0.0.0/0</a> -p udp --dport 1:1024 -j DROP</div>
<div>echo " OK . Verifique que lo que se aplica con: iptables -L -n -v"</div>
<div># Fin del script<br></div>
<div># Configuracion de servidor Proxy Squid <br># <br>#-------------------------------------------<br>#<br>#Puerto de Servidor Proxy</div>
<div>http_port <a href="http://192.168.1.253:3128/" target="_blank">192.168.1.253:3128</a> transparent<br>http_port <a href="http://192.168.1.253:3128/" target="_blank">192.168.1.253:3128</a> transparent</div>
<div># Cache de memoria<br>cache_mem 1024 MB<br>cache_swap_low 90<br>cache_swap_high 95<br>maximum_object_size 8192 KB</div>
<div># Espacio de cache en HDD<br>cache_dir ufs /var/spool/squid 2000 25 300</div>
<div># Ftp anonimo<br>ftp_user <a href="mailto:anonymous@ipp.edu.pe" target="_blank">anonymous@ipp.edu.pe</a><br>ftp_passive on<br>visible_hostname anubis</div>
<div># Etiquetas<br>acl all src <a href="http://0.0.0.0/0.0.0.0" target="_blank">0.0.0.0/0.0.0.0</a><br>acl manager proto cache_object<br>acl localhost src <a href="http://127.0.0.1/255.255.255.255" target="_blank">127.0.0.1/255.255.255.255</a><br>
acl red-navegacion src <a href="http://192.168.1.0/255.255.255.0" target="_blank">192.168.1.0/255.255.255.0</a><br>acl red-navegacion2 src <a href="http://192.168.2.0/255.255.255.0" target="_blank">192.168.2.0/255.255.255.0</a><br>
acl indeseados url_regex "/etc/squid/paginasprohibidas"<br>acl download urlpath_regex "/etc/squid/download"</div>
<div># Reglas de Filtrado<br># Negamos el acceso a paginas listadas en el archivo "/etc/squid/paginasprohibidas"<br>http_access allow localhost manager<br>http_access allow red-navegacion !indeseados !download<br>
http_access allow red-navegacion2 !indeseados !download<br>http_access deny all<br clear="all"><font color="#888888"><font color="#888888"><br>-- <br>Aland Laines Calonge<br>Tecnico en Informatica<br><a href="http://www.lainessoluciones.com/" target="_blank">http://www.lainessoluciones.com</a> (en construccion) </font></font></div>
</div>
<br>_______________________________________________<br>
CentOS-es mailing list<br>
<a href="mailto:CentOS-es@centos.org">CentOS-es@centos.org</a><br>
<a href="http://lists.centos.org/mailman/listinfo/centos-es" target="_blank">http://lists.centos.org/mailman/listinfo/centos-es</a><br>
<br></blockquote></div><br>