[Résolu] Postgrey ne démarre plus

Salut à tous.

Depuis, au plus le 28 mars (dernier mail reçu de l’extérieur), je ne peux plus recevoir de mail depuis un serveur distant en raison de la défaillance de postgrey.

Postgrey ne démarre pas, ce qui bloque de fait postfix qui signale qu’il ne peut pas communiquer sur le port 10023 avec postgrey.

Du côté de postgrey, aucun message d’erreur, et rien non plus dans les logs. Toutefois, un démarrage manuel donne quelques maigres infos.
sudo postgrey --inet=10023
donne ceci:

Resolved [localhost]:10023 to [::1]:10023, IPv6
Resolved [localhost]:10023 to [127.0.0.1]:10023, IPv4
Binding to TCP port 10023 on host ::1 with IPv6
Insecure dependency in socket while running with -T switch at /usr/lib/perl/5.14/IO/Socket.pm line 80.```

Mais ```sudo netstat -pln | grep postgrey``` n'indique aucune écoute de postgrey.

En revanche,
```sudo postgrey --inet=127.0.0.1:10023```
donne ceci:
```postgrey (type Net::Server::Multiplex) starting! pid(4663)
Binding to TCP port 10023 on host 127.0.0.1 with IPv4
Setting gid to "117 117"
Setting uid to "113"```

Et ```sudo netstat -pln | grep postgrey``` donne bien une écoute sur le port 10023
```tcp        0      0 127.0.0.1:10023         0.0.0.0:*               LISTEN      4663/postgrey --ine```

Le problème semble donc venir de l'IPv6, mais en modifiant ```/etc/default/postgrey``` comme suit
```POSTGREY_OPTS="--inet=127.0.0.1:10023 --delay=30"```
Le service ne démarre toujours pas...

J'ai comparé avec une machine virtuelle où le service fonctionne normalement sans trouver de différence.

Suis-je le seul à rencontrer ce problème?

Peux-tu esayer de redémarrer Postgrey ?

service postgrey restart

Et au cas où ça ne fonctionne pas, pourrais-tu nous filer un df -h ?

Au pire, il y a des moyen de déplugger postgrey dans le /etc/postfix/master.cf (il me semble) en attendant.

Le redémarrage de postgrey fait bonne figure. Aucune erreur apparente et 2 OK
Mais /var/log/mail.log indique uniquement postgrey[10229]: Process Backgrounded

Sur un restart “normal”, le log indique:

postgrey[6627]: 2015/04/13-12:30:09 postgrey (type Net::Server::Multiplex) starting! pid(6627)
postgrey[6627]: Resolved [localhost]:10023 to [::1]:10023, IPv6
postgrey[6627]: Resolved [localhost]:10023 to [127.0.0.1]:10023, IPv4
postgrey[6627]: Binding to TCP port 10023 on host ::1 with IPv6```

Et le process n'est pas présent dans la liste avec ps -e.

Aucun problème d'espace disque (un logwatch hebdomadaire m'en informe)
```Sys. fich.                                             Taille Util. Dispo Uti% Monté sur
rootfs                                                    15G  2,9G   11G  21% /
udev                                                      10M     0   10M   0% /dev
tmpfs                                                    202M  332K  202M   1% /run
/dev/disk/by-uuid/36fe4119-0259-44c3-8dc8-88344f9c88f5    15G  2,9G   11G  21% /
tmpfs                                                    5,0M     0  5,0M   0% /run/lock
tmpfs                                                    603M     0  603M   0% /run/shm
/dev/sda3                                                264G   40G  211G  16% /media/sharshives
/dev/sdb1                                                2,7T  730G  1,9T  28% /media/data
/dev/sda4                                                 15G  3,3G   11G  24% /media/ubuntu_server
/dev/sdb1                                                2,7T  730G  1,9T  28% /home
/dev/sdb1                                                2,7T  730G  1,9T  28% /var/www```

Pour le moment, j'ai commenté les 2 lignes ```check_policy_service``` du fichier /etc/postfix/main.cf

J'ai vérifié également le contenu du script init, qui est tout à fait normal.

J’ai eu le même problème. IPv6 n’est pas activé sur ma debian et postgrey essaie de se binder sur l’adresse locale en ipv6. Il n’y arrive donc pas et ne se lance pas, sans indiquer aucun message.
En changeant les options de postgrey comme ça, ça marche :

POSTGREY_OPTS="--inet=DOMAIN.TLD:10023 --delay=30"

(en remplaçant DOMAIN.TLD par ton domaine bien sûr)

Je pense que ça doit marcher en ipv6 aussi avec cette config.

Ce n’est pas mieux hélas.

Resolved [crudelis.fr]:10023 to [192.168.1.150]:10023, IPv4
Binding to TCP port 10023 on host 192.168.1.150 with IPv4
Insecure dependency in bind while running with -T switch at /usr/lib/perl/5.14/IO/Socket.pm line 202.```

L'erreur vient après l'installation de carton pour perl (c'est le switch perl qui m'a fait tilter!). Mais pour le moment je n'en sais pas plus, et surtout je ne sais pas pourquoi...

Je ne sais pas si ça peut aider mais j’ai du également modifier la configuration de postfix en accord avec la conf. de postgrey : dans /etc/postfix/main.cf il faut remplacer

check_policy_service inet:127.0.0.1:10023

par

check_policy_service inet:DOMAIN.TLD:10023

L’erreur se situe avant postfix, puisque le service postgrey ne démarre pas.

Je pense que l’installation de carton modifie la version du fichier Socket.pm

Le problème de postgrey est corrigé en retirant -T dans la ligne #!/usr/bin/perl -T -w, au début du script /usr/sbin/postgrey