squid e iptables no funcionan

Imagen de kannabiskn

Forums: 

Hola amigos tengo un pequeño gran problema.. Instale centos 5 en mi server y configure squid 2.6 navega poniendo el proxy en el navegador, pero al momento que doy la regla
no navega sin especificar proxy en el navegador

/sbin/iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 80 -j REDIRECT --to-port 8080

tambien añadi en el squid

http_port 8080 transparent

tambien probe de la siguiente manera

http_port 192.168.1.1:8080 transparent

y hasta ahora no consigo que mi proxy se vuelva transparente.
Que podria ser?
Gracias por su ayuda

¿Está activo el

Imagen de acl

¿Está activo el forwarding? El archivo /proc/sys/net/ipv4/ip_forward debe contener 1. Si no, puedes darle un 'echo 1 > /proc/sys/net/ipv4/ip_forward' para activarlo.

Este cambio es volátil, o sea que se pierde al apagar la máquina. Debes insertar la línea


net.ipv4.ip_forward = 1

En /etc/sysctl.conf si quieres que se active el forwarding durante el proceso de arranque.

--
haber != a ver
ha != a

ademas de habilitar el bit de forward

Imagen de juandarcy2000

debes agregar una regla NAT iptables, sino no funciona. con solo agregar el bit forward no haces que linux se comporte como router sino que habilitas la tabla de nat para poder enmascarar todas las ip a travez del ip publico. pero necesitas una regla postrouting en iptables, usa la opcion buscar en ecualug hay bastante info al respecto.

con esta regla no estoy

Imagen de jaramillo.corp

con esta regla no estoy diciendo que enmascare la red para poder salir al internet..?

/sbin/iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 80 -j REDIRECT --to-port 8080

porque navegar en internet si puedo solo que poniendo proxy en el navegador (cosa que no quiero) ya lo he formateado dos veces y hasta ahora no he podido ponerle como proxy transparente

No, con esa estás

Imagen de acl

No, con esa estás reenrutando el tráfico que llega de tus clientes. Para el tráfico al puerto 80, la regla de NAT no aplicaría, pero para https sí lo necesitas. Necesitas algo en el POSTROUTING con -j MASQUERADE o -j SNAT --to-source w.x.y.z

Muéstranos una salida de iptables -nvL para tener una mejor idea de lo que tienes.

--
haber != a ver
ha != a

Gracias por tu ayuda

Imagen de jaramillo.corp

Gracias por tu ayuda deathUser pero si no estuviera como defaul gateway y con el mismo DNS no me navegaria ni poniendo proxy.. el problema es que quiero hacer que funcione como proxy transparente y no me funciona... he seguido mucho tutos en el Internet pero hasta ahora no me funciona niguno

Corrección: Haz la prueba,

Imagen de deathUser

Corrección:

Haz la prueba, quita el default gateway y el dns de tu "ESTACION DE TRABAJO" configura el proxy en el browser y vas a ver que navega, eso es porque el REQUEST le llega al proxy y es e proxy el encargado de hacer todo el trabajo, incluido la resolución de nombres.

Ahora, para que funcone el proxy transparente, es necesario que la MAQUINA CLIENTE pueda resolver nombres y solo cuando sale la solicitud (despues de descubrir el host al que le pertenece el nombre), esta es interceptada en el DEFAULT GATEWAY y redireccionada hacia el proxy el cual ejecuta el request y te retorna el contenido.

Es por eso que EL DEFAULT GATEWAY es el que tiene que hacer el trabajo de redirección del tráfico, ya que tienes que asegurarte que todas las peticiones al puerto 80 pasen por el, ahora que no necesariamente debe ser la misma máquina en la que corre el proxy ...

bye
:)

PD: Sería interesante que postees que es lo que hiciste, y que hagas pruebas básicas desde tus estaciones de trabajo, como por ejemplo un ping a google.com a ver si te resuelve nombres...

Deathuser tiene razón, la

Imagen de acl

Deathuser tiene razón, la máquina cliente tiene que poder hacer la resolución de nombres por su cuenta cuando tienes proxy transparente. Cuando tienes proxy explícito el cliente no hace una resolución, le pasa el fqdn al proxy y éste se encarga de la resolución.

Intenta hacer un nslookup en el cliente y ve si te funciona con y sin proxy

--
haber != a ver
ha != a

el mismo problema,

chichos segui los pasos y n consigo ahcelo bien, revice mis ACL estan bien para asegurarme puse el allow all y nada, solo funciona cuando declaro el proxy en el browser, esta es mi configuracion de iptables.

# Reglas de Limpieza
/sbin/iptables -F
/sbin/iptables -X
/sbin/iptables -Z
/sbin/iptables -t nat -F

# Politicas 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

# acceso localhost
/sbin/iptables -A INPUT -i lo -j ACCEPT

echo 1 > /proc/sys/net/ipv4/ip_forward

# Abrimos el puerto del servidor web
iptables -A INPUT -s 0/0 -i eth0 -p tcp --dport 80 -j ACCEPT
#iptables -A INPUT -s 0/0 -i eth0:0 -p tcp --dport 80 -j ACCEPT ****modificado iptables no soporta sub interfaces
iptables -A INPUT -s 0/0 -i 192.168.0.1 -p tcp --dport 80 -j ACCEPT

# Abrimos el puerto del servidor DNS
iptables -A INPUT -s 0/0 -p tcp --dport 53 -j ACCEPT
iptables -A INPUT -s 0/0 -p tcp --sport 53 -j ACCEPT
iptables -A INPUT -s 0/0 -p udp --dport 53 -j ACCEPT
iptables -A INPUT -s 0/0 -p udp --sport 53 -j ACCEPT

# Reglas Redirecionamiento del SQUID
/sbin/iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 80 -j REDIRECT --to-port 3128
/sbin/iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 8080 -j REDIRECT --to-port 3128
#/sbin/iptables -t nat -A PREROUTING -i eth0:0 -p tcp --dport 80 -j REDIRECT --to-port 3128
#/sbin/iptables -t nat -A PREROUTING -i eth0:0 -p tcp --dport 8080 -j REDIRECT --to-port 3128*******************
/sbin/iptables -t nat -A PREROUTING -i 192.168.0.1 -p tcp --dport 80 -j REDIRECT --to-port 3128
/sbin/iptables -t nat -A PREROUTING -i 192.168.0.1 -p tcp --dport 8080 -j REDIRECT --to-port 3128

#/sbin/iptables -t nat -A POSTROUTING -o eth1 -p udp --dport 53 -j MASQUERADE
#/sbin/iptables -t nat -A POSTROUTING -o eth1 -p icmp -j MASQUERADE
/sbin/iptables -t nat -A POSTROUTING -o eth2 -p udp --dport 53 -j MASQUERADE
/sbin/iptables -t nat -A POSTROUTING -o eth2 -p icmp -j MASQUERADE

# Ahora hacemos enmascaramiento de la red local
iptables -t nat -A POSTROUTING -s 172.16.0.0/16 -o eth1 -j MASQUERADE
iptables -t nat -A POSTROUTING -s 192.168.0.0/24 -o eth1 -j MASQUERADE
iptables -t nat -A POSTROUTING -s 172.16.0.0/16 -o eth2 -j MASQUERADE
iptables -t nat -A POSTROUTING -s 192.168.0.0/24 -o eth2 -j MASQUERADE

# Acceso a POP3 y SMTP
#/sbin/iptables -t nat -A POSTROUTING -o eth1 -p tcp --dport 110 -j MASQUERADE
#/sbin/iptables -t nat -A POSTROUTING -o eth1 -p tcp --dport 25 -j MASQUERADE

pudo salir por el eth1 o el eth2 pero salgo solo por el 2,(cuando esto funcione hare un balance de carga, por q en cada interface tengo un proveedor diferente) please help, por q ya me trankie... plop !!

Páginas