[postfix] connexion à telnet port 25 refusée (résolu)

Applications, problèmes de configuration réseau
AureoleMoka
Hankyu
Messages : 15
Inscription : sam. 11 août 2012, 19:33

[postfix] connexion à telnet port 25 refusée (résolu)

Message par AureoleMoka »

Salut à tous, je viens de finir l'installation d'un serveur mail sur mon dédié, grâce à ce wiki: https://wiki.archlinux.org/index.php/Si ... ail_System. Pas de gros problème durant l'installation, j'arrive à envoyer des mails vers un autre serveur.
Il m'est en revanche impossible de recevoir mes mails, à cause (d'après moi) du port 25.

Code : Tout sélectionner

user root on hostname ~ # telnet localhost 25
Trying 127.0.0.1...
telnet: Unable to connect to remote host: Connection refused

user root on hostname ~ # telnet domain.tld 25
Trying 91.121.192.127...
telnet: Unable to connect to remote host: Connection refused
Je n'ai aucun firewall d'activé. Voici ma configuration de postfix:

Code : Tout sélectionner

user root on hostname ~ # postconf -n
alias_database = $alias_maps
alias_maps = hash:/etc/postfix/aliases
broken_sasl_auth_clients = yes
command_directory = /usr/sbin
config_directory = /etc/postfix
daemon_directory = /usr/lib/postfix
data_directory = /var/lib/postfix
debug_peer_level = 2
debugger_command = PATH=/bin:/usr/bin:/usr/local/bin:/usr/X11R6/bin ddd $daemon_directory/$process_name $process_id & sleep 5
html_directory = no
inet_interfaces = all
inet_protocols = ipv4
local_recipient_maps = $virtual_mailbox_maps
local_transport = virtual
mail_owner = postfix
mailq_path = /usr/bin/mailq
manpage_directory = /usr/share/man
mydestination = localhost
mydomain = domain.tld
myhostname = mail.domain.tld
newaliases_path = /usr/bin/newaliases
queue_directory = /var/spool/postfix
readme_directory = /usr/share/doc/postfix
relay_domains = *
sample_directory = /etc/postfix/sample
sendmail_path = /usr/sbin/sendmail
setgid_group = postdrop
smtpd_recipient_restrictions = permit_mynetworks, permit_sasl_authenticated, reject_unauth_destination
smtpd_sasl_auth_enable = yes
smtpd_sasl_local_domain = domain.tld
smtpd_sasl_path = /var/run/dovecot/auth-client
smtpd_sasl_security_options = noanonymous
smtpd_sasl_tls_security_options = $smtpd_sasl_security_options
smtpd_sasl_type = dovecot
smtpd_tls_auth_only = no
smtpd_tls_cert_file = /etc/ssl/private/server.crt
smtpd_tls_key_file = /etc/ssl/private/server.key
smtpd_tls_loglevel = 1
smtpd_use_tls = yes
transport_maps = hash:/etc/postfix/transport
unknown_local_recipient_reject_code = 550
virtual_alias_maps = proxy:mysql:/etc/postfix/virtual_alias_maps.cf
virtual_gid_maps = static:5000
virtual_mailbox_base = /home/vmail
virtual_mailbox_domains = proxy:mysql:/etc/postfix/virtual_domains_maps.cf
virtual_mailbox_limit = 512000000
virtual_mailbox_maps = proxy:mysql:/etc/postfix/virtual_mailbox_maps.cf
virtual_minimum_uid = 5000
virtual_transport = virtual
virtual_uid_maps = static:5000
Je gère ma zone dns via le manager ovh. La voici:

Code : Tout sélectionner

.domain.tld	NS 	ns103.ovh.net
.domain.tld	NS 	dns103.ovh.net
.domail.tld	MX 10 	mail.domain.tld
.domain.tld	A 	91.121.192.127
www.domain.tld	A 	91.121.192.127
mail.domai.tld	A 	91.121.192.127
Je voudrais savoir pourquoi il m'est impossible de telnet le port 25. Merci pour vos réponses, si les informations que j'ai fourni ne sont pas suffisantes, demandez.
Dernière modification par AureoleMoka le jeu. 10 janv. 2013, 20:28, modifié 1 fois.
Avatar de l’utilisateur
benjarobin
Maître du Kyudo
Messages : 17225
Inscription : sam. 30 mai 2009, 15:48
Localisation : Lyon

Re: [postfix] connexion à telnet port 25 refusée

Message par benjarobin »

Question bête mais as tu activé le service et l'as tu lancé ?

Code : Tout sélectionner

systemctl enable postfix
systemctl start postfix
Zsh | KDE | PC fixe : core i7, carte nvidia
Titre d'un sujet : [Thème] Sujet (état) / Règles du forum
AureoleMoka
Hankyu
Messages : 15
Inscription : sam. 11 août 2012, 19:33

Re: [postfix] connexion à telnet port 25 refusée

Message par AureoleMoka »

Oui, je n'ai par contre pas encore upgrade mon serveur vers systemd, je le lance donc avec rc.d start postfix.
Avatar de l’utilisateur
benjarobin
Maître du Kyudo
Messages : 17225
Inscription : sam. 30 mai 2009, 15:48
Localisation : Lyon

Re: [postfix] connexion à telnet port 25 refusée

Message par benjarobin »

Quelle est la configuration de dovecot, vue que tu l'utilises, est-il lancé, les logs de celui-ci...
Zsh | KDE | PC fixe : core i7, carte nvidia
Titre d'un sujet : [Thème] Sujet (état) / Règles du forum
AureoleMoka
Hankyu
Messages : 15
Inscription : sam. 11 août 2012, 19:33

Re: [postfix] connexion à telnet port 25 refusée

Message par AureoleMoka »

Ma configuration de dovecot est similaire à celle donnée sur le wiki. Je la paste quand même:

/etc/dovecot/dovecot.conf:

Code : Tout sélectionner

protocols = imap pop3
auth_mechanisms = plain
passdb {
    driver = sql
    args = /etc/dovecot/dovecot-sql.conf
}
userdb sql {
    driver = sql
    args = /etc/dovecot/dovecot-sql.conf
}

service auth {
    unix_listener auth-client {
        group = postfix
        mode = 0660
        user = postfix
    }
    user = root
}

mail_home = /home/vmail/%d/%u
mail_location = maildir:~

ssl = yes
ssl_cert = </etc/ssl/private/server.crt
ssl_key = </etc/ssl/private/server.key

log_path = /var/log/dovecot.log
info_log_path = /var/log/dovecot_info.log
/etc/dovecot/dovecot-sql.conf:

Code : Tout sélectionner

driver = mysql
connect = host=localhost dbname=postfix_db user=postfix_user password=****
# The new name for MD5 is MD5-CRYPT so you might need to change this depending on version
default_pass_scheme = MD5-CRYPT
# Get the mailbox
user_query = SELECT '/home/vmail/%d/%u' as home, 'maildir:/home/vmail/%d/%u' as mail, 5000 AS uid, 5000 AS gid, concat('dirsize:storage=',  quota) AS quota FROM mailbox WHERE username = '%u' AND active = '1'
# Get the password
password_query = SELECT username as user, password, '/home/vmail/%d/%u' as userdb_home, 'maildir:/home/vmail/%d/%u' as userdb_mail, 5000 as  userdb_uid, 5000 as userdb_gid FROM mailbox WHERE username = '%u' AND active = '1'
# If using client certificates for authentication, comment the above and uncomment the following
#password_query = SELECT null AS password, ‘%u’ AS user
rien à signaler dans les logs de dovecot.

EDIT: Je viens de remarquer que postfix n'est pas présent dans l'output de netstat. Une idée de pourquoi ?

Code : Tout sélectionner

