Configuration spéciale d'un serveur mails

Configuration spéciale d'un serveur mails - Logiciels - Linux et OS Alternatifs

Marsh Posté le 08-08-2007 à 13:02:06    

Bonjour,
 
N'ayant pas trouvé de réponse à ma question, je me décide à poster un sujet :)
 
J'ai installer un serveur de mail (Postfix) sur ma Debian.
Je souhaiterai effectuer des envois de mails, mais pour certaines raisons, il faudrait que ces envois soit envoyé à partir de plusieurs IPs (idéalement 5)
 
J'ai donc créer les interfaces réseaux dans mon fichiers de configuration et il ne me reste plus qu'a dire à postfix d'utiliser ces 5 IPs au lieu d'une seule (si cela est possible), et c'est là que je bloque.
 
Ma question est donc : comment préciser à postfix d'utiliser plusieurs IPs d'envoi, et comment par la suite lui donne t'on les directives pour utiliser telle ou telle IP, si ce n'est pas possible auriez vous une astuce ou une idée pour faire ce que je souhaite (installer plusieurs serveurs de mails sur la meme machine, dupliquer les fichiers de confs ?).
 
Merci d'avance pour vos conseils :)
 
Bonne journée

Reply

Marsh Posté le 08-08-2007 à 13:02:06   

Reply

Marsh Posté le 08-08-2007 à 13:40:44    

cela depend du critere de decision:  tu te bases sur quoi ? Le destinataire (domaine ou adresse)  ou bien le sender ou l'ip de connection ?
 
en theorie cela doit etre possible en jouant avec le transport map si ton critere est le destinataire, et de multiples instance clientes dans le master.cf avec comme parametre inet_interfaces (ou smtp_bind_address) pour les lier a un ip de sortie.


Message édité par toniotonio le 08-08-2007 à 13:43:04

---------------
Messagerie dédiée, Relais Mail Antispam/Antivirus, Infogérance 24/7: http://www.eole-its.com
Reply

Marsh Posté le 08-08-2007 à 13:46:53    

Héhé tout est là ...
 
Il n'est pas question ici de faire une alternance d'IP selon les domaines ou  n'importe quel autre critère.
 
J'ai une application qui va soliciter ce serveur mail et cette application gerera elle même la répartition, il faut donc donner à cette application un moyen de dire au serveur mail (utilise tel IP ou tel IP).
 
Une exception à cela serait que le serveur mail fasse un gestion de charge tout seul dans ses IPs disponibles, auquel cas mon appli se contenterai de lui envoyer les mails sans autres indications que de les envoyer.
 
J'espère être suffisement précis

Reply

Marsh Posté le 08-08-2007 à 14:01:54    

si le but est la repartition de charge c'est different.
 
je te conseillerai plutot l'utilisation d'un boitier dedié qui fera la repartition de charge.
 
sinon tu peux essayer avec de multiples relais smtp  (soit plusieurs machine, soit plusieurs instance de postfix surla meme becane) et du round robin sur le hostname du serveur de mail donné a ton appli  
 


---------------
Messagerie dédiée, Relais Mail Antispam/Antivirus, Infogérance 24/7: http://www.eole-its.com
Reply

Marsh Posté le 08-08-2007 à 14:08:23    

Oki, merci pour tes conseils tonio :)

Reply

Marsh Posté le 08-08-2007 à 15:14:55    

En cherchant dans le man de sendmail, j'ai vu qu'en faisant sendmail -C"monchemin/main.cf", on pouvait respécifier un fichie de conf à la vollé.
 
Je pense que ça pourrait résoudre mon problème sans multi instancier le processus sendmail, mais ceci uniquement dans le mesure ou l'on pourrai préciser dans main.cf l'interface réseaux à utiliser (eth0:1, eth0:2, eth0:3 ...)
 
Savez vous si cela est configurable dans main.cf ?
 
Merci d'avance :)

Reply

Marsh Posté le 08-08-2007 à 15:22:17    

dans le main.cf il s'agit de parametre globaux. donc le fait de specifier un autre main.cf ne resoudras rien. (postfix ne fonctionne qu'avec un seul main.cf)
 
c'est dans le master.cf que tu pourras declaré des clients smtp supplementaires. et la tu pourras leur attribuer une interface reseau a utiliser.
c'est ce que je te disais dans le 1er  message.
mais le probleme est le critere de selection.
comme c'est du load balancing, si j'ai bien compris ce que tu veux faire, cela semble sans objet.
 
ou alors je n'ai pas saisi ce que tu veux faire  :heink:


