[Résolu]Pb pop avec serveur debian

Bonjour,

je me permets de revenir vers vous puisque vous avez toujours su répondre à mes questions sur linux ! :wink:

j’ai un serveur de mail qmail sous debian.
Mes postes clients sont sous XP en DHCP et le domaine sous 2003 avec AD.
Tous les postes clients ont exactement la même conf réseau puisque c’est le serveur DHCP qui l’attribut !
cependant certains PC ( 1 sur 2 environ ) ont des soucis pour récupérer leurs mail avec OE. Ils restent bloquer 30 à 45sec sur l’authentification, ensuite les mails arrivent bien…
j’ai testé un telnet sur mon serveur de mail sur le port 110 et j’ai le même soucis… la bannière arrive après 30 à 45sec, donc mon pb ne vient pas d’OE mais du pop puisqu’avec le port 25 ça marche nikel !

j’ai lancé une trace avec ethereal (en faisant tourner OE ou telnet), j’ai cette ligne qui apparait 3 fois mais qui tombe en time out à chaque fois :
33020 > ident [SYN] Seq=0 Win=5840 Len=0 MSS=1460 TSV=175945328 TSER=0 WS=0

une fois que les 3 lignes sont en timeout, ca continu bien !
sur les PC qui fonctionnent bien j’ai un acquittement immédiat (ident > 33020 [RST, ACK] Seq=1 Ack=1 Win=0 Len=0) donc pas d’attente !

Qu’en pensez-vous ?
merci d’avance
Cédric

J’en pense que qmail fait des requêtes ident (port TCP 113, auth) vers ses clients, et lorsqu’un client a un pare-feu barbare qui bloque silencieusement les connexions entrantes au lieu de les rejeter de façon civilisée avec un beau TCP RST ou à la rigueur un ICMP “port unreachable”, qmail doit attendre le time-out de ses requêtes avant de commencer la session.

Pour info, ident est un protocole qui permet à un serveur d’interroger une machine cliente pour connaître le nom de l’utilisateur qui se connecte. Pour cela il faut qu’un démon ident tourne sur la machine cliente. Les serveurs IRC utilisent beaucoup ça, alors que ça n’a pas vraiment d’intérêt en-dehors du domaine contrôlé par une même entité (je peux créer n’importe quel nom d’utilisateur sur ma machine indépendamment de l’administrateur du serveur IRC).

Solutions :

  • modifier le comportement du pare-feu des clients vis-à-vis des connexions TCP entrantes sur le port 113 ;
  • configurer qmail pour ne plus faire de requête ident si possible. De toute façon je ne vois pas trop l’intérêt d’ident avec un serveur POP3 puisqu’il y a une authentification ;
  • bloquer les requêtes ident en sortie du serveur avec une règle iptables

[quote=“PascalHambourg”]

je viens de faire cette manip et maintenant j’ai le soucis sur tous les PC !!
ceux qui marchaient ne marchent plus !

comment je peux revenir en arrière ? :question:

merki ! :smiley:

sinon le firewall est désactivé sur tous les PC clients… normalement… je vais revérifier !

Pour supprimer la règle iptables, remplace -A par -D. Mais je suis surpris, le DROP devrait indiquer à qmail que la connexion est refusée, lui évitant d’attendre une réponse qui pourrait ne pas venir. Que donne la règle suivante à la place ?

Il y a forcément un firewall sur les PC affectés ou entre eux et le serveur, car sinon ils répondraient avec un TCP RST qui signifie “port fermé” comme tu as pu le voir dans la capture de paquets pour les PC non affectés.

[quote=“PascalHambourg”]Pour supprimer la règle iptables, remplace -A par -D. Mais je suis surpris, le DROP devrait indiquer à qmail que la connexion est refusée, lui évitant d’attendre une réponse qui pourrait ne pas venir. Que donne la règle suivante à la place ?

Il y a forcément un firewall sur les PC affectés ou entre eux et le serveur, car sinon ils répondraient avec un TCP RST qui signifie “port fermé” comme tu as pu le voir dans la capture de paquets pour les PC non affectés.[/quote]

j’ai testé ta commande est ça marche maintenant !
concrètement elle signifie quoi cette commande ?

merci t’es un chef ! :wink:

Vérification faite, effectivement avec DROP le processus local ne se rend pas forcément compte que l’émission du paquet est refusée et attend le time-out. Je le saurai pour la prochaine fois.

La nouvelle règle signifie que les paquets émis par un processus local de la machine, qui passent donc dans la chaîne OUTPUT, et destinés au port TCP 113, doivent être rejetés, c’est-à-dire supprimés avec envoi à l’expéditeur d’un paquet TCP RST pour simuler la réponse d’un port TCP fermé du destinataire. Ainsi le processus émetteur est averti immédiatement que la connexion est refusée.

A noter que cette règle iptables s’applique à tous les processus de la machine qui voudraient émettre des requêtes ident, et pas seulement à qmail.

[quote=“PascalHambourg”]Vérification faite, effectivement avec DROP les applications ne se rendent pas forcément compte que l’émission du paquet est refusée et attendent le time-out. Je le saurai pour la prochaine fois.

La nouvelle règle signifie que les paquets émis par un processus local de la machine, qui passent donc dans la chaîne OUTPUT, destinés au port TCP 113, doivent être rejetés, c’est-à-dire supprimés avec envoi à l’expéditeur d’un paquet TCP RST pour simuler la réponse d’un port TCP fermé du destinataire. Ainsi le processus émetteur est averti immédiatement que la connexion est refusée.

A noter que cette règle iptables s’applique à tous les processus de la machine qui voudraient émettre des requêtes ident, et pas seulement à qmail.[/quote]

en tout cas merci beaucoup, tu m’as sorti une épine du pied ! :wink: