Domaines Virtuels
Contents
1 Introduction
La plupart des systèmes Postfix sont la destination finale de seulement quelques noms de domaine. Ceci inclut le nom de machine, [l'adresse IP] de la machine et parfois le nom du domaine parent. Le reste de ce document se réferera à ces domaines comme domaines canoniques. Ils correspondent généralement à la classe d'adresses "domaine local" de Postfix.
En plus des domaines canoniques, Postfix peut être configuré pour être la destination finale de plusieurs autres domaines. Ces domaines sont appelés "hébergés", car ils ne sont pas directement associés au nom de la machine. Ces domaines hébergés correspondent généralement à la classe d'adresses "domaine virtuel d'alias de postfix et/ou à la classe d'adresses domaine virtuel de boîtes-aux-lettres.
Mais attendez, il y a mieux!. Postfix peut être configuré pour être le serveur MX de secours d'autres domaines. Dans ce cas, Postfix n'est pas la destination finale de ces domaines. Il conserve le courrier lorsque le serveur MX principal ne fonctionne pas, et transfère le courrier dès qu'il fonctionne de nouveau.
Finalement, Postfix peut être configuré comme machine de retransmission du courrier à travers Internet. Evidemment, Postfix n'est pas la destination finale de ces messages.
2 Configuration
Avec l'approche décrite dans ce paragraphe, chaque domaine hébergé peut avoir ses propres informations, adresses électroniques, etc. Toutefois, il utilise toujours les comptes du système UNIX pour ses livraisons locales.
Avec les domaines d'alias virtuels, chaque adresse hébergée est un alias d'un compte du système UNIX ou d'une adresse extérieure. L'exemple suivant montre comment utiliser ce mécanisme pour le domaine exemple.com.
/etc/postfix/main.cf |
virtual_alias_domains = exemple.com ...autres domaines hébergés... virtual_alias_maps = hash:/etc/postfix/virtual |
Notes :
- Ligne 2 : le paramètre virtual_alias_domains indique à Postfix que le domaine exemple.com est un domaine d'alias virtuels. Si vous l'oubliez, Postfix rejetera le courrier (relais interdit) ou ne saura pas le livrer (le courrier pour exemple.com sera renvoyé à la machine elle-même.
Ne listez JAMAIS un domaine d'alias virtuels dans la liste des domaines mydestination!
- Lignes 3-8 : le fichier /etc/postfix/virtual contient les alias virtuels. Avec cet exemple, le courrier de postmaster@exemple.com est livré au postmaster local alors que celui de sales@exemple.com est envoyé au compte UNIX jane. Le courrier de toutes les autres adresses du domaine exemple.com est rejeté avec le message d'erreur "User unknown".
- Ligne 10 : l'entrée commentée (texte après #) montre comment implémenter une adresse de collecte qui reçoit tout le courrier des adresses du domaine exemple.com non listées dans le fichier d'alias virtuels. Ce n'est pas sans risque. Les spammers essaient d'envoyer du courrier semblant venir et à destination de n'importe quel nom possible. Une adresse de collecte est susceptible de recevoir de nombreux messages de spam ou de notification de messages envoyés avec une adresse n-importe-quoi@exemple.com.
3 Application des modifications
Lancez la commande suivante après modification du fichier virtual :
postmap |
postmap /etc/postfix/virtual |
Pour vérifier si une de vos adresse fonctionne bien, tapez ceci :
postmap |
postmap -q user@exemple.com /etc/postfix/virtual |
puis lancez cette commande après avoir modifié le fichier main.cf :
postfix |
postfix reload |
Note : les alias virtuels peuvent correspondre à une adresse locale, à une adresse extérieure ou au deux. Ils ne doivent pas nécessairement correspondre à des comptes du système UNIX de votre machine.
Les alias virtuels résolvent un problème : ils permettent à chaque domaine d'avoir ses propres adresses de courrier. Mais il en reste un : chaque adresse virtuelle correspond à un compte UNIX. A chaque nouvelle adresse, vous augmentez les comptes du système UNIX.
4 Utilisation Avancée
4.1 Redireiger tous les mails vers 1 personne
Vou souhaitez peut être pour des tests rediriger tous les mails d'une machine ou tout simplement qui vont taper sur ce serveur sur 1 adresse mail particulière. C'est chose faisable. Pour ça éditer le fichier de conf de postfix :
/etc/postfix/main.cf |
# on matche les mails qu'on va accepter avec des expression régulières virtual_alias_maps = regexp:/etc/postfix/virtual |
On va créer un fichier virtual :
/etc/postfix/virtual |
# on redigige tout vers quelqu'un qui va pouvoir lire les mails /@/ moi@mycompany.com |
5 FAQ
5.1 User unknown in virtual alias table
5.1.1 Rejet depuis le serveur interne
Si vous recevez un email du type :
User unknown in virtual alias table
Si c'est un retour de votre serveur interne, c'est qu'il y a un problème au niveau du fichier virtual. Verifiez que c'est bien le même dans "main.cf" et que vous avez correctement effectué la commande postmap.
5.1.2 Rejet depuis le serveur externe
Si vous recevez un email du type :
User unknown in virtual alias table
C'est certainement Amavis qui fait des siennes. Pour corriger ce problème, commentez cette ligne dans /etc/postfix/main.cf :
/etc/postfix/main.cf |
# receive_override_options = no_address_mappings |
6 Ressources
Secure Virtual Mailserver : Postfix + OpenLDAP + Dovecot + Jamm + SASL + SquirrelMail
http://linux-attitude.fr/post/Vers-un-trou-de-ver