Message édité par toniotonio le 08-08-2007 à 15:22:57

---------------
Messagerie dédiée, Relais Mail Antispam/Antivirus, Infogérance 24/7: http://www.eole-its.com
Reply

Marsh Posté le 08-08-2007 à 17:21:18    

Exemple de master.cf multi instances smtp
 


# This is the real SMTP server, filter through amavis
10.0.0.1:smtp      inet  n       -       -       -       -       smtpd
        -o content_filter=amavis:[127.0.0.1]:10024
# SMTP on tcp/2501, used by Fetchmail, let's filter through amavis too
127.0.0.1:2501     inet  n       -       -       -       -       smtpd
        -o content_filter=amavis:[127.0.0.1]:10024
        -o smtpd_client_restrictions=permit_mynetworks,reject
        -o mynetworks=127.0.0.0/8
# Someone may connect the SMTP from localhost, lets sign theses mails with DKIM, no amavis filter
127.0.0.1:smtp     inet  n       -       -       -       -       smtpd
        -o content_filter=dksign:[127.0.0.1]:10027
        -o smtpd_client_restrictions=permit_mynetworks,reject
        -o mynetworks=127.0.0.0/8
# SMTP running on a virtual interface alias for mynetworks, sign with DKIM, no amavis filter
10.0.0.11:smtp     inet  n       -       -       -       -       smtpd
        -o content_filter=dksign:[127.0.0.1]:10027
        -o smtpd_client_restrictions=permit_mynetworks,reject
# SSL SMTP with SASL authentication, sign with DKIM, no amavis filter
smtps    inet  n       -       -       -       -       smtpd
        -o smtpd_tls_wrappermode=yes -o smtpd_sasl_auth_enable=yes
        -o content_filter=dksign:[127.0.0.1]:10027
        -o smtpd_client_restrictions=permit_mynetworks,permit_sasl_authenticated,reject

Reply

Marsh Posté le 09-08-2007 à 01:57:00    

Merci pour cet exemple concret, M300A.
 
Une chose m'échappe cependant, comment appeler les process se lanceront ? tout seul avec le start habituel ? et comment pourrai je appeler telle ou telle instance car avant ma commande etait sendmail -i -t, mais là comment cibler telle ou telle instance.
 
Je crois que je m'y perd :s

Reply

Marsh Posté le 09-08-2007 à 07:26:35    

attention, dans l'exemple il s'agit d'instance serveur smtp (smtpD), donc en ecoute pour la reception de mail.
pour l'envoi de mail il te faut des clients (smtp a la fin de la ligne dans le master.cf). c'est eux que tu pourras liés a une ip  ou une interface differente.
 
encore une fois le probleme c'est comment tu selectionnes les instances:
 
il faut que tu dises justement quelle sont tes criteres de selection, en gros comment veux tu dispatcher les messages lors de l'envoi.
 
repartition de charge classique ou sur criteres particuliers ?
 
 


---------------
Messagerie dédiée, Relais Mail Antispam/Antivirus, Infogérance 24/7: http://www.eole-its.com
Reply

Marsh Posté le 09-08-2007 à 07:26:35   

Reply

Marsh Posté le 09-08-2007 à 13:51:06    

Je veux que mon appli perso puisse appeler telle ou telle instance, je ne souhaites pas que la répartition soit geré par postfix

Reply

Marsh Posté le 09-08-2007 à 13:55:49    

dans ce cas si tu peux specifier un port pour l'envoi de mail dans cet appli, alors tu crees plusieurs instances de smtpd dans le master.cf, qui ecouteront sur des ports specifiques et tu lies ces instances avec une interface ou un ip de sortie


---------------
Messagerie dédiée, Relais Mail Antispam/Antivirus, Infogérance 24/7: http://www.eole-its.com
Reply

Marsh Posté le 09-08-2007 à 16:42:50    

Je crois que je vais chercher un bon gros tuto et une bonne grosse doc explicative du fichier master.cf car je ne suis pas au point la dessus.
 
Merci beaucoup à vous

Reply

Marsh Posté le 07-10-2009 à 17:36:16    

si le courrier envoyé est sollicité aucune raison d'être considéré comme un spammeur a fortiori si tout est correctement configuré, et que le postmaster de destination puisse être au courant des volumes de mail envisagé.

Reply

Marsh Posté le 07-10-2009 à 17:36:52    

de surcroit il serait peut être licite de rajouter éventuellement une couche de domains keys et autre sender id afin de bien faire les choses.

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed