Sophie

Sophie

distrib > Mandriva > 9.0 > i586 > by-pkgid > 0d5cd12c82d627a82c59047e1ba7b8a9 > files > 2181

howto-html-fr-9.0-0.2mdk.noarch.rpm

<HTML>
<HEAD>
<TITLE>La configuration</TITLE>
</HEAD>
<BODY>
<H1>2. <A NAME="s2"></A>La configuration</H1>
<P>
<A HREF="Sendmail+UUCP.html#toc2">Contenu de cette section</A></P>

<P>C'est pour un syst&egrave;me, hypoth&eacute;tiquement appel&eacute; <CODE>me.com</CODE>, dont le
courrier est envoy&eacute; uniquement via UUCP. <CODE>mysmarthost</CODE> est
le nom de la machine de mon FAI tel qu'il est configur&eacute; dans <CODE>le fichier
uucp sys</CODE> et <CODE>me.com</CODE> est le nom de machine que nous utilisons ou
sous lequel nous sommes connus dans les enregistrements MX sur Internet.
<CODE>mysmarthost</CODE> est connect&eacute; &agrave; Internet. Nous nous moquons
vraiment de savoir comment, nous savons juste qu'elle sait comment nous y
conduire.
<CODE>me.com</CODE>, dont la configuration que nous d&eacute;crivons dans l'exemple,
alimente les sites <CODE>down.com</CODE> et <CODE>system1.org</CODE> et leurs
sous-noeuds. <CODE>me.com</CODE> se connecte &agrave; <CODE>down.com</CODE> via TCP/IP et
se connecte &agrave; <CODE>system1.org</CODE> via une connexion UUCP directe par une
ligne t&eacute;l&eacute;phonique.
La description de la configuration est indiqu&eacute;e &ccedil;i-dessous&nbsp;:</P>
<P>
<PRE>
        ------------------------
        |                       |
        |     Internet          |
        |                       |
        -----------------------
                    |
                    | Ligne dediee a PPP utilisant TCP-IP
                    |
                -------------
                |            |
                |mysmarthost | Serveur de noms autoritaire pour 
                |            | *.me.com, *.down.com, *.system1.org
                |            |
                --------------
                    |
                    | UUCP par reception ligne telephonique pour
                    | system1.org, *.system1.org,*.down.com, down.com
                    | ainsi que me.com et *.me.com
                 ------------
                | * *****  *  |
   ------------ | * me.com *  | ------
                | *        *  |      |
   |            | * *****  *  |      |
   |             ------------        |
   |UUCP via ligne telephonique      | uucp via TCP/IP
   |                                 |
 -----------                  -----------
|           |                |           |
|system1.org|                | down.com  |-------
|           |                |           |      |
 ----------                  ------------       |
     |                                          |
     |                                          |
     |                                          |
     | LAN_: smtp vers le noeud            | UUCP ligne telephonique
     |                                          |
-----------------                             ----------------
|               |                             |              |
|Sous-noeuds de |                             | Reseau local |
|de system1     |                             | de down      |
|               |                             ----------------
-----------------
</PRE>
</P>
<P>Pr&eacute;requis</P>
<P><CODE>1)</CODE> Si vous avez d&eacute;j&agrave; un DNS qui marche ou avez un pointeur sur un
DNS (dans votre /etc/resolv.conf) et avez une connexion directe au r&eacute;seau
alors passez cette partie. Vous &ecirc;tes sauf. Vous n'avez pas de choses
"intelligentes" &agrave; faire.<BR></P>
<P><CODE>2)</CODE> Si vous &ecirc;tes sur une machine utilisant uucp pour le courrier
alors vous n'avez pas vraiment besoin de compiler bind/resolv dans
sendmail&nbsp;;</P>
<P>Comment survivre &agrave; la mise sous forme canonique sur une machine ind&eacute;pendante
sans DNS</P>
<P></P>
<H2>2.1 <A NAME="ss2.1"></A> PARTIE I</H2>

<P>Si vous prenez un sendmail pr&eacute;-compil&eacute; avec BIND dedans vous pouvez toujours
y arriver (comme c'est le cas avec le sendmail de RedHat).</P>
<P><CODE>a)</CODE> Vous r&eacute;f&eacute;rer &agrave; ma solution pour &ccedil;a bas&eacute;e sur le fichier m4
d&eacute;crit (mon favori). Essayez d'utiliser cette option &agrave; moins que vous teniez
&agrave; b) ou c) ci-dessous. OU</P>
<P><CODE>b)</CODE> Si vous me contactez je pourrais vous fournir une version non
compil&eacute;e avec BIND (8.8.5). Peut-&ecirc;tre que RedHat devrait consid&eacute;rer la fourniture de
deux binaires sendmail (comme slackware) un avec BIND et l'autre sans BIND.
OU </P>
<P><CODE>c)</CODE> La solution la plus rapide pour avoir un sendmail sans bind est
d'&eacute;diter les lignes de <CODE>src/conf.h</CODE> ci-dessous comme je l'ai montr&eacute;&nbsp;:</P>
<P><CODE># ifndef NAMED_BIND conf.h:# define NAMED_BIND 0 /* use Berkeley
Internet Domain Server */</CODE></P>
<P></P>

