Créer son serveur de mail

vct -  
 vct -
Bonjour,

En quête de recherche pour créer mon propre serveur de mail, et après plusieurs tentatives infructueuses je me lance à nouveau.
J'ai acheté il y a quelques mois un livre de chez Eroylles intitulé "monter son serveur de mails sous linux" celui-ci fournissant de bonnes explications mais je pense que ce n'est pas encore assez clair dans ma tête.

J'aurais aimé utiliser une machine avec debian installé me permettant dans un premier temps d'envoyer des mails sur un réseau local. Par exemple un compte thunderbird "Vincent" sur un windows xp qui envois un mail à "Fabien" sur un autre pc xp.

Concrètement j'ai besoin de quoi pour mettre celui en place.
J'ai cru comprendre qu'il me faut un DNS mais chaque fois que je tente d'en configurer un avec bind9 cela tourne à l'échec.
Alors est-il possible dans un premier temps de concevoir une station debian avec postfix utilisant sa propre adresse IP pour héberger les mails et utiliser cette même adresse IP pour les configurations des clients thunderbird (ou autre).

Je vous passe la main,
Avec mes remerciements d'avance!

Vincent.

4 réponses

kiki
 
Bonjour,

Vous avez fait le bon choix avec Debian.
Postfix c'est le serveur smtp. C'est la référence en la matière.
Le serveur smtp sert à faire relai avec les autres serveurs smtp et réceptionne les courrier à destination du domaine local et envoi les courrier des clients du domaine local.

Pour completer il faut un serveur imap ou pop, selon le protocole choisis.
J'ai utilisé cyrus-pop, mais il est particulièrement pas pratique à configurer étant donné le peut de doc fourni.
Courrier-pop et courrier-imap sont de bon choix.

Pour le serveur bind9 c'est assez facile mais il faut régler la configuration finement.

Pour bind on va consider 2 domaines : toto.org et toto.local sur le LAN 192.168.2.0/24
Votre serveur s'appelle cheval.

#### le fichier db.toto.local
$TTL 3h
@ IN SOA toto.local. root.toto.local. (
20080824
8H
2H
1W
1D )

NS cheval.toto.local.
facteur HINFO "AMD Opteron 2Ghz" "GNU/Linux Debian 4.0"

poste01 A 192.168.2.1 ; poste01
poste02 A 192.168.2.2 ; poste02
cheval A 192.168.2.200 ; serveur smtp
...
; Alias
smtp CNAME cheval
imap CNAME cheval
pop CNAME cheval

#### le fichier db.192.168.2 #### pour la resolution inverse.
$TTL 3h
@ IN SOA toto.local. root.toto.local. (
20080824
8H
2H
1W
1D )

NS cheval.toto.local.

1 PTR poste01.toto.local.
2 PTR poste02.toto.local.
200 PTR cheval.toto.local.

#### le fichier db.toto.org
$TTL 3h
@ IN SOA toto.org. root.toto.local. (
20080824
8H
2H
1W
1D )

NS facteur.toto.org.
cheval HINFO "AMD Opteron 2Ghz" "GNU/Linux Debian 4.0"

cheval A 192.168.2.200 ; serveur smtp
...
; Alias
smtp CNAME cheval
imap CNAME cheval
pop CNAME cheval

#### le fichier named.conf.local
zone "toto.org" {
type master;
file "/etc/bind/db.toto.org";
forwarders{};
};

zone "toto.local" {
type master;
file "/etc/bind/db.toto.local";
forwarders{};
};

zone "2.168.192.in-addr.arpa" {
type master;
file "/etc/bind/db.192.168.2";
forwarders{};
};

#### le fichier named.conf.options
options {
directory "/var/cache/bind";
forwarders {
adresse_ip_du_DNS1_du_FAI;
adresse_ip_du_DNS2_du_FAI;
adresse_ip_du_DNS3_du_FAI;
};
auth-nxdomain no; # conform to RFC1035
};

=> il faut absolument mettre les adresses IP des serveurs DNS du FAI !!! Car afin d'éviter les spam, les adresses IP des serveurs SMTP sont différents par le DNS interne du FAI et le DNS internet.

