Comment contourner un port 25 bloqué avec Postfix
Voici le fruit de mon travail de cette fin de semaine. Vous avez un serveur avec Postfix qui a une adresse publique et le port 25 de disponible, et vous voulez envoyer du courrier à un serveur, sous Postfix aussi, qui a le port 25 de bloqué. Voici un petit guide des étapes à prendre pour y arriver.
Le guide sous-entend que vous avez déjà 2 serveurs sous Postfix fonctionnels, ne manquant que les configurations pour relier les deux.
Nous allons commencer par le serveur bloqué. Il faut donc le configurer pour utiliser un port autre que 25. Pour ceci, nous devons ajouter une entrée au fichier /etc/postfix/master.cf.
26 inet n - - - - smtpd
Ceci signifie à Postfix qu'une instance SMTPD va écouter sur le port 26. Nous allons donc redémarrer le service :
service postfix restart
et vérifier que le port 26 est bien ouvert
nmap localhost
Starting nmap V. 3.00 ( www.insecure.org/nmap/ )
Interesting ports on Menzoberranzan.MenzoNet.org (192.168.1.1):
(The 1587 ports scanned but not shown below are in state: closed)
Port State Service
21/tcp open ftp
22/tcp open ssh
25/tcp open smtp
26/tcp open unknown
53/tcp open domain
80/tcp open http
111/tcp open sunrpc
143/tcp open imap2
443/tcp open https
888/tcp open accessbuilder
1024/tcp open kdm
1026/tcp open LSA-or-nterm
3128/tcp open squid-http
3306/tcp open mysql
Nmap run completed -- 1 IP address (1 host up) scanned in 3 seconds
Ensuite, il faut aller sur le serveur qui sert de passerelle. Si c'est un domaine complet qui doit être envoyé, utilisez la fonctionnalité MX dans le DNS pour faire envoyer le courrier à celui-ci. Si ce n'est que pour quelques utilisateurs, construisez un fichier .forward dans leurs répertoires maison.
Ensuite, il faut indiquer à Postfix d'utiliser une table de transport. Pour celà, il faut ajouter cette ligne au fichier /etc/postfix/main.cf.
transport_maps = hash:/etc/postfix/transport
Il ne nous reste plus qu'à constuire une table de transport. Allez donc éditer le fichier /etc/postfix/transport et y ajouter ceci :
Si vous servez de pont pour un domaine complet :
domaine.tld smtp:[machine_sans_port_25.domaine.tld]:26
Si vous envoyez les courriels de quelques utilisateurs :
machine_sans_port_25.domaine.tld smtp:[machine_sans_port_25.domaine.tld]:26
et créez des .forward pour que les courriels de utilisateur@domaine.tld aient à utilisateur@machine_sans_port_25.domaine.tld.
Il faut ensuite transformer le fichier en hash :
cd /etc/postfix
postmap transport
Redémarrez le service :
service postfix restart
Et tout devrait être tiguidou!
Dernière modification le 14/02/2005 @ 15:10 par Drizzt