El servidor proxy Squid (o iptables) no permitirá que mis usuarios envíen ni reciban correo

El servidor proxy Squid (o iptables) no permitirá que mis usuarios envíen ni reciban correo

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:

  1. permitir protocolos web (http/ftp) solo a través de squid
  2. permita el acceso a smpt/pop3 desde su red interna hacia el exterior vía NAT.
  3. 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.

información relacionada