web-dev-qa-db-fra.com

Confus au sujet des alias_maps et des virtual_alias_maps

J'ai déjà relu les documents à ce sujet ainsi que d'autres articles ici et cela n'est toujours pas très clair pour moi. J'ai testé différentes choses pour comprendre la différence entre alias_maps et virtual_alias_maps et je ne vois pas l'utilisation de ces 2 paramètres séparés dans postfix. C'est ce que j'ai trouvé jusqu'à présent (Remarque - j'utilise postfix sur le même serveur que mon serveur Web en tant que client nul pour envoyer des e-mails uniquement) :

1) fichier/etc/aliases:

root: [email protected]

Lorsque j'ajoute ce qui précède au alias_maps, J'ai remarqué que certains services comme fail2ban sont capables de choisir cela et il envoie des e-mails racine aux adresses e-mail d'alias mentionnées. Cependant, j'ai également remarqué que certains autres services (comme la commande mail) ne respectent pas cela et essaient d'envoyer l'e-mail directement à [email protected] qui n'existe pas (je pense que c'est le suffixe myorigin paramètre qui ajoute le @ mondomaine.com). Pour résoudre ce problème, j'ai ensuite ajouté le virtual_alias_maps

2) / etc/postfix/virtual

root     [email protected]

Lorsque ce qui précède est ajouté, tous les services utilisent cet e-mail d'alias virtuels. J'ai également remarqué qu'une fois que j'ai ajouté ce qui précède, même fail2ban commence à ignorer mes paramètres initiaux dans /etc/aliases/ fichier et commence à suivre l'adresse e-mail indiquée dans le fichier virtuel.

Maintenant, cela m'a encore plus troublé -

  1. Pourquoi avons-nous besoin /etc/aliases/ lorsque le courrier électronique dans la carte des alias virtuels semble le remplacer?

  2. Quel est le but de disposer de ces 2 alias séparés et quand décidons-nous quand utiliser quoi?

  3. Pourquoi fail2ban (qui est configuré pour envoyer un e-mail à root@localhost) suivez d'abord l'adresse e-mail indiquée dans alias_maps (/ etc/aliases /) et décide ensuite de l'ignorer une fois virtual_alias_maps était ajouté?

  4. Pourquoi tous les services ne lisent-ils pas les alias de messagerie mentionnés dans/etc/aliases et ne fonctionnent-ils que lorsque les alias de messagerie sont ajoutés dans la carte des alias virtuels?

J'ai passé plusieurs heures depuis hier et je ne sais toujours pas. Quelqu'un peut-il m'aider à dissiper ma confusion?

EDIT: Ceci est le journal de messagerie lorsque le courrier électronique est envoyé à root en utilisant mail root commande. L'email des alias pour root est mentionné dans/etc/aliases /. Mais la messagerie ne fonctionne pas tant que je n'ai pas déplacé cet e-mail d'alias racine de aliases_maps à virtual_aliases_maps

Connectez-vous lorsque l'alias de messagerie racine est mentionné dans /etc/aliases/:

Nov 14 16:39:27 Debian postfix/pickup[4339]: 0F12643432: uid=0 from=<root>

Nov 14 16:39:27 Debian postfix/cleanup[4495]: 0F12643432: message-id=<[email protected]>

Nov 14 16:39:27 Debian postfix/qmgr[4338]: 0F12643432: from=<[email protected]>, size=517, nrcpt=1 (queue active)

Nov 14 16:39:27 Debian postfix/error[4496]: 0F12643432: to=<[email protected]>, orig_to=<root>, relay=none, delay=0.04, delays=0.03/0/0/0.01, dsn=4.4.1, status=deferred (delivery temporarily suspended: connect to domainname.com[128.199.147.136]:25: Connection refused)

Il s'agit du journal après le déplacement des alias de messagerie pour root de /etc/aliases/ à /etc/postfix/virtual où la remise de l'e-mail a réussi après la modification:

Nov 14 16:44:58 Debian postfix/pickup[4545]: ADD9A43436: uid=0 from=<root>

Nov 14 16:44:58 Debian postfix/cleanup[4563]: ADD9A43436: message-id=<[email protected]>

Nov 14 16:44:58 Debian postfix/qmgr[4544]: ADD9A43436: from=<[email protected]>, size=453, nrcpt=1 (queue active)

Nov 14 16:45:00 Debian postfix/smtp[4551]: ADD9A43436: to=<[email protected]>, orig_to=<root>, relay=somesite.com[108.160.157.120]:25, delay=1.9, delays=0.03/0/0.97/0.88, dsn=2.0.0, status=sent (250 OK id=1XpEqC-0002ry-9s)

Nov 14 16:45:00 Debian postfix/qmgr[4544]: ADD9A43436: removed
24
Neel

Quelques antécédents

Postfix a hérité de certaines fonctionnalités des anciens sendmail comme milter et alias. Le fichier /etc/aliases fait partie de l'héritage aliases et est implémenté par alias_maps. D'un autre côté, postfix a virtual_maps/virtual_alias_maps pour gérer l'alias de messagerie. Alors, quelle est la différence entre eux?