<H2>2.2 <A NAME="ss2.2"></A> PARTIE II</H2>

<P>Sendmail devrait cependant normallement insister &agrave; faire les requ&ecirc;tes de
noms pour r&eacute;soudre la partie machine en utilisant <CODE>gethostbyaddr()</CODE>
pour chaque mail qu'il envoie (m&ecirc;me si vous lui dites de ne pas mettre les
noms sous forme canonique).</P>
<P><CODE>a)</CODE> utiliser une adresse IP de la <CODE>RFC1597</CODE>
(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 <CODE>/etc/hosts</CODE> et ajoutez ce qui suit comme exemple pour la
machine myhost <CODE>10.0.0.1 myhost.me.com myhost</CODE> OU</P>
<P><CODE>b)</CODE> Si vous utilisez NIS (et NIS est compil&eacute; dans sendmail comme
cela semble &ecirc;tre le cas dans la RedHat.) assurez vous que le fichier
<CODE>/etc/nsswitch.conf</CODE> contienne&nbsp;:
<CODE>hosts: files dns</CODE> et dans <CODE>/etc/hosts</CODE> et ajoutez ce qui suit
comme exemple pour la machine myhost <F>toujours en utilisant l'adressage IP
de la RFC1597</F> <CODE>10.0.0.1 myhost.me.com myhost</CODE></P>
<P><CODE>NOTE&nbsp;: </CODE> Dans a) et dans b) ci-dessus il est vital que vous
listiez le long (compl&egrave;tement qualifi&eacute;) dans le fichier /etc/hosts utilis&eacute;.
i.e la ligne doit &ecirc;tre <CODE>10.0.0.1 myhost.me.com</CODE> et NON <CODE>10.0.0.1
myhost</CODE> vous aurez aussi besoin de d&eacute;finir la macro sendmail <CODE>$j</CODE>
pour qu'elle contienne <CODE>myhost.me.com</CODE>
ajoutez ce qui suit &agrave; votre fichier <CODE>/etc/sendmail.cf</CODE> apr&egrave;s qu'il
ait &eacute;t&eacute; g&eacute;n&eacute;r&eacute; <CODE>Dmyhost.me.com</CODE> (ou vous pouvez utiliser
<CODE>MASQUERADE_AS(myhost.me.com)</CODE> dans le fichier <CODE>.mc</CODE>
ci-dessous)</P>
<P><CODE>NOTE</CODE>&nbsp;!!!!! <CODE>myhost</CODE> comme nom de domaine est donn&eacute; &agrave; titre
d'exemple&nbsp;; vous n'avez pas &agrave; l'utiliser tel quel. Choisissez-vous votre
propre nom de machine si vous n'en avez pas d&eacute;j&agrave; un.</P>
<P><CODE>2)</CODE> Assurez-vous que vous avez makemap et qu'il est capable de
supporter hash et/ou le format plus commun dbm ou m&ecirc;me le format btree (La
version RedHat ne supporte pas dbm). Makemap est normallement distribu&eacute; avec
sendmail.</P>
<P></P>

<H2>2.3 <A NAME="ss2.3"></A> CONFIGURATION (le fichier mc)</H2>

