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
¿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
tampoco funciono
Gracias por la ayuda pero ya utilize ese comando y tampoco me funciono talvez alguna otra cosa..?
ademas de habilitar el bit de forward
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
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
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
Para que eso funcione, tu
Para que eso funcione, tu centos tiene que estar como default gateway de tus estaciones de trabajo y debe funcionar la resolución de nombres en las mismas ...
bye
:)
Gracias por tu ayuda
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,
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
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