web-dev-qa-db-fra.com

Le serveur proxy Squid (ou iptables) ne permettra pas à mes utilisateurs d'envoyer ou de recevoir du courrier

J'ai une boîte Ubuntu 10.04 qui a déjà été configurée en tant que proxy transparent Squid. La navigation était parfaite: mes clients Windows n'avaient aucun problème.

Le problème que j'avais était que les utilisateurs n'étaient pas en mesure d'envoyer ou de recevoir du courrier à l'aide d'Outlook (et Outlook express). J'ai donc googlé ici et là et trouvé une solution:

Sudo iptables -t nat -A POSTROUTING -p TCP --dport 25 -j MASQUERADE

Sudo iptables -t nat -A POSTROUTING -p TCP --dport 110 -j MASQUERADE

Tout s'est bien passé.

Maintenant, j'ai activé l'authentification Squid (la plus simple à l'aide d'un fichier texte) et mon Outlook et Outlook Express ont cessé de fonctionner à nouveau. J'ai lu que le problème n'est pas vraiment lié au calmar car il ne sera pas un proxy smtp ou pop ... Mais j'ai encore besoin de le résoudre. NAT? Transfert de port?

Quel type de commandes dois-je utiliser?

Le serveur Squid a un seul NIC et peut obtenir sur Internet et résoudre des noms en utilisant des serveurs ouverts sans problèmes.

configuration sur le serveur: ip 192.168.1.21 sous-réseau 255.255.255. passerelle 192.168.1.5

Sur les clients que j'utilise: ip 192.168.1.x sous-réseau 255.255.255. passerelle 192.168.1.21

Je peux ajouter plus de détails, veuillez demander, mais je ne sais pas ce qui pourrait être nécessaire pour résoudre le problème.

ÉDITER:

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

1
Pitto

Je ne sais pas exactement ce que vous allez réaliser. Autant que je sache, vous allez utiliser la machine avec squid comme routeur/pare-feu pour le scénario suivant:

  1. autoriser les protocoles Web (http/ftp) via squid uniquement
  2. autorisez l'accès à smpt/pop3 depuis votre réseau interne vers l'extérieur via NAT.
  3. Votre passerelle vers Internet est 192.168.1.5

Habituellement NAT traduit d'un réseau (192.168.1.0/24) à un autre (ie 84.145.77.23/32) et vice versa. Il vous faudra donc peut-être configurer NAT règle sur votre machine passerelle 192.168.1.5 pour fonctionner.

Pour que le chemin sortant soit:

client -> 192.168.1.210 ->NAT-> 192.168.1.5 ->NAT-> mailserver

Et le chemin entrant pour les réponses est:

mailserver -> 192.168.1.5 ->NAT-> 192.168.1.210 ->NAT-> client

Comme vu ici, 192.168.1.210 pourrait être éliminé et la passerelle pourrait être configurée en acceptant et en NATant le trafic smtp/pop3 sortant de tous les clients et en acceptant le trafic http (s)/ftp sortant de 192.168.1.210 uniquement.

À mon humble avis, le second NAT entre 192.168.1.210 et 192.168.1.5 peut provoquer des problèmes (même réseau) et n'est pas nécessaire.

Pour activer NAT en général sur 192.168.1.210, veuillez d'abord essayer ce qui suit:

iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE

remplacez eth0 par le nom de votre interface réseau, si nécessaire.

1
Axel