Pour du proxy transparent pour des machines différentes de la passerelle, la règle à utiliser s’occupe du NAT en PREROUTING :
iptables -t nat -A PREROUTING -p tcp --syn --dport pop3 -j REDIRECT --to-port 8110
Par contre, ça ne bloque pas les connexions depuis la passerelle (puisqu’elles ne passent pas par la chaîne PREROUTING). Ce qui est logique puisque p3scan va faire ces connexions vers les vrais serveurs : ce serait bête de le faire boucler sur lui-même.
Donc, pour filtrer les connexions depuis la passerelle, il faut différencier celles qui viennent de p3scan et les autres. Et on le fait sur la chaîne OUTPUT :
D’abord, autoriser p3scan à sortir (on vérifie le propriétaire du processus) :
iptables -t nat -A OUTPUT -p tcp --dport pop3 -m owner --uid-owner p3scan -j ACCEPT
puis rediriger les autres :
iptables -t nat -A OUTPUT -p tcp --dport pop3 -j REDIRECT --to-port 8110
Voilà. Avec ces trois règles, ça devrait fonctionner.
[^] # Re: en ayant lu
Posté par Sylvain Sauvage . En réponse au message p3scan : ce qu'il fait ou ne fait pas. Évalué à 2.
iptables -t nat -A PREROUTING -p tcp --syn --dport pop3 -j REDIRECT --to-port 8110
Par contre, ça ne bloque pas les connexions depuis la passerelle (puisqu’elles ne passent pas par la chaîne PREROUTING). Ce qui est logique puisque p3scan va faire ces connexions vers les vrais serveurs : ce serait bête de le faire boucler sur lui-même.
Donc, pour filtrer les connexions depuis la passerelle, il faut différencier celles qui viennent de p3scan et les autres. Et on le fait sur la chaîne OUTPUT :
D’abord, autoriser p3scan à sortir (on vérifie le propriétaire du processus) :
iptables -t nat -A OUTPUT -p tcp --dport pop3 -m owner --uid-owner p3scan -j ACCEPT
puis rediriger les autres :
iptables -t nat -A OUTPUT -p tcp --dport pop3 -j REDIRECT --to-port 8110
Voilà. Avec ces trois règles, ça devrait fonctionner.