Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

[Probablement iptables] Probleme de relais smtp

3 réponses
Avatar
newbeewan
Bonjour,

J'ai un souci curieux et handicapant pour mon serveur de mail.

La machine qui me sert de relai smtp est également la passerelle de mon
réseau...

Pour pouvoir filtrer ce qui sort de mon réseau, toute les requete
interne sont redirigée vers le smtp de cette machine avec une regle
iptables :
$IPTABLES -t nat -A PREROUTING -i $INTIF -p tcp -m tcp --dport 25 -j
DNAT --to adresse_de_mon_serveur:25

Jusque là tout allait bien (depuis 2 ans)...

J'ai changé de routeur adsl, migré de etch vers lenny et rien de va plus !

En fait c'est la rêgle de routage qui pose problème, mais c'est mon
localhost qui ne parvient plus à se connecter à des serveurs smtp !
Dès que j'essaye de faire un telnet smpt.free.fr 25 j'obtiens :
$ telnet smtp.free.fr 25
Trying 213.228.63.58...
telnet: Unable to connect to remote host: Connection refused

Alors que si je le fai d'une autre machine du réseau (j'ai désactivé ma
règle de routage avant !) ça marche correctement, j'ai le Helo du
serveur SMTP...

Donc je pense que c'est un problème iptables qui bloque mes demande du
localhost :(
J'ai les règles suivantes pour le localhost qui me semblaient suffisante :
$IPTABLES -A INPUT -i lo -j ACCEPT
$IPTABLES -A OUTPUT -o lo -j ACCEPT
$IPTABLES -A FORWARD -i lo -j ACCEPT
$IPTABLES -A FORWARD -o lo -j ACCEPT
#interface interne
$IPTABLES -A INPUT -i $INTIF -j ACCEPT
$IPTABLES -A OUTPUT -o $INTIF -j ACCEPT
$IPTABLES -A FORWARD -i $INTIF -j ACCEPT
$IPTABLES -A FORWARD -o $INTIF -j ACCEPT


Mais visiblement y'a un truc qui ne va pas :(

Est-ce que quelqu'un aurait une idée, j'ai une règle de log, mais je ne
vois rien apparaître de ce refus de connection !

Merci

Mourad


--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.org/fr/FrenchLists Vous pouvez aussi ajouter le mot
``spam'' dans vos champs "From" et "Reply-To:"

Pour vous DESABONNER, envoyez un message avec comme objet "unsubscribe"
vers debian-user-french-REQUEST@lists.debian.org
En cas de soucis, contactez EN ANGLAIS listmaster@lists.debian.org

3 réponses

Avatar
Pascal Hambourg
Salut,

newbeewan a écrit :

La machine qui me sert de relai smtp est également la passerelle de mon
réseau...



Situation courante.

Pour pouvoir filtrer ce qui sort de mon réseau, toute les requete
interne sont redirigée vers le smtp de cette machine avec une regle
iptables :
$IPTABLES -t nat -A PREROUTING -i $INTIF -p tcp -m tcp --dport 25 -j
DNAT --to adresse_de_mon_serveur:25



Inutile de répéter le port s'il ne change pas.

En fait c'est la rêgle de routage qui pose problème, mais c'est mon
localhost qui ne parvient plus à se connecter à des serveurs smtp !



Pas clair. Aucune chance qu'une règle dans nat/PREROUTING interfère avec
les connexions sortantes de la machine, dont les paquets ne traversent
pas cette chaîne.

Dès que j'essaye de faire un telnet smpt.free.fr 25 j'obtiens :
$ telnet smtp.free.fr 25
Trying 213.228.63.58...
telnet: Unable to connect to remote host: Connection refused



Ça sent le filtrage en sortie.

Alors que si je le fai d'une autre machine du réseau (j'ai désactivé ma
règle de routage avant !) ça marche correctement, j'ai le Helo du
serveur SMTP...



Les paquets locaux et routés ne traversent pas les mêmes chaînes de
filtrage : FORWARD pour les paquets routés, INPUT et OUTPUT pour les
paquets locaux.

