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 192.168.1.0 navega de manera normal, pero la la red 192.168.2.0 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).
Gracias de antemano,
#!/bin/sh ## SCRIPT de IPTABLES ## Ejemplo de script para firewall entre red-local e internet ## con filtro para que solo se pueda navegar. echo Aplicando Reglas de Firewall... ## FLUSH de reglas /sbin/iptables -F /sbin/iptables -X /sbin/iptables -Z #modulos modprobe ip_conntrack modprobe ip_conntrack_ftp modprobe ip_conntrack_irc modprobe ipt_REJECT modprobe ipt_REDIRECT modprobe ipt_TOS modprobe ipt_MASQUERADE modprobe ipt_LOG modprobe iptable_mangle modprobe iptable_nat modprobe ip_nat_ftp modprobe ip_nat_irc ## Establecemos politica por defecto /sbin/iptables -P INPUT ACCEPT /sbin/iptables -P OUTPUT ACCEPT /sbin/iptables -P FORWARD ACCEPT /sbin/iptables -t nat -P PREROUTING ACCEPT /sbin/iptables -t nat -P POSTROUTING ACCEPT # Hacemos un proxy transparente iptables -t nat -A PREROUTING -i eth1 -p tcp --dport 80 -j REDIRECT --to-port 3128 iptables -t nat -A PREROUTING -i eth2 -p tcp --dport 80 -j REDIRECT --to-port 3128 ## Empezamos a filtrar ## Nota: eth0 es el interfaz conectado al router y eth1 a la LAN # El localhost se deja (por ejemplo conexiones locales a mysql) iptables -A INPUT -i lo -j ACCEPT # Al firewall tenemos acceso desde la red local iptables -A INPUT -s 192.168.1.0/25 -i eth1 -j ACCEPT iptables -A INPUT -s 192.168.2.0/25 -i eth2 -j ACCEPT # Cerramos acceso de 192.168.2.1 por la eth1 iptables -A INPUT -s 192.168.2.0/25 -i eth0 -j DROP iptables -A INPUT -s 192.168.2.0/25 -i eth0 -j DROP
## Ahora con regla FORWARD filtramos el acceso de la red local ## al exterior. Como se explica antes, a los paquetes que no van dirigidos al ## propio firewall se les aplican reglas de FORWARD #Aceptamos que vayan a puertos 80 iptables -A FORWARD -s 192.168.1.0/25 -i eth1 -p tcp --dport 80 -j ACCEPT iptables -A FORWARD -s 192.168.2.0/25 -i eth2 -p tcp --dport 80 -j ACCEPT #Aceptamos que vayan a puertos https iptables -A FORWARD -s 192.168.1.0/25 -i eth1 -p tcp --dport 443 -j ACCEPT iptables -A FORWARD -s 192.168.2.0/25 -i eth2 -p tcp --dport 443 -j ACCEPT # Aceptamos salida a FTP iptables -A FORWARD -s 192.168.1.0/25 -i eth1 -p tcp --dport 21 -j ACCEPT iptables -A FORWARD -s 192.168.2.0/25 -i eth2 -p tcp --dport 21 -j ACCEPT # Aceptamos que vayan a puertos SQUID iptables -A FORWARD -s 192.168.1.0/25 -i eth1 -p tcp --dport 3128 -j ACCEPT iptables -A FORWARD -s 192.168.2.0/25 -i eth2 -p tcp --dport 3128 -j ACCEPT # Aceptamos que consulten los DNS iptables -A FORWARD -s 192.168.1.0/25 -i eth1 -p tcp --dport 53 -j ACCEPT iptables -A FORWARD -s 192.168.1.0/25 -i eth1 -p udp --dport 53 -j ACCEPT iptables -A FORWARD -s 192.168.2.0/25 -i eth2 -p tcp --dport 53 -j ACCEPT iptables -A FORWARD -s 192.168.2.0/25 -i eth2 -p udp --dport 53 -j ACCEPT #Aceptamos que conecten SSH y Telnet iptables -A INPUT -p tcp --dport 22 -j ACCEPT #Aceptamos puerto HTTP y MySql desde fuera iptables -A INPUT -i eth0 -p tcp -m tcp --dport 80 -m state --state NEW -j ACCEPT iptables -A INPUT -p tcp -m tcp --dport 3306 -m state --state NEW -j ACCEPT iptables -A INPUT -i eth0 -p tcp -m tcp --dport 8080 -m state --state NEW -j ACCEPT
#MSN messenger iptables -A FORWARD -p TCP --dport 1863 -j REJECT # Ahora hacemos enmascaramiento de la red local # y activamos el BIT DE FORWARDING (imprescindible!!!!!) iptables --table nat --append POSTROUTING --out-interface eth0 -j MASQUERADE iptables --append FORWARD --in-interface eth1 -j ACCEPT iptables --table nat --append POSTROUTING --out-interface eth0 -j MASQUERADE iptables --append FORWARD --in-interface eth2 -j ACCEPT
# Con esto permitimos hacer forward de paquetes en el firewall, o sea # que otras máquinas puedan salir a traves del firewall. echo 1 > /proc/sys/net/ipv4/ip_forward ## Y ahora cerramos los accesos indeseados del exterior: # Nota: 0.0.0.0/0 significa: cualquier red # Cerramos el rango de puerto bien conocido iptables -A INPUT -s 0.0.0.0/0 -p tcp --dport 1:1024 -j DROP iptables -A INPUT -s 0.0.0.0/0 -p udp --dport 1:1024 -j DROP echo " OK . Verifique que lo que se aplica con: iptables -L -n -v" # Fin del script # Configuracion de servidor Proxy Squid # #------------------------------------------- # #Puerto de Servidor Proxy http_port 192.168.1.253:3128 transparent http_port 192.168.1.253:3128 transparent # Cache de memoria cache_mem 1024 MB cache_swap_low 90 cache_swap_high 95 maximum_object_size 8192 KB # Espacio de cache en HDD cache_dir ufs /var/spool/squid 2000 25 300 # Ftp anonimo ftp_user anonymous@ipp.edu.pe ftp_passive on visible_hostname anubis # Etiquetas acl all src 0.0.0.0/0.0.0.0 acl manager proto cache_object acl localhost src 127.0.0.1/255.255.255.255 acl red-navegacion src 192.168.1.0/255.255.255.0 acl red-navegacion2 src 192.168.2.0/255.255.255.0 acl indeseados url_regex "/etc/squid/paginasprohibidas" acl download urlpath_regex "/etc/squid/download" # Reglas de Filtrado # Negamos el acceso a paginas listadas en el archivo "/etc/squid/paginasprohibidas" http_access allow localhost manager http_access allow red-navegacion !indeseados !download http_access allow red-navegacion2 !indeseados !download http_access deny all