Page 1 sur 2
[postfix] connexion à telnet port 25 refusée (résolu)
Publié : lun. 07 janv. 2013, 20:12
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.
Re: [postfix] connexion à telnet port 25 refusée
Publié : lun. 07 janv. 2013, 20:24
par benjarobin
Question bête mais as tu activé le service et l'as tu lancé ?
Re: [postfix] connexion à telnet port 25 refusée
Publié : lun. 07 janv. 2013, 20:27
par AureoleMoka
Oui, je n'ai par contre pas encore upgrade mon serveur vers systemd, je le lance donc avec rc.d start postfix.
Re: [postfix] connexion à telnet port 25 refusée
Publié : lun. 07 janv. 2013, 20:42
par benjarobin
Quelle est la configuration de dovecot, vue que tu l'utilises, est-il lancé, les logs de celui-ci...
Re: [postfix] connexion à telnet port 25 refusée
Publié : lun. 07 janv. 2013, 20:51
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
Re: [postfix] connexion à telnet port 25 refusée
Publié : mar. 08 janv. 2013, 08:09
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
Re: [postfix] connexion à telnet port 25 refusée
Publié : mar. 08 janv. 2013, 12:06
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.
Re: [postfix] connexion à telnet port 25 refusée
Publié : mar. 08 janv. 2013, 12:17
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.
Re: [postfix] connexion à telnet port 25 refusée
Publié : mar. 08 janv. 2013, 12:24
par tuxce
Pour les connections TLS/SSL, tu peux utiliser
openssl
, par exemple :
Re: [postfix] connexion à telnet port 25 refusée
Publié : mar. 08 janv. 2013, 12:32
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
Re: [postfix] connexion à telnet port 25 refusée
Publié : mar. 08 janv. 2013, 15:11
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 :
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.
Re: [postfix] connexion à telnet port 25 refusée
Publié : mar. 08 janv. 2013, 15:34
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.
Re: [postfix] connexion à telnet port 25 refusée
Publié : mar. 08 janv. 2013, 15:58
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 :
et :
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
.
Re: [postfix] connexion à telnet port 25 refusée
Publié : mar. 08 janv. 2013, 16:52
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.
Re: [postfix] connexion à telnet port 25 refusée
Publié : mer. 09 janv. 2013, 11:31
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
Re: [postfix] connexion à telnet port 25 refusée
Publié : mer. 09 janv. 2013, 12:19
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 ?
Re: [postfix] connexion à telnet port 25 refusée
Publié : mer. 09 janv. 2013, 13:20
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 ...)
Re: [postfix] connexion à telnet port 25 refusée
Publié : mer. 09 janv. 2013, 13:45
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
Re: [postfix] connexion à telnet port 25 refusée
Publié : mer. 09 janv. 2013, 14:23
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
?
Re: [postfix] connexion à telnet port 25 refusée
Publié : mer. 09 janv. 2013, 14:46
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