=> ATTENTION :
1- bind ne supporte aucune erreur de syntaxe -> verifiez toujours le fichier /var/log/syslog il vous indiquera la ligne et le type d'erreur :-)
2- Pour que le serveur soit mis à jour il faut modifier à chaque fois la 3e ligne (ex: 20080824) qui correspond à la date à l'envers.
3- relancer le serveur par un "/etc/init.d/bind9 reload"
4- Vous avez une zone double (internet+local) pour toto.org et une zone locale : toto.local
ainsi vous pouvez configuer tous vos postes, externes comme locaux avec smtp.toto.org et pop/imap.toto.org
Votre dns court-circuitera la demande vers le net pour toto.org : le trafic reste en local et ne repasse pas par le routeur.
5- il faut quand même un nom de domaine toto.org chez un fournisseur comme gandhi et un dns externe où vous allez configurer votre domaine toto.org.
Je déconseille d'ouvrir votre serveur dns sur le net : dangerous !!!!

#### Pour Postfix le principal est dans le fichier main.cf :

myhostname = cheval.toto.org
alias_maps = hash:/etc/aliases
local_recipient_maps = $alias_maps
myorigin = /etc/mailname
mydomain = toto.local
mydestination = cheval, cheval.toto.local, $myhostname, localhost, localhost.$mydomaine
relayhost = smtp.votre-fai.fr
relay_domains =
mynetworks = 127.0.0.0/8, 192.168.2.0/24
# controle anti-spam
smtpd_sender_restrictions = reject_unknown_sender_domain
smtpd_client_restrictions = reject_rbl_client spam.dnsbl.sorbs.net
inet_interfaces = all
transport = imap

EXPLICATIONS :
mynetwork : qui peut utiliser le smtp
relayhost : le serveur smtp du FAI
myhostname : le nom de serveur qui sera envoyé dans les mails
mydestination : les domaines smtp que mon serveur gère
transport : nom de la règle de transfert du fichier master.cf (vers imap ou pop)

Il y a 2 autres fichiers virtual et vmailbox qui définissent pour le 1er les alias et mailing-list et pour le 2e la liste des destinataires pop ou imap. (a activer par "postmap vmailbox" et "postmap virtual").

La documentation Postfix est intégralement en français : http://x.guimard.free.fr/postfix/
Je passe l'exemple pour cyrus, car j'ai utilisé des boites virtuelles, ce qui est fort compliqué.

Cordialement,
0
vct
 
Hello kiki,

Merci pour votre réponse, c'est très gentil d'avoir pris le temps de me rédiger les instructions et des explications.
Je vais mettre en pratique cela ce soir car en ce moment je suis accompagné.
En revanche vous n'avez pas répondu, puis-je utiliser normalement mon ip pour configurer un serveur de mail?
Le problème c'est que je ne souhaite pas faire le relais avec l'extérieur mon but étant d'envoyer des mails dans un réseau local sans accès à internet donc je pense que la configuration de toto.org est inutile dans ce cas là ?

Dans un avenir mon but est de me dispenser de mon hébergeur pour les emails et avoir une machine complètement indépendante. Je pensais créer un nom de domaine gratuit auprès d'un fournisseur et me débrouiller ensuite avec celui-ci. Car en créant soit même un domaine ne fonctionnera que en local je pense?
Enfin bref dans un premier temps mon but est de créer tout cela UNIQUEMENT en local...

Merci bcp bcp!!
Vincent.
0
vct
 
Hello kiki,

Juste pour te dire que je ne t'ai pas oublié mais je n'ai pas trop de temps en ce moment je fais dès que possible, après tous les efforts que tu as fait je ais m'y apprêter..

Vincent.
0
vct
 
Hello,
Bon finalement je m'y suis attelé ce soir, en revanche rien ne marche :s

C'est pour ça que j'ai toujours perdu patience : à la moindre tentative j'ai un échec.
Je ne peux rien configurer graphiquement ? J'ai une distribution linux ubuntu avec un serveur graphique, n'existe t'il pas de logiciel visuel me permettant de configurer aisément ?

Je désespère!!

Je pense qu'on devrait reprendre depuis le début mais que tu me fais faire une étape après l'autre. Dès que je réussi une, tu me donnes de nouvelles instructions. Enfin je sais pas ça te fais peux être chi**.

Merci bien,
Vincent.
0