Buenos días a todos los usuarios.
Estoy intentando configurar un proxy que actúe de
forma transparente para dar acceso a internet a los usuarios de una red local.
Lo primero que hice fue instalar y configurar el squid para que funcione el
proxy. Una vez hecho eso, sin ninguna regla en iptables, configuro un navegador
de la red interna indicando como proxy el 192.168.36.254, que es la máquina que
tiene el squid, y el puerto 3128. El cliente puede navegar perfectamente así.
Cuando hago la parte de las reglas de iptables para
que funcione como proxy transparente, sin tener que ir cliente a cliente
configurandolos, es cuando deja de funcionar dando un mensaje de: conection time
out, y no entiendo por qué lo hace.
Aquí tienen la configuración para proxy
transparente en el squid.conf:
--------------------
http_port 192.168.36.254:3128
httpd_accel_host virtual
httpd_accel_port 80 httpd_accel_single_host off httpd_accel_with_proxy on httpd_accel_uses_host_header on acl mired src
192.168.36.0/255.255.255.0
http_access allow mired ------------------- Aquí mis reglas para iptables, eth0 es la tarjeta a la red local
(192.168.36.254) y eth1 es la tarjeta al router de internet (172.16.1.1):
------------------------
#!/bin/sh
# Borrar las reglas anteriores iptables -F iptables -t nat -F iptables -X iptables -Z # Deshabilitar ping para la red externa.
iptables -A INPUT -i eth1 -p icmp --icmp-type 8 -j DROP iptables -A FORWARD -i eth1 -p icmp --icmp-type 8 -j DROP # Detener las conexiones entrantes desde la interfaz eth1 (exterior) menos
ssh
iptables -A INPUT -p tcp -i eth1 --dport 22 -j ACCEPT iptables -A INPUT -p all -i eth1 -j DROP # Aceptamos que consulten los DNS
iptables -A FORWARD -s 192.168.36.0/24 -i eth0 -p tcp --dport 53 -j ACCEPT iptables -A FORWARD -s 192.168.36.0/24 -i eth0 -p udp --dport 53 -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 # Emascaramiento del trafico saliente
iptables -t nat -A POSTROUTING -o eth1 -s 192.168.0.0/255.255.0.0 -j MASQUERADE # Redireccionamiento de servicios ordinarios
# FTP-data iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 20 -j REDIRECT --to-port 3128 # FTP iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 21 -j REDIRECT --to-port 3128 # GOPHER iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 70 -j REDIRECT --to-port 3128 # HTTP iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 80 -j REDIRECT --to-port 3128 # WAIS iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 210 -j REDIRECT --to-port 3128 # HTTPS iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 443 -j REDIRECT --to-port 3128 ----------------------------
Por cierto, otra pregunta, ¿con estas reglas de iptables tengo cerrados
todos los puertos que no están ahí o tengo que especificar alguna regla para
cerrar el resto de los puertos que no quiero usar? Me explico, quiero dejar
abiertos sólo los puertos 22,53,20,21,70,80,210,443; pero no quiero que se pueda
utilizar por ejemplo el telnet (puerto 23), sin embargo, con estas reglas hago
un telnet al router (que está fuera del firewall) desde la red interna y no
tengo ningún problema para acceder a él.
|
- Problemas con un proxy transparente squid con ipt... Fernando García Cabrera
- Re: Problemas con un proxy transparente squi... Angel Claudio Alvarez
- RE: Problemas con un proxy transparente squi... Arrizabalaga, Saioa
- RE: Problemas con un proxy transparente squi... Fernando García Cabrera
- RE: Problemas con un proxy transparente squi... Fernando García Cabrera