<P></P>
<P><CODE>I)</CODE> cr&eacute;ez votre fichier .mc avec votre &eacute;diteur favori&nbsp;; j'appellerai
ce fichier <CODE>my.mc</CODE></P>
<P><CODE>a) Pas de DNS -- machine ind&eacute;pendante</CODE></P>
<P><CODE>include(`../m4/cf.m4')</CODE><BR>
<CODE>VERSIONID(`me.com setup with uucp created by xxxx --no dns ')</CODE><BR>
<CODE>dnl OSTYPE(linux)</CODE><BR>
<CODE>FEATURE(nodns)dnl</CODE><BR>
<CODE>FEATURE(nocanonify)dnl</CODE><BR>
<CODE>FEATURE(always_add_domain)dnl</CODE><BR>
<CODE>FEATURE(mailertable, hash /etc/mailertable)dnl</CODE><BR>
<CODE>MAILER(local)dnl</CODE><BR>
<CODE>MAILER(smtp)dnl</CODE><BR>
<CODE>MAILER(uucp)</CODE><BR>
<CODE>define(`SMART_HOST', uucp-dom:mysmarthost)</CODE><BR></P>
<P>Dissequons ceci&nbsp;:</P>
<P><CODE>include(`../m4/cf.m4')</CODE> requiert l'inclusion de la macro m4 qui se
trouve dans ../m4/cf.m4 afin de r&eacute;soudre certaines choses.</P>
<P><CODE>VERSIONID(`me.com setup with uucp created by xxxx --no dns ')</CODE>
C'est utilis&eacute; pour distinguer les diff&eacute;rentes versions du fichier .cf que
vous pourriez finir par cr&eacute;er.</P>
<P><CODE>OSTYPE(linux)</CODE> Ca sert &agrave; d&eacute;finir/red&eacute;finir les choses sp&eacute;cifiques &agrave;
Linux. Il est prudent de l'avoir ici.</P>
<P><CODE>FEATURE(nodns)dnl</CODE> Cela veut dire que nous n'avons pas de serveur
DNS (comme nous n'utilisons uucp que pour le mail. Sendmail doit &ecirc;tre
compil&eacute; pour ne pas utiliser bind). C'est devenu obsol&egrave;te. Je vais le
laisser ici juste au cas o&ugrave; vous utiliseriez une version plus ancienne de
sendmail.</P>
<P><CODE>FEATURE(nocanonify)dnl</CODE> Cela veut dire Ne passez pas les addresses &agrave;
la r&egrave;gle <CODE>$[ ... ]$</CODE> pour la mise en forme canonique. Normallement si
vous avez BIND compil&eacute; dans sendmail, il essayerait et d&eacute;velopperait
l'alias/l'adresse IP en un nom canonique gr&acirc;ce au DNS. Vous n'en avez pas
besoin si tout ce que vous avez ne sont que des approvionnements par UUCP
i.e.&nbsp;: vous avez une machine ind&eacute;pendante.</P>
<P><CODE>FEATURE(always_add_domain)dnl</CODE> Ceci ajoute le nom de domaine local
m&ecirc;me au mail local. Ce n'est pas n&eacute;cessaire mais j'aime bien&nbsp;; <CODE>Ce n'est
peut-&ecirc;tre pas prudent dans la mesure o&ugrave; les spammeurs, avec une
configuration appropri&eacute;e, peuvent vous emb&ecirc;ter.</CODE>
me.com n'est pas connect&eacute; au r&eacute;seau via tcp/ip donc c'est sans danger.</P>
<P><CODE>FEATURE(mailertable, hash /etc/mailertable)dnl</CODE> Le fichier
<CODE>/etc/mailertable</CODE> sera une base de donn&eacute;e <CODE>hash&eacute;e</CODE> o&ugrave; 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&agrave;-dessus plus tard. Si vous vouliez utiliser le format <CODE>dbm</CODE> vous
auriez <CODE>FEATURE(mailertable, dbm /etc/mailertable)dnl</CODE> Si vous
vouliez utiliser le format <CODE>btree</CODE> vous auriez
<CODE>FEATURE(mailertable, btree /etc/mailertable)dnl</CODE></P>
<P><CODE>MAILER(local)dnl MAILER(smtp)dnl MAILER(uucp)</CODE> Ce sont les mailers
que nous utilisons.</P>
<P><CODE>define(`SMART_HOST', uucp-dom:mysmarthost)</CODE> Notre smarthost 
est chez notre FAI, il est d&eacute;fini dans le fichier
<CODE>sys</CODE> comme <CODE>system mysmarthost</CODE>. Tous les messages
que nous ne pouvons pas traiter (i.e&nbsp;: ceux dont les domaines ou les
mailers nous sont &eacute;trangers) seront envoy&eacute;s &agrave; notre smarthost/FAI qui
s'en d&eacute;brouillera. Notez que nous utilisons uucp-dom
comme mailer uucp. Ce mailer particulier utilise des r&egrave;gles de
r&eacute;&eacute;critures de type smtp.</P>
<P><CODE>b) Avec DNS</CODE></P>
<P><CODE>include(`../m4/cf.m4')</CODE><BR>
<CODE>VERSIONID(`me.com setup with uucp created by xxxx --dns enabled')dnl</CODE><BR>
<CODE>OSTYPE(linux)</CODE><BR>
<CODE>FEATURE(always_add_domain)dnl</CODE><BR>
<CODE>FEATURE(mailertable, hash /etc/mailertable)dnl</CODE><BR>
<CODE>MAILER(local)dnl</CODE><BR>
<CODE>MAILER(smtp)dnl</CODE><BR>
<CODE>MAILER(uucp)</CODE><BR>
<CODE>define(`SMART_HOST', uucp-dom:mysmarthost)</CODE><BR></P>
<P><CODE>II) Cr&eacute;&eacute;z votre fichier sendmail.cf</CODE></P>
<P><CODE>a)</CODE> Sauvegardez votre ancien fichier <CODE>/etc/sendmail.cf</CODE><BR>
<CODE>b)</CODE> Remplacez votre fichier sendmail.cf avec le nouveau&nbsp;: <CODE>m4
my.mc /etc/sendmail.cf</CODE><BR>
<CODE>c)</CODE> Verifiez que le fichier sendmail.cf a &eacute;t&eacute; correctement cr&eacute;&eacute; sur
les bases de vos sp&eacute;cifications.<BR>
Les quelques probl&egrave;mes que j'ai eus sont&nbsp;: <CODE>le mailer uucp-dom
manquant</CODE> C'&eacute;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.<BR></P>
<P><CODE>III) Cr&eacute;&eacute;z votre fichier /etc/mailertable</CODE><BR>
Si vous n'alimentez pas de sites uucp vous pouvez omettre cette &eacute;tape.<BR>
<CODE>a) cr&eacute;&eacute;z/&eacute;ditez le fichier /etc/mailertable</CODE>
exemple de fichier /etc/mailertable&nbsp;:</P>
<P><CODE>system1.org uucp-dom:system1</CODE><BR>
<CODE>.system1.org uucp-dom:system1</CODE><BR>
<CODE>down.com uucp-dom:down</CODE><BR>
<CODE>up.down.com  error: Host is unknown at me.com</CODE><BR>
<CODE>.down.com uucp-dom:down</CODE><BR>
<CODE>.me.com error: Host unknown at me.com</CODE><BR></P>
<P>Cela veut dire que tout ce qui est adress&eacute; &agrave; <CODE>system1.org</CODE> ou &agrave;
<CODE>*.system1.org</CODE> et que nous recevons sera envoy&eacute; &agrave; <CODE>system1</CODE>
en utilisant <CODE>uucp-dom</CODE> en autres termes nous faisons le routage de
mail pour <CODE>*.system1.org</CODE>; idem pour <CODE>down.com</CODE> et ses
sous-noeuds sauf en ce qui concerne le filtrage additionnel&nbsp;; nous renvoyons
tout mail pour le sous-noeud de down <CODE>up.down.com</CODE> en utilisant
le mailer <CODE>error</CODE> int&eacute;gr&eacute; &agrave; sendmail avec le message <CODE>"Host is
unknown at me.com"</CODE>&nbsp;; Tout &ccedil;a parceque l'administrateur de
<CODE>down.com</CODE> nous l'a demand&eacute;. Pour renvoyer les sous-domaines
qui nous sont inconnus nous utilisons la derni&egrave;re ligne de mailertable (ce
que sont nous les sous-noeuds par d&eacute;faut).</P>
<P><CODE>b)</CODE> cr&eacute;ez la base de donn&eacute;es avec <CODE>makemap</CODE></P>
<P>si vous utilisez <CODE>hash</CODE>&nbsp;:
<CODE>makemap hash /etc/mailertable &lt; /etc/mailertable</CODE>
si vous utilisez <CODE>dbm</CODE>&nbsp;:
<CODE>makemap dbm /etc/mailertable &lt;/etc/mailertable</CODE>
si vous utilisez <CODE>btree</CODE>&nbsp;:
<CODE>makemap btree /etc/mailertable &lt;/etc/mailertable</CODE></P>
<P>&agrave; faire &agrave; chaque fois que vous modifiez le fichier.</P>
<P><CODE>IV) Red&eacute;marrez sendmail</CODE></P>
<P><CODE>V) Testez sendmail</CODE>
<CODE>i)</CODE> sendmail -bv user@destination
<CODE>ii)</CODE> utilisez sendmail -bt et entrez plusieurs adresses en utilisant
la r&egrave;gle 3,0 pour voir o&ugrave; elles arrivent et les diff&eacute;rentes r&egrave;gles et
cheminements "cf" pris.
<CODE>Vous y &ecirc;tes&nbsp;!</CODE></P>
<P></P>

<HR>
<P>
Chapitre <A HREF="Sendmail+UUCP-3.html">suivant</A>,
Chapitre <A HREF="Sendmail+UUCP-1.html">Pr&eacute;c&eacute;dent</A>
<P>
Table des mati&egrave;res de <A HREF="Sendmail+UUCP.html#toc2">ce chapitre</A>,
 <A HREF="Sendmail+UUCP.html#toc">Table des mati&egrave;res</A> g&eacute;n&eacute;rale</P>
<P>
<A HREF="Sendmail+UUCP.html">D&eacute;but</A> du document,
 <A HREF="#0"> D&eacute;but de ce chapitre</A></P>
</BODY>
</HTML>