user root on e-mkw ~ # netstat -putnl
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name
tcp        0      0 0.0.0.0:110             0.0.0.0:*               LISTEN      3661/dovecot
tcp        0      0 0.0.0.0:143             0.0.0.0:*               LISTEN      3661/dovecot
tcp        0      0 127.0.0.1:465           0.0.0.0:*               LISTEN      4893/master
tcp        0      0 127.0.0.1:53            0.0.0.0:*               LISTEN      2971/named
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      2791/sshd
tcp        0      0 0.0.0.0:993             0.0.0.0:*               LISTEN      3661/dovecot
tcp        0      0 0.0.0.0:995             0.0.0.0:*               LISTEN      3661/dovecot
tcp6       0      0 :::110                  :::*                    LISTEN      3661/dovecot
tcp6       0      0 :::143                  :::*                    LISTEN      3661/dovecot
tcp6       0      0 :::80                   :::*                    LISTEN      3537/httpd
tcp6       0      0 ::1:53                  :::*                    LISTEN      2971/named
tcp6       0      0 :::22                   :::*                    LISTEN      2791/sshd
tcp6       0      0 :::993                  :::*                    LISTEN      3661/dovecot
tcp6       0      0 :::995                  :::*                    LISTEN      3661/dovecot
udp        0      0 127.0.0.1:53            0.0.0.0:*                           2971/named
udp6       0      0 ::1:53                  :::*                                2971/named
oktoberfest
Maître du Kyudo
Messages : 1855
Inscription : mer. 06 janv. 2010, 13:51
Localisation : Ried - Alsace - France

Re: [postfix] connexion à telnet port 25 refusée

Message par oktoberfest »

Salut,

le processus postfix s'appelle master. Il est en écoute sur le port 465, ce qui d'après différentes doc (le wiki et wikipedia) est un port historique qu'il vaut mieux abandonner au profit du port 587
La majorité des bugs se situe entre la chaise et le clavier...
Arrêtez de vous prendre la tête avec les partitions... passez au LVM
AureoleMoka
Hankyu
Messages : 15
Inscription : sam. 11 août 2012, 19:33

Re: [postfix] connexion à telnet port 25 refusée

Message par AureoleMoka »

Okay, donc je pense que je me suis fourvoyé en pensant que le défaut de ma configuration était postfix. En revanche, j'obtiens un joli "Connection closed by foreign host" quand j'essaie des commandes sur telnet.

Code : Tout sélectionner

user root on e-mkw ~ # telnet localhost 465
Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.
ehlo test@localhost
Connection closed by foreign host.
J'ai encore consulté les logs pour voir si il y a quelque chose qui pourrait m'aider, mais je ne trouve rien (même pas de /var/log/mail.log, un dovecot.log, mais vide). Je suis à court d'idées.
oktoberfest
Maître du Kyudo
Messages : 1855
Inscription : mer. 06 janv. 2010, 13:51
Localisation : Ried - Alsace - France

Re: [postfix] connexion à telnet port 25 refusée

Message par oktoberfest »

C'est simplement que tu ne sais pas parler le SMTPS :)
quand postfix reçoit ta requête, comme elle est syntaxiquement incorrecte il ferme la connexion.
Il te faut tester avec un client SMTPS.

Mais regarde pour utiliser plutôt le port 587 en suivant le wiki. Je n'y connais rien en SMTPS mais il est dit partout d'utiliser plutôt le port 587 (et le protocole associé) plutôt que le 465.
La majorité des bugs se situe entre la chaise et le clavier...
Arrêtez de vous prendre la tête avec les partitions... passez au LVM
Avatar de l’utilisateur
tuxce
Maître du Kyudo
Messages : 6677
Inscription : mer. 12 sept. 2007, 16:03

Re: [postfix] connexion à telnet port 25 refusée

Message par tuxce »

Pour les connections TLS/SSL, tu peux utiliser openssl, par exemple :

Code : Tout sélectionner

openssl s_client -host localhost -port 465
AureoleMoka
Hankyu
Messages : 15
Inscription : sam. 11 août 2012, 19:33

Re: [postfix] connexion à telnet port 25 refusée

Message par AureoleMoka »

okay, j'ai vu ça sur le https://wiki.archlinux.org/index.php/Si ... ail_System:

Code : Tout sélectionner

For the proper variant uncomment this in /etc/postfix/master.cf:

smtp     inet  n       -       n       -       -       smtpd
submission     inet  n       -       n       -       -       smtpd
  -o smtpd_tls_security_level=encrypt
  -o smtpd_sasl_auth_enable=yes
Je l'ai fait. Postfix écoute donc bien sur le port 587 mais aussi sur le port 25.

Code : Tout sélectionner

user root on e-mkw ~ # netstat -putln | grep master
tcp        0      0 0.0.0.0:587             0.0.0.0:*               LISTEN      8543/master
tcp        0      0 0.0.0.0:25              0.0.0.0:*               LISTEN      8543/master
Mais je suis toujours pas convaincu que c'est à cause de tout ça que je peux pas recevoir mes mails :?

@tuxce:

Code : Tout sélectionner

user root on e-mkw ~ # netstat -putln | grep master
tcp        0      0 0.0.0.0:465             0.0.0.0:*               LISTEN      8743/master
user root on e-mkw ~ # openssl s_client -host localhost -port 465

Code : Tout sélectionner

220 mail.e-mkw.eu ESMTP Postfix
MAIL FROM:aurolemoka@gmail.com
250 2.1.0 Ok
Avatar de l’utilisateur
tuxce
Maître du Kyudo
Messages : 6677
Inscription : mer. 12 sept. 2007, 16:03

Re: [postfix] connexion à telnet port 25 refusée

Message par tuxce »

Si tu envois un mail avec openssl s_client, tu le reçois ?
Tu peux aussi vérifier si le dns a été mis à jour, par exemple :

Code : Tout sélectionner

dig -t MX exemple.com
Pour ce qui est de mail.log, est ce que syslog-ng est lancé ? Parce que normalement, il se crée même si il n'y a aucune info dedans.
AureoleMoka
Hankyu
Messages : 15
Inscription : sam. 11 août 2012, 19:33

Re: [postfix] connexion à telnet port 25 refusée

Message par AureoleMoka »

@tuxce: Quand j'envoie un mail depuis gmail je le reçois, donc je suppose oui.
pour ce qui est du MX, je pense que c'est bon, mais pas sûr, je te paste l'output du dig:

user root on e-mkw /srv/http/webmail/logs # dig -t MX e-mkw.eu

Code : Tout sélectionner

; <<>> DiG 9.9.2-P1 <<>> -t MX e-mkw.eu
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 23179
;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 2, ADDITIONAL: 4

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4096
;; QUESTION SECTION:
;e-mkw.eu.                      IN      MX

;; ANSWER SECTION:
e-mkw.eu.               10994   IN      MX      1 redirect.ovh.net.

;; AUTHORITY SECTION:
e-mkw.eu.               31219   IN      NS      dns103.ovh.net.
e-mkw.eu.               31219   IN      NS      ns103.ovh.net.

;; ADDITIONAL SECTION:
redirect.ovh.net.       69337   IN      A       213.186.33.5
ns103.ovh.net.          9659    IN      A       213.251.128.147
dns103.ovh.net.         9659    IN      A       213.251.188.147

;; Query time: 1 msec
;; SERVER: 213.186.33.99#53(213.186.33.99)
;; WHEN: Tue Jan  8 15:24:38 2013
;; MSG SIZE  rcvd: 158

En ce qui concerne mail.log, syslog n'est pas lancé non, en fait je n'arrive pas à le lancer, mais c'est un autre problème que je résoudrai plus tard. En attendant, les logs de roundcube me fournissent assez d'informations, mais rien sur mon problème.

PS: Quand j'active le support du tls dans /etc/posfix/master.cf, avec le port 587, je ne peux même plus envoyer de message. Quand j'essaie, j'ai ce message d'erreur: 5.7.0 Must issue a STARTTLS command first. Enfin ça ne concerne plus vraiment le sujet de ce topic, j'ai ouvert un thread sur le forum de roundcube pour avoir des renseignements.
Avatar de l’utilisateur
tuxce
Maître du Kyudo
Messages : 6677
Inscription : mer. 12 sept. 2007, 16:03

Re: [postfix] connexion à telnet port 25 refusée

Message par tuxce »

