C'est pour un syst�me, hypoth�tiquement appel� me.com
, dont le
courrier est envoy� uniquement via UUCP. mysmarthost
est
le nom de la machine de mon FAI tel qu'il est configur� dans le fichier
uucp sys
et me.com
est le nom de machine que nous utilisons ou
sous lequel nous sommes connus dans les enregistrements MX sur Internet.
mysmarthost
est connect� � Internet. Nous nous moquons
vraiment de savoir comment, nous savons juste qu'elle sait comment nous y
conduire.
me.com
, dont la configuration que nous d�crivons dans l'exemple,
alimente les sites down.com
et system1.org
et leurs
sous-noeuds. me.com
se connecte � down.com
via TCP/IP et
se connecte � system1.org
via une connexion UUCP directe par une
ligne t�l�phonique.
La description de la configuration est indiqu�e �i-dessous :
------------------------ | | | Internet | | | ----------------------- | | Ligne d�di�e � PPP utilisant TCP-IP | ------------- | | |mysmarthost | Serveur de noms autoritaire pour | | *.me.com, *.down.com, *.system1.org | | -------------- | | UUCP par r�ception ligne t�l�phonique pour | system1.org, *.system1.org,*.down.com, down.com | ainsi que me.com et *.me.com ------------ | * ***** * | ------------ | * me.com * | ------ | * * | | | | * ***** * | | | ------------ | |UUCP via ligne t�l�phonique | uucp via TCP/IP | | ----------- ----------- | | | | |system1.org| | down.com |------- | | | | | ---------- ------------ | | | | | | | | LAN : smtp vers le noeud | UUCP ligne t�l�phonique | | ----------------- ---------------- | | | | |Sous-noeuds de | | R�seau local | |de system1 | | de down | | | ---------------- -----------------
Pr�requis
1)
Si vous avez d�j� un DNS qui marche ou avez un pointeur sur un
DNS (dans votre /etc/resolv.conf) et avez une connexion directe au r�seau
alors passez cette partie. Vous �tes sauf. Vous n'avez pas de choses
"intelligentes" � faire.
2)
Si vous �tes sur une machine utilisant uucp pour le courrier
alors vous n'avez pas vraiment besoin de compiler bind/resolv dans
sendmail ;
Comment survivre � la mise sous forme canonique sur une machine ind�pendante sans DNS
Si vous prenez un sendmail pr�-compil� avec BIND dedans vous pouvez toujours y arriver (comme c'est le cas avec le sendmail de RedHat).
a)
Vous r�f�rer � ma solution pour �a bas�e sur le fichier m4
d�crit (mon favori). Essayez d'utiliser cette option � moins que vous teniez
� b) ou c) ci-dessous. OU
b)
Si vous me contactez je pourrais vous fournir une version non
compil�e avec BIND (8.8.5). Peut-�tre que RedHat devrait consid�rer la fourniture de
deux binaires sendmail (comme slackware) un avec BIND et l'autre sans BIND.
OU
c)
La solution la plus rapide pour avoir un sendmail sans bind est
d'�diter les lignes de src/conf.h
ci-dessous comme je l'ai montr� :
# ifndef NAMED_BIND conf.h:# define NAMED_BIND 0 /* use Berkeley
Internet Domain Server */
Sendmail devrait cependant normallement insister � faire les requ�tes de
noms pour r�soudre la partie machine en utilisant gethostbyaddr()
pour chaque mail qu'il envoie (m�me si vous lui dites de ne pas mettre les
noms sous forme canonique).
a)
utiliser une adresse IP de la RFC1597
(10.0.0.0-10.255.255.255, 172.16.0.0-172.31.255.255,
192.168.0.0-192.168.255.255)
Editez /etc/hosts
et ajoutez ce qui suit comme exemple pour la
machine myhost 10.0.0.1 myhost.me.com myhost
OU
b)
Si vous utilisez NIS (et NIS est compil� dans sendmail comme
cela semble �tre le cas dans la RedHat.) assurez vous que le fichier
/etc/nsswitch.conf
contienne :
hosts: files dns
et dans /etc/hosts
et ajoutez ce qui suit
comme exemple pour la machine myhost [toujours en utilisant l'adressage IP
de la RFC1597] 10.0.0.1 myhost.me.com myhost
NOTE :
Dans a) et dans b) ci-dessus il est vital que vous
listiez le long (compl�tement qualifi�) dans le fichier /etc/hosts utilis�.
i.e la ligne doit �tre 10.0.0.1 myhost.me.com
et NON 10.0.0.1
myhost
vous aurez aussi besoin de d�finir la macro sendmail $j
pour qu'elle contienne myhost.me.com
ajoutez ce qui suit � votre fichier /etc/sendmail.cf
apr�s qu'il
ait �t� g�n�r� Dmyhost.me.com
(ou vous pouvez utiliser
MASQUERADE_AS(myhost.me.com)
dans le fichier .mc
ci-dessous)
NOTE
!!!!! myhost
comme nom de domaine est donn� � titre
d'exemple ; vous n'avez pas � l'utiliser tel quel. Choisissez-vous votre
propre nom de machine si vous n'en avez pas d�j� un.
2)
Assurez-vous que vous avez makemap et qu'il est capable de
supporter hash et/ou le format plus commun dbm ou m�me le format btree (La
version RedHat ne supporte pas dbm). Makemap est normallement distribu� avec
sendmail.
I)
cr�ez votre fichier .mc avec votre �diteur favori ; j'appellerai
ce fichier my.mc
a) Pas de DNS -- machine ind�pendante
include(`../m4/cf.m4')
VERSIONID(`me.com setup with uucp created by xxxx --no dns ')
dnl OSTYPE(linux)
FEATURE(nodns)dnl
FEATURE(nocanonify)dnl
FEATURE(always_add_domain)dnl
FEATURE(mailertable, hash /etc/mailertable)dnl
MAILER(local)dnl
MAILER(smtp)dnl
MAILER(uucp)
define(`SMART_HOST', uucp-dom:mysmarthost)
Dissequons ceci :
include(`../m4/cf.m4')
requiert l'inclusion de la macro m4 qui se
trouve dans ../m4/cf.m4 afin de r�soudre certaines choses.
VERSIONID(`me.com setup with uucp created by xxxx --no dns ')
C'est utilis� pour distinguer les diff�rentes versions du fichier .cf que
vous pourriez finir par cr�er.
OSTYPE(linux)
Ca sert � d�finir/red�finir les choses sp�cifiques �
Linux. Il est prudent de l'avoir ici.
FEATURE(nodns)dnl
Cela veut dire que nous n'avons pas de serveur
DNS (comme nous n'utilisons uucp que pour le mail. Sendmail doit �tre
compil� pour ne pas utiliser bind). C'est devenu obsol�te. Je vais le
laisser ici juste au cas o� vous utiliseriez une version plus ancienne de
sendmail.
FEATURE(nocanonify)dnl
Cela veut dire Ne passez pas les addresses �
la r�gle $[ ... ]$
pour la mise en forme canonique. Normallement si
vous avez BIND compil� dans sendmail, il essayerait et d�velopperait
l'alias/l'adresse IP en un nom canonique gr�ce au DNS. Vous n'en avez pas
besoin si tout ce que vous avez ne sont que des approvionnements par UUCP
i.e. : vous avez une machine ind�pendante.
FEATURE(always_add_domain)dnl
Ceci ajoute le nom de domaine local
m�me au mail local. Ce n'est pas n�cessaire mais j'aime bien ; Ce n'est
peut-�tre pas prudent dans la mesure o� les spammeurs, avec une
configuration appropri�e, peuvent vous emb�ter.
me.com n'est pas connect� au r�seau via tcp/ip donc c'est sans danger.
FEATURE(mailertable, hash /etc/mailertable)dnl
Le fichier
/etc/mailertable
sera une base de donn�e hash�e
o� nous
allons stocker les informations de routage de certains sites. Si vous
n'approvisionez personne vous n'en avez pas besoin. J'en dirai plus
l�-dessus plus tard. Si vous vouliez utiliser le format dbm
vous
auriez FEATURE(mailertable, dbm /etc/mailertable)dnl
Si vous
vouliez utiliser le format btree
vous auriez
FEATURE(mailertable, btree /etc/mailertable)dnl
MAILER(local)dnl MAILER(smtp)dnl MAILER(uucp)
Ce sont les mailers
que nous utilisons.
define(`SMART_HOST', uucp-dom:mysmarthost)
Notre smarthost
est chez notre FAI, il est d�fini dans le fichier
sys
comme system mysmarthost
. Tous les messages
que nous ne pouvons pas traiter (i.e : ceux dont les domaines ou les
mailers nous sont �trangers) seront envoy�s � notre smarthost/FAI qui
s'en d�brouillera. Notez que nous utilisons uucp-dom
comme mailer uucp. Ce mailer particulier utilise des r�gles de
r��critures de type smtp.
b) Avec DNS
include(`../m4/cf.m4')
VERSIONID(`me.com setup with uucp created by xxxx --dns enabled')dnl
OSTYPE(linux)
FEATURE(always_add_domain)dnl
FEATURE(mailertable, hash /etc/mailertable)dnl
MAILER(local)dnl
MAILER(smtp)dnl
MAILER(uucp)
define(`SMART_HOST', uucp-dom:mysmarthost)
II) Cr��z votre fichier sendmail.cf
a)
Sauvegardez votre ancien fichier /etc/sendmail.cf
b)
Remplacez votre fichier sendmail.cf avec le nouveau : m4
my.mc /etc/sendmail.cf
c)
Verifiez que le fichier sendmail.cf a �t� correctement cr�� sur
les bases de vos sp�cifications.
Les quelques probl�mes que j'ai eus sont : le mailer uucp-dom
manquant
C'�tait parceque je n'avais pas mis le mailer smtp. En fait,
j'ai compris que c'est important de le mettre avant l'uucp.
III) Cr��z votre fichier /etc/mailertable
Si vous n'alimentez pas de sites uucp vous pouvez omettre cette �tape.a) cr��z/�ditez le fichier /etc/mailertable
exemple de fichier /etc/mailertable :
system1.org uucp-dom:system1
.system1.org uucp-dom:system1
down.com uucp-dom:down
up.down.com error: Host is unknown at me.com
.down.com uucp-dom:down
.me.com error: Host unknown at me.com
Cela veut dire que tout ce qui est adress� � system1.org
ou �
*.system1.org
et que nous recevons sera envoy� � system1
en utilisant uucp-dom
en autres termes nous faisons le routage de
mail pour *.system1.org
; idem pour down.com
et ses
sous-noeuds sauf en ce qui concerne le filtrage additionnel ; nous renvoyons
tout mail pour le sous-noeud de down up.down.com
en utilisant
le mailer error
int�gr� � sendmail avec le message "Host is
unknown at me.com"
; Tout �a parceque l'administrateur de
down.com
nous l'a demand�. Pour renvoyer les sous-domaines
qui nous sont inconnus nous utilisons la derni�re ligne de mailertable (ce
que sont nous les sous-noeuds par d�faut).
b)
cr�ez la base de donn�es avec makemap
si vous utilisez hash
:
makemap hash /etc/mailertable < /etc/mailertable
si vous utilisez dbm
:
makemap dbm /etc/mailertable </etc/mailertable
si vous utilisez btree
:
makemap btree /etc/mailertable </etc/mailertable
� faire � chaque fois que vous modifiez le fichier.
IV) Red�marrez sendmail
V) Testez sendmail
i)
sendmail -bv user@destination
ii)
utilisez sendmail -bt et entrez plusieurs adresses en utilisant
la r�gle 3,0 pour voir o� elles arrivent et les diff�rentes r�gles et
cheminements "cf" pris.
Vous y �tes !
Hosting by: Hurra Communications GmbH
Generated: 2007-01-26 18:01:21