Paramètre alias_maps

  • Utilisé uniquement pour livraison locale (8)

  • Selon classe d'adresse dans le suffixe , l'e-mail sera livré par local (8) si les noms de domaine destinataires sont répertoriés dans le mydestination

  • entrée de recherche n'était que des parties locales provenant d'adresses de messagerie complètes (par exemple, myuser de [email protected]). Il supprime les parties de domaine du destinataire.

  • Le résultat de la recherche peut contenir un ou plusieurs des éléments suivants:

    • adresse e-mail : l'e-mail sera transféré à adresse e-mail
    • /fichier/nom : l'e-mail sera ajouté à /fichier/nom
    • | command : courrier dirigé vers la commande
    • : inclure:/fichier/nom : inclure l'alias de /fichier/nom

Paramètre virtual_alias_maps

  • Utilisé par livraison virtuelle (5)

  • Toujours invoqué pour la première fois avant toute autre classe d'adresse. Peu importe que le domaine destinataire soit répertorié dans mydestination, virtual_mailbox_domains ou d'autres endroits. Il remplacera l'adresse/l'alias défini à d'autres endroits.

  • entrée de recherche a un certain format

    • user @ domain : il correspondra à user @ domain littéralement

    • utilisateur : il correspondra à utilisateur @ site lorsque site est égal à $myorigin, lorsque le site est répertorié dans $mydestination, ou lorsqu'il est répertorié dans $inet_interfaces ou $proxy_interfaces. Cette fonctionnalité chevauche la fonctionnalité de la base de données d'alias locaux (5).

    • @ domain : il correspondra à tout e-mail destiné à domain indépendamment des parties locales

  • résultat de la recherche doit être

    • adresse e-mail valable
    • utilisateur sans domaine. Postfix ajoutera $myorigin si append_at_myorigin set oui

Pourquoi avons-nous besoin de/etc/alias lorsque le courrier électronique à l'intérieur de la carte des alias virtuels semble le remplacer?

Comme vous pouvez le voir ci-dessus, alias_maps (/ etc/aliases) a quelques fonctionnalités supplémentaires (à côté du transfert) comme la canalisation à commander. Il contraste avec virtual_alias_maps qui vient de transférer l'e-mail.

Quel est le but de disposer de ces 2 alias séparés et quand décidons-nous quand utiliser quoi?

Le alias_maps les inconvénients sont que vous pouvez différencier si le destinataire d'origine a la forme [email protected] ou [email protected]. Les deux seront mappés à l'entrée racine dans alias_maps. Dans d'autres mains, vous pouvez définir une adresse de transfert différente avec virtual_alias_maps.

Pourquoi fail2ban (qui est configuré pour envoyer un e-mail à root @ localhost) a-t-il d'abord suivi l'adresse e-mail indiquée dans alias_maps (/ etc/aliases /) et a ensuite décidé de l'ignorer une fois que virtual_alias_maps a été ajouté?

Avant l'ajout de virtual_alias_maps : root @ localhost était aliasé par alias_mapsparce que localhost était répertorié dans mydestination.

Après la définition de virtual_alias_maps : l'entrée root (dans virtual_alias_maps) n'a pas de parties de domaine et localhost a été répertorié dans mydestination, il correspondra donc à root [email protected].

Pourquoi tous les services ne lisent-ils pas les alias de messagerie mentionnés dans/etc/aliases et ne fonctionnent-ils que lorsque les alias de messagerie sont ajoutés dans la carte des alias virtuels?

Commande mail root enverra un e-mail à root. Parce qu'il manque de parties de domaine, postfix trivial-rewrite ajoutera myorigin aux parties de domaine. Ainsi, le courrier sera envoyé à root @ myorigin .

Avant l'ajout de virtual_alias_maps : Malheureusement, myorigin n'est pas répertorié dans mydestination, il n'aliasera donc pas par alias_maps.

Après l'ajout de virtual_alias_maps : l'entrée root (dans virtual_alias_maps) n'a pas de parties de domaine et myorigin (évidemment) identique à myorigin, donc il correspondra à root [email protected].

35
masegaloeh
  1. /etc/aliases est là principalement pour la livraison locale, par exemple, le courrier à la racine de cron, etc., c'est bien de garder vos alias locaux séparés, virtual_alias_maps peut également être utilisé avec des bases de données SQL, etc.

  2. virtual_alias_maps est destiné aux utilisateurs virtuels (et aux domaines virtuels), souvent qui ne correspondent pas aux utilisateurs système, mais si vous n'avez pas de domaines virtuels et très peu d'utilisateurs, ce type de fonctionnalité peut ne pas être nécessaire.

  3. fail2ban s'en fiche, il envoie simplement un e-mail au MTA.

  4. Vous devez être plus précis, quels services, comment et où soumettent-ils le courrier?

2
NickW