AureoleMoka a écrit :@tuxce: Quand j'envoie un mail depuis gmail je le reçois, donc je suppose oui.
J'ai du rater un truc ... Je croyais que le souci était justement qui tu ne recevais rien ? :|

Pour syslog, vu que tu n'utilises pas systemd, c'est normal qu'il ne se lance pas, il faut modifier le fichier de conf pour lui indiquer la bonne source :

Code : Tout sélectionner

source src {
  unix-dgram("/dev/log");
  #au lieu de 
  #unix-dgram("/run/systemd/journal/syslog");
  internal();
  file("/proc/kmsg");
};
Pour le dig, j'ai pas la même réponse (ça doit être un truc d'ovh ...), mais bon, c'est bien redirigé vers mail.e-mk.eu, donc ça devrait être bon.

Sinon, en regardant vite fait ta conf de postfix, tu rejettes les domaines non connus / authentifiés :

Code : Tout sélectionner

smtpd_recipient_restrictions = permit_mynetworks, permit_sasl_authenticated, reject_unauth_destination
et comme j'ai un doute pour :

Code : Tout sélectionner

relay_domains = *
et :

Code : Tout sélectionner

mydestination = localhost
Perso, j'ai ça :

Code : Tout sélectionner

mydestination = $myhostname, localhost.$mydomain, localhost
relay_domains = $mydestination
ça m'étonnerait pas que postfix refuse de relayer tes mails (même si normalement tu devrais recevoir un mail de notification en cas d'échec de relais)

Ceci dit, avec le log, on devrait avoir plus d'information, parce que roundcube, c'est bien :) mais ça ne donne pas d'information sur ce que fait postfix.
AureoleMoka
Hankyu
Messages : 15
Inscription : sam. 11 août 2012, 19:33

Re: [postfix] connexion à telnet port 25 refusée

Message par AureoleMoka »

tuxce a écrit :J'ai du rater un truc ... Je croyais que le souci était justement qui tu ne recevais rien ? :|
Non, excuse moi, quand j'envoie un mail vers* gmail je le reçois, mais non, je ne peux rien reçevoir sur mon serveur.

J'ai édité ma configuration comme tu me l'avais demandé, mais ça a pas l'air convainquant pour le moment, mais en effet c'était une erreur de ma part. Sinon, j'ai fais quelques tests sur mxtoolbox.com, voilà ce que j'obtiens sur le test smtp:

Code : Tout sélectionner

1/8/2013 9:46:05 AM Connection attempt #1 - No connection could be made because the target machine actively refused it 91.121.192.127:25 [1.37 sec]
En tous cas j'ai réglé la source de syslog-ng, mais rien dans mon mail.log qui m'aide, postfix ne semble même pas au courant quand je reçois un mail.
Avatar de l’utilisateur
tuxce
Maître du Kyudo
Messages : 6677
Inscription : mer. 12 sept. 2007, 16:03

Re: [postfix] connexion à telnet port 25 refusée

Message par tuxce »

Pour un serveur smtp publique, il te faut obligatoirement avoir le port 25 ouvert, mais je pensais que tu avais réglé ce détail :
AureoleMoka a écrit :Je l'ai fait. Postfix écoute donc bien sur le port 587 mais aussi sur le port 25.

Code : Tout sélectionner

user root on e-mkw ~ # netstat -putln | grep master
tcp        0      0 0.0.0.0:587             0.0.0.0:*               LISTEN      8543/master
tcp        0      0 0.0.0.0:25              0.0.0.0:*               LISTEN      8543/master
AureoleMoka
Hankyu
Messages : 15
Inscription : sam. 11 août 2012, 19:33

Re: [postfix] connexion à telnet port 25 refusée

Message par AureoleMoka »

tuxce a écrit :Pour un serveur smtp publique, il te faut obligatoirement avoir le port 25 ouvert, mais je pensais que tu avais réglé ce détail
Si je passe par le port 587 et 25, je ne peux même plus me connecter à mon client mail, qui n'a pas l'air de lancer un STARTTLS avant d'essayer de se connecter, je l'ai dit plus haut. J'ai ouvert un thread sur le forum de roundcube pour ça, mais ils ont pas l'air chauds pour me répondre, bref, 465 ou 25/587 ?
Avatar de l’utilisateur
tuxce
Maître du Kyudo
Messages : 6677
Inscription : mer. 12 sept. 2007, 16:03

Re: [postfix] connexion à telnet port 25 refusée

Message par tuxce »

Tu ne peux plus te connecter à ton client mail ou c'est le client mail qui ne peut plus se connecter au serveur smtp ?
Dans le premier cas, je ne vois pas du tout le rapport, dans le 2ème, si tu as dit à ton client de se connecter au port 465 (sous roundcube, on met le numéro de port explicitement dans le main.inc.php), il est normal qu'il y arrive plus si tu changes les ports !

Sinon, ce n'est pas exclusif, tu peux même avoir les 3 en même temps.
- le 25 est nécessaire si tu veux qu'il fasse du relais.
- le 587 est pour l'envoi sécurisé
- le 465 peut être ouvert pour des soucis de compatibilité mais comme t'es le seul à utiliser ce serveur, tu peux t'en passer (en ayant pris le soin de configurer ton client avant ...)
AureoleMoka
Hankyu
Messages : 15
Inscription : sam. 11 août 2012, 19:33

Re: [postfix] connexion à telnet port 25 refusée

Message par AureoleMoka »

Okay, je vais faire un récapitulatif, c'est vrai que j'ai pas vraiment été clair.

J'ai actuellement deux problèmes majeurs:

1) J'arrive à me connecter à mon client mail et envoyer des messages avec ssl et le port 465, pas de problème. Bien sûr, quand je fais ce genre de tests je change la config de roundcube. En revanche, quand j'active tls et le port 587, mon client mail refuse de se connecter au serveur smtp. La raison, selon les logs, est qu'il ne lance pas de commande STARTTLS afin de comprendre le tls. Je ne suis actuellement pas sûr que le problème vienne de mon client mail.

EDIT: sûrement pas en fait, j'ai eu un autre mail de google, cette fois avec smtp écoutant sur le port 587:
Google tried to deliver your message, but it was rejected by the recipient domain. We recommend contacting the other email provider for further information about the cause of this error. The error that the other server returned was: 530 530 5.7.0 Must issue a STARTTLS command first (state 12).

2) Impossible de recevoir des mails, peu importe leur source. J'ai comme tu me l'as dit changé la configuration de postfix. Je te la paste: http://pastebin.archlinux.fr/455202.
J'ai quand même reçu, bien qu'en retard, des messages d'erreurs sur mon adresse gmail. En voici un exemple: http://pastebin.archlinux.fr/455203
Avatar de l’utilisateur
tuxce
Maître du Kyudo
Messages : 6677
Inscription : mer. 12 sept. 2007, 16:03

Re: [postfix] connexion à telnet port 25 refusée

Message par tuxce »

1: si tu changes 465 par 587 il te faut aussi changer l'url :

Code : Tout sélectionner

$rcmail_config['smtp_server'] = 'tls://localhost';
$rcmail_config['smtp_port'] = 587;
ou

Code : Tout sélectionner

$rcmail_config['smtp_server'] = 'ssl://localhost';
$rcmail_config['smtp_port'] = 465;
2: L'erreur de gmail que tu as posté correspond à un moment ou tu avais le port 25 fermé, il faut faire l'essai avec le port 25 ouvert.

EDIT: J'écrivais pendant que tu éditais, pour la configuration de postfix, tu peux poster la sortie de

Code : Tout sélectionner

postconf -M
?
AureoleMoka
Hankyu
Messages : 15
Inscription : sam. 11 août 2012, 19:33

Re: [postfix] connexion à telnet port 25 refusée

Message par AureoleMoka »

tuxce a écrit :1: si tu changes 465 par 587 il te faut aussi changer l'url :
Je le fais à chaque fois.

L'erreur de gmail avec postfix écoutant sur 587 et 25 est celle que j'ai posté avec STARTTLS.

voilà l'output de postconf -M:
http://pastebin.archlinux.fr/455208
Répondre