Tengo una caja Ubuntu 10.04 que alguna vez estuvo configurada como Squid Transparent Proxy. La navegación fue perfecta: mis clientes de Windows no tuvieron problemas.
El problema que tuve fue que los usuarios no podían enviar ni recibir correo usando Outlook (y Outlook Express). Así que busqué en Google aquí y allá y encontré una solución:
sudo iptables -t nat -A POSTROUTING -p TCP --dport 25 -j MASQUERADE
sudo iptables -t nat -A POSTROUTING -p TCP --dport 110 -j MASQUERADE
Todo salió genial.
Ahora habilité la autenticación Squid (la simple que usa un archivo de texto) y Outlook y Outlook Express dejaron de funcionar nuevamente. He leído que el problema no está realmente relacionado con Squid porque no funciona como proxy smtp o pop... Pero todavía necesito resolverlo. ¿NAT? ¿Reenvío de puertos?
¿Qué tipo de comandos debo usar?
El servidor squid tiene una única NIC y puede conectarse a internet y resolver nombres usando servidores opendns sin problemas.
configuración en el servidor: ip 192.168.1.210 subred 255.255.255.0 puerta 192.168.1.5
En clientes uso: ip 192.168.1.x subred 255.255.255.0 puerta 192.168.1.210
Puedo agregar más detalles, así que pregunte, pero no sé qué podría ser necesario para resolver el problema.
EDITAR:
sudo iptables-L
Chain INPUT (policy ACCEPT)
target prot opt source destination
fail2ban-ssh tcp -- anywhere anywhere multiport dports ssh
Chain FORWARD (policy ACCEPT)
target prot opt source destination
Chain OUTPUT (policy ACCEPT)
target prot opt source destination
Chain fail2ban-ssh (1 references)
target prot opt source destination
RETURN all -- anywhere anywhere
sudo iptables -L -t nat
Chain PREROUTING (policy ACCEPT)
target prot opt source destination
REDIRECT tcp -- anywhere anywhere tcp dpt:www redir ports 3128
Chain POSTROUTING (policy ACCEPT)
target prot opt source destination
MASQUERADE tcp -- anywhere anywhere tcp dpt:smtp
MASQUERADE tcp -- anywhere anywhere tcp dpt:pop3
Chain OUTPUT (policy ACCEPT)
target prot opt source destination
Respuesta1
No estoy seguro de qué vas a lograr exactamente. Hasta donde tengo entendido, vas a utilizar la máquina con Squid como enrutador/firewall para el siguiente escenario:
- permitir protocolos web (http/ftp) solo a través de squid
- permita el acceso a smpt/pop3 desde su red interna hacia el exterior vía NAT.
- Su puerta de entrada a Internet es 192.168.1.5
Normalmente, NAT se traduce de una red (192.168.1.0/24) a otra (es decir, 84.145.77.23/32) y viceversa. Por lo tanto, es posible que necesites configurar reglas NAT en la máquina de tu puerta de enlace 192.168.1.5 para poder funcionar.
De modo que el camino de salida sea:
client -> 192.168.1.210 ->NAT-> 192.168.1.5 ->NAT-> mailserver
Y la ruta entrante para las respuestas es:
mailserver -> 192.168.1.5 ->NAT-> 192.168.1.210 ->NAT-> client
Como se ve aquí, se podría eliminar 192.168.1.210 y la puerta de enlace podría configurarse aceptando y realizando NAT tráfico smtp/pop3 saliente de todos los clientes y aceptando tráfico http(s)/ftp saliente desde 192.168.1.210 únicamente.
En mi humilde opinión, la segunda NAT entre 192.168.1.210 y 192.168.1.5 podría causar problemas (misma red) y es innecesaria.
Para habilitar NAT en general en 192.168.1.210, intente primero lo siguiente:
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
cambie eth0 por el nombre de su interfaz de red, si es necesario.