Donc je pense que c'est un problème iptables qui bloque mes demande du
localhost :(



Probable. Vérifie la chaîne filter/OUTPUT.

J'ai les règles suivantes pour le localhost qui me semblaient suffisante :
$IPTABLES -A INPUT -i lo -j ACCEPT
$IPTABLES -A OUTPUT -o lo -j ACCEPT
$IPTABLES -A FORWARD -i lo -j ACCEPT
$IPTABLES -A FORWARD -o lo -j ACCEPT



Ces règles ne concernent que l'interface de loopback par laquelle
transitent seulement les communications de la machine vers elle-même,
pas les communications avec l'extérieur.

#interface interne
$IPTABLES -A INPUT -i $INTIF -j ACCEPT
$IPTABLES -A OUTPUT -o $INTIF -j ACCEPT



Ces règles ne concernent que les communications avec le réseau local.

$IPTABLES -A FORWARD -i $INTIF -j ACCEPT
$IPTABLES -A FORWARD -o $INTIF -j ACCEPT



Ces règles ne concernent que les communications qui traversent la
machine, et non celles dont elle est la source ou la destination.

Y a-t-il des règles dans INPUT et OUTPUT qui concernent l'interface
externe ? La sortie de la commande iptables-save serait l'idéal, si pas
trop longue.

--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.org/fr/FrenchLists Vous pouvez aussi ajouter le mot
``spam'' dans vos champs "From" et "Reply-To:"

Pour vous DESABONNER, envoyez un message avec comme objet "unsubscribe"
vers
En cas de soucis, contactez EN ANGLAIS
Avatar
Pascal Hambourg
Quelques observations sans lien avec le problème.

newbeewan a écrit :

$IPTABLES -A FORWARD -i lo -j ACCEPT
$IPTABLES -A FORWARD -o lo -j ACCEPT



Ces règles sont parfaitement inutiles dans la mesure où elles ne verront
jamais passer le moindre paquet.

$IPTABLES -A FORWARD -o $INTIF -j ACCEPT



Cette règle est potentiellement un trou béant dans la mesure où elle
accepte tout paquet destiné au réseau local provenant de n'importe où.

--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.org/fr/FrenchLists Vous pouvez aussi ajouter le mot
``spam'' dans vos champs "From" et "Reply-To:"

Pour vous DESABONNER, envoyez un message avec comme objet "unsubscribe"
vers
En cas de soucis, contactez EN ANGLAIS
Avatar
newbeewan
Le 25/04/2009 13:37, Pascal Hambourg a écrit :
Quelques observations sans lien avec le problème.

newbeewan a écrit :

$IPTABLES -A FORWARD -i lo -j ACCEPT
$IPTABLES -A FORWARD -o lo -j ACCEPT



Ces règles sont parfaitement inutiles dans la mesure où elles ne
verront jamais passer le moindre paquet.

$IPTABLES -A FORWARD -o $INTIF -j ACCEPT



Cette règle est potentiellement un trou béant dans la mesure où elle
accepte tout paquet destiné au réseau local provenant de n'importe où.



Merci pour tes réponses qui m'ont permis de corriger un trou potentiel.

En fait ça n'avait rien a voir avec le routage, c'était un problème de dns !

Mes machine du réseau utilise un cache DNS qui ne pouvait plus se
synchronisé mais qui existait, donc ça faisait semblant de bien marcher,
ma passerelle utilise directement le dns du FAI qui était mal configuré
d'où les problèmes de connexion...

J'ai remis les bons DNS et tout est rentré dans l'ordre !

ça corrige également le pb de mon 2éme post (qui était loqué depuis hier
dans mon SMTP !) puisque la gestion de black list est basées sur la
résolution DNS -> pas de résolution -> rejet de tous les courriers !

Encore merci

@ +

Mourad

--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.org/fr/FrenchLists Vous pouvez aussi ajouter le mot
``spam'' dans vos champs "From" et "Reply-To:"

Pour vous DESABONNER, envoyez un message avec comme objet "unsubscribe"
vers
En cas de soucis, contactez EN ANGLAIS