ISP-Hookup-HOWTO

Par Egil Kvaleberg, egilk@sn.no.

v1.26, 5 Mars 1998
Ce document décrit la façon d'utiliser Linux pour se connecter à un fournisseur d'accès Internet au moyen d'une connexion TCP/IP par modem. Il explique la procédure d'appel téléphonique et d'établissement du protocole IP, ainsi que la façon de gérer le courrier électronique et les forums de discussion USENET.

1. Introduction

Ce document est fait pour répondre aux questions des clients des F.A.I. (Fournisseurs d'Accès Internet) concernant la façon de configurer et d'utiliser Linux.

Afin d'aider ceux qui veulent connecter leurs machines Linux à un F.A.I. pour la première fois, ce document essaie de couvrir la plupart des situations possibles. Ceci provoque, inévitablement, plusieurs recoupements avec les autres HowTo Linux et livres du Linux Development Project (L.D.P.). Pour mieux appréhender les détails, il est conseillé de se référer à ces documents.

La plupart des documentations existantes s'adressent à des utilisateurs ayant une certaine expérience, et les utilisateurs débutants ont souvent des problèmes pour en extraire les informations intéressantes.

Pour simplifier, les exemples de ce document supposeront ce qui suit :

La machine de dirk s'appelle roderick.

Toutes les informations ci-dessus doivent naturellement être remplacées par celles concernant le F.A.I. que vous utilisez. La plupart du temps, un minimum de modifications doivent être apportées pour les utilisateurs ayant plusieurs F.A.I. Informez-moi des problèmes que vous rencontrez sur ce point.

1.1 Copyright

Copyright (c) 1996,1997,1998 par Egil Kvaleberg. Ce document peut être distribué sous les termes de la licence LDP disponible à

http://sunsite.unc.edu/LDP/COPYRIGHT.html

1.2 Limites de responsabilité

Aucune responsabilité quant au contenu de ces documents ne peut être acceptée. Vous utilisez les concepts, exemples et autres contenus à vos propres risques.

L'une des nombreuses configurations possibles sera décrite. Dans le monde Linux, il y a généralement plusieurs façons de faire les choses. Les paragraphes contenant des conseils sont repérés par ALT : Notez aussi que les références FTP changent souvent légèrement lorsqu'apparaissent de nouvelles versions des programmes.

Pour autant que je sache, seuls seront décrits les programmes qui peuvent être utilisés ou évalués dans un but personnel. La plupart de ces programmes seront disponibles avec leurs sources sous une licence GNU-like.

1.3 Traductions

Ce document a été traduit dans les langues suivantes :

Allemand, par Cristoph Seibert :

http://tech.appl-opt.physik.uni-essen.de/LinuX/german-howto/DE-ISP-Verbindung-HOWTO.html

Coréen, par Kidong Lee :

http://www.postech.ac.kr/~cessi/howto/ISP-Hookup/ISP-Hookup-HOWTO.html

Français, par Éric Jacoboni :

http://www.minet.net/linux/HOWTO-fr/ISP-Hookup-HOWTO.html

Polonais, par Piotr Pogorzelski : URL TBA

Norégien :

http://www.kvaleberg.com/no-linux.html

1.4 Nouvelles versions de ce document

Les nouvelles versions de ce document seront régulièrement postées dans comp.os.linux.answers. Elles seront aussi mises sur les différents sites FTP qui archivent le L.D.P. Parmi ceux-ci :

ftp://sunsite.unc.edu/pub/Linux/docs/HOWTO

De plus, vous pourrez généralement trouver ce document sur la page du Linux Development Project WWW à :

http://sunsite.unc.edu/LDP/

La dernière version de ce document sera disponible sous divers formats à :

ftp://ftp.sol.no/user/egilk/ISP-Hookup-HOWTO.txt

ftp://ftp.sol.no/user/egilk/ISP-Hookup-HOWTO.ps.gz

ftp://ftp.sol.no/user/egilk/ISP-Hookup-HOWTO.tar.gz

http://www.kvaleberg.com/ISP-Hookup-HOWTO.html

1.5 Critiques

Tous commentaires, erreurs constatées, informations supplémentaires et critiques de toutes sortes doivent être envoyées à :

egil@kvaleberg.no

http://www.kvaleberg.com/

Tous commentaires concernant la traduction, les éventuelles fautes commises par le traducteur doivent être envoyées à :

jaco@mail.dotcom.fr

2. Comment se connecter au reste du monde ?

Je suppose que les composants logiciels réseau essentiels de votre distribution Linux ont été installés, et qu'il a été décidé quel sera le port série utilisé par /dev/modem.

En général, la configuration par défaut permet uniquement un accès direct à /dev/modem sous le compte root.

Pour se connecter directement à un F.A.I, et pour expérimenter les séquences de connexion, on peut utiliser le programme minicom, relativement simple à utiliser.

2.1 La configuration de base

La configuration de la machine pour son utilisation sur le réseau doit se faire sous le compte root. Avant d'aller plus loin, il faut vérifier que le fichier /etc/hosts.deny contient la ligne suivante :

 
ALL: ALL 

Normalement, on veut s'autoriser soi-même, il faut donc ajouter la ligne suivante au fichier /etc/hosts.allow :

 
ALL: LOCAL 

Ou, si on veut insister :

 ALL: 127.0.0.1 

Pour tout ce qui suit, on suppose des connexions via PPP au moyen d'une adresse IP dynamique. Si on fait partie des privilégiés ayant une adresse fixe, il y aura quelques différences à prendre en compte.

Il est pratique d'avoir un nom pour sa machine, un nom que l'utilisateur IP peut choisir comme il, ou elle, le désire. Pour cela, il faut mettre ce nom dans /etc/HOSTNAME :

roderick

L'étape suivante consiste à déclarer le serveur de noms dans /etc/resolv.conf :

search .
nameserver 193.212.1.0

Le serveur de noms soit être spécifié par une adresse IP numérique qui dépend du F.A.I. On peut avoir jusqu'à trois serveurs de noms différents, chacun sur une ligne différente, ils seront appelés dans l'ordre où ils sont listés.

Si l'on veut pouvoir utiliser des noms comme unemachine pour résumer le nom complet unemachine.acme.xz, on doit remplacer la première ligne par :

search acme.xz

Un minimum de configuration sera aussi nécessaire dans /etc/hosts. La plupart des utilisateurs seront ainsi capable de gérer :

127.0.0.1      localhost
0.0.0.0        roderick
Ceux possédant une adresse IP fixe remplaceront évidemment 0.0.0.0 par celle-ci...

De plus, le minimum que doit contenir le fichier /etc/networks est :

loopback        127.0.0.0
localnet         0.0.0.0

On doit aussi configurer son domaine de courrier électronique dans /etc/mailname :

acme.xz

Le nom d'utilisateur et le mot de passe nécessaires pour se connecter au F.A.I. doivent être spécifiés dans /etc/ppp/pap-secrets

dirk * SuperSecret

Dans le cas où le F.A.I. utilise CHAP au lieu de PAP, le nom de fichier est /etc/ppp/chap-secrets.

Enfin, les points fondamentaux concernant la procédure de connexion elle-même doivent être précisés avant que PPP soit démarré. Ceci est fait dans /etc/ppp/chatscript :

TIMEOUT 5
"" ATZ
OK ATDT12345678
ABORT "NO CARRIER"
ABORT BUSY
ABORT "NO DIALTONE"
ABORT WAITING
TIMEOUT 45
CONNECT ""
TIMEOUT 5
"name:" ppp

Ces lignes peuvent être peaufinées pour les cas particuliers. Le numéro de téléphone dans la troisième ligne doit, bien sûr, être celui du fournisseur d'accès. Certains peuvent remplacer la chaîne d'initialisation ATZ du modem par une autre, plus adaptée au modem qu'ils utilisent. La dernière ligne spécifie que l'on attend un prompt se terminant par name:, et que la réponse doit être ppp. D'autres systèmes peuvent avoir d'autres procédures de connexion.

Pour réellement lancer une connexion, le protocole PPP peut être initialisé en lançant la commande suivante :

exec pppd connect \
     'chat -v -f /etc/ppp/chatscript' \
      -detach crtscts modem defaultroute \
      user dirk \
      /dev/modem 38400

Normalement, on doit être en ligne, et le rester jusqu'à ce que le programme soit détruit en tapant ctrl-C. Tous les messages concernant la connexion seront ajoutés aux fichiers diagnostics du système. Pour les lire, il suffit de faire :

tail /var/adm/messages
ou
dmesg

Aussi longtemps que la connexion PPP fonctionne, on a accès à Internet et on peut utiliser des programmes comme ftp, ncftp, rlogin, telnet, finger etc. Tous ces programmes font partie du paquetage réseau.

De plus amples informations sur PPP sont disponibles dans :

/usr/lib/ppp/README.linux

/usr/lib/ppp/README.linux-chat

Enfin, un mot sur la sécurité. Le fichier /etc/inetd.conf énumère tous les services que notre machine offrira au monde extérieur. Avec le fichier /etc/hosts.deny que l'on a créé plus haut, aucun accès extérieur n'est permis. Pour ceux qui en ont besoin, les accès doivent être explicitement permis au moyen du fichier /etc/hosts.allow. Les transactions locales peuvent être permises par la ligne suivante :

ALL: LOCAL
Voir aussi man 5 hosts_access.

Une dernière remarque mineure : une certaine confusion existe sur les noms des protocoles POP. Une définition dans le fichier /etc/services compatible avec à peu près tout est :

pop2      109/tcp   pop-2          # PostOffice V.2
pop3      110/tcp   pop-3 pop      # PostOffice V.3

ALT : A la place de chatscript, on peut utiliser le programme dip, bien plus souple : mais pas en même temps que diald.

ALT : Les privilégiés ayant une connexion TCP/IP permanente, par exemple par un réseau Ethernet, peuvent sans problème tout ignorer sur PPP et se concentrer sur la configuration de leur carte réseau.

ALT : Certains peuvent ne pas avoir la possibilité d'utiliser PPP, mais peuvent utiliser SLIP à la place. Ce dernier protocole est supporté de la même façon que PPP. Une autre possibilité est d'utiliser UUCP. D'autres peuvent échanger du courrier et des news au moyen de SOUP. Une description de ce dernier cas est donné dans :

ftp://ftp.sol.no/user/bjorn/Linux-offline.tgz

Le programme TERM est aussi envisageable. Pour l'utiliser, voir Term-HOWTO.

3. Comment surfer ?

Si l'on considère que le mode texte est ce qu'il y a de mieux, on peut utiliser le navigateur web Lynx, que l'on trouvera à l'adresse suivante :

ftp://sunsite.unc.edu/pub/Linux/system/Network/info-systems/lynx-2.3.bin2.tar.gz

Si on travaille sous X Window, on peut aussi utiliser l'un des nombreux navigateurs graphiques. Chimera se trouve à l'adresse suivante :

ftp://sunsite.unc.edu/pub/Linux/system/Network/info-systems/chimera-1.65.bin.ELF.tar.gz

http://www.unlv.edu/chimera/

Mosaic :

ftp://sunsite.unc.edu/pub/Linux/system/Network/info-systems/Mosaic-2.7b1-aout.tgz

ftp://ftp.NCSA.uiuc.edu/Web/Mosaic/Unix/binaries/2.6

Netscape (aka. Mozilla) :

ftp://sunsite.unc.edu/pub/Linux/system/Network/info-systems/netscape-v11b3.tar.gz

ftp://ftp.cs.uit.no/pub/www/netscape

Ces navigateurs sont toujours disponibles dans de nouvelles et passionnantes versions.

L'utilisation et l'évaluation de ces programmes sont sujets à certaines conditions. Respectez-les.

4. Comment envoyer et recevoir du courrier électronique ?

D'abord, il faut s'assurer que sendmail est installé. Sendmail trie le courrier interne et à destination de l'extérieur et conserve ce dernier jusqu'au moment où il peut l'envoyer.

Sendmail est basé sur une configuration que l'on trouve dans /etc/sendmail.cf. Un exemple convenant aux utilisateurs de F.A.I. se trouve dans :

ftp://ftp.sol.no/user/egilk/sendmail.cf

Celui-ci utilise procmail comme agent postal mais peut être facilement modifié pour utiliser deliver.

Il est, bien sûr, nécessaire d'avoir une adresse de domaine officielle pour le courrier extérieur. Cette information est donnée dans /etc/sendmail.cf:

# who I masquerade as (null for no masquerading)
DMacme.xz

Ceci suppose que l'on ait le même nom d'utilisateur local que pour son F.A.I. S'il est différent, précisez le nom complet à la place :

DMdick@acme.xz

Sendmail est maintenant configuré pour envoyer directement au destinataire. Pour éviter de longues connexions répétitives dans les cas où la connexion du destinataire est lente et irrégulière, il est généralement pratique d'utiliser un F.A.I. comme moyen de stockage. Ceci doit être précisé par une spécification DS :

# "Smart" relay host (may be null)
DSmail.acme.xz

Attention : sendmail est quelque peu sensible à la présence de caractères de tabulation dans sendmail.cf. On peut utiliser l'éditeur vi pour s'assurer que ces caractères de tabulation sont laissés inchangés.

La réception de courrier est souvent réalisée par le protocole POP3 qui peut être démarré à chaque fois que la connexion est établie. On peut tester ça par le script suivant :

sendmail -q
popclient -3 -v mail.acme.xz -u dirk -p "SuperSecret" \
       -k -o /usr/spool/mail/dirk

Ce script peut être lancé après que la connexion PPP ait été établie. Attention : ce script est uniquement pour tester, il faut donc s'assurer que la boîte à lettres locale n'est pas modifiée pendant l'exécution du script. L'option -k indique que le courrier doit être laissé dans la boître à lettre du F.A.I. et que l'on récupère seulement une copie du courrier. Bien sûr, une fois que l'on sait que la configuration fonctionne, on enlève cette option.

Attention : le mot de passe apparaîtra sur la ligne de commande. Notez aussi que popclient est obsolète et que vous devriez utiliser fetchmail à la place.

Une version plus sécurisée et améliorée de ce script peut être récupérée à l'adresse suivante :

ftp://ftp.sol.no/user/egilk/pop-script.tar.gz

Cette version du script nécessite l'installation de procmail, mais c'est un travail que l'on ne regrettera jamais de toutes façons. La plupart des distributions l'incluent, sinon, vous pouvez essayer :

ftp://sunsite.unc.edu/pub/Linux/system/Mail/mailhandlers/procmail-3.10-2.tar.gz

Procmail est un outil simple et souple qui peut trier le courrier entrant selon un grand nombre de critères. Il est aussi capable de gérer des tâches automatiques comme les messages d'absences et autres.

Il faut noter que lorsqu'on utilise procmail directement comme ci-dessus, la situation est quelque peu différente de celle décrite dans la documentation de ce programme. Le fichier .forward n'est pas nécessaire, et l'on n'a pas besoin non plus de fichier .procmailrc. Ce dernier est uniquement requis si on veut trier le courrier.

Une interface utilisateur pour la lecture et l'envoi de courrier peut être trouvée dans des programmes comme pine ou elm.

ALT : Fetchmail est maintenant une alternative très améliorée de popclient. La dernière version est disponible à :

ftp://ftp.ccil.org/pub/esr/fetchmail/fetchmail-3.3.tar.gz

ALT : S'il n'est pas réellement nécessaire d'avoir le démon sendmail activé, on peut mettre en commentaires le démarrage de sendmail, comme cela est généralement fait dans /etc/rc.d/rc.M (ceci peut varier selon les distributions) afin de réduire l'utilisation des ressources et d'autres problèmes potentiels.

ALT : A la place de sendmail on peut utiliser le programme smail, plus simple. On trouve une bonne description de celui-ci (et de bien d'autres choses évoquées ici) dans le Guide de l'administration réseau sous Linux.

ALT : Il existe aussi un ensemble de macros m4 pour réaliser un /etc/sendmail.cf tout neuf. Il peut convenir à une simple installation aussi bien que pour modifier une configuration existante.

ALT : Il y a encore d'autres possibilités plus simples mais moins souples pour gérer le courrier. Par exemple, le programme Pine peut fonctionner de manière autonome s'il est configuré correctement. On peut aussi utiliser certains explorateurs Web.

ALT : Utilisé comme gestionnaire de courrier et de news, le module Gnus d'Emacs a de nombreux fans. De plus amples informations se trouvent à :

http://www.ifi.uio.no/~larsi/

ALT : Une alternative à popclient est pop-perl5, disponible à :

ftp://sunsite.unc.edu/pub/Linux/System/Mail/pop-perl5-1.1.tar.gz

5. Les News

5.1 Comment configurer un lecteur de News online ?

Tant que PPP est actif, on peut lire les news online. Il y a beaucoup de programmes disponibles pour cela, deux possibilités simples étant rtin et trn.

Pour commencer à lire les news, la seule chose nécessaire pour la configuration est, dans la plupart des cas, de configurer NNTPSERVER (généralement une fois pour toutes dans le fichier .profile) :

 
export NNTPSERVER=news.acme.xz

Pour avoir une adresse From correcte dans les envois, certains programmes nécessitent éventuellement :

 
export NNTP_INEWS_DOMAIN=acme.xz 

5.2 Comment configurer un lecteur de News offline ?

Pour pouvoir lire les news en étant offline, réduire la note de téléphone et avoir une plus grande souplesse, on peut mettre en place un serveur local de News. Ceci nécessite un peu de configuration ainsi que de l'espace sur le disque. Après l'installation, les choses fonctionneront plus ou moins d'elles-mêmes. Un peu d'attention sera nécessaire de temps en temps.

Deux solutions différentes seront décrites.

5.3 Comment installer C News?

Cette solution est basée sur le serveur de News C News et sur le protocole NNTP. C News était prévu, à l'origine, pour un autre type de configuration, mais est suffisamment souple pour gérer aussi notre situation. On peut aussi utiliser le serveur de News INN plus récent mais aussi plus gourmand en ressources. Quel que soit le choix, il faut veiller a ne pas installer les deux : ils cohabitent difficilement.

Il est crucial d'effectuer les travaux de maintenance des News sous le compte news. De plus, tous les fichiers de configuration doivent être placés dans le répertoire /usr/lib/news. Une façon de faire, lorsqu'on est sous le compte root, est de taper su news; cd.

Les fichiers les plus importants de la configuration sont :

Dirk Gently's Holistic Detective Agency

ME:all/all::
acme/acme.xz:all,!junk/all:FL:

mkdir /var/spool/news/out.going/acme

C News nécessite un peu de maintenance journalière, mais ceci peut être spécifié une fois pour toute en utilisant la commande crontab -e en tant qu'utilisateur news. Voici une configuration possible qui peut être ajustée selon les besoins :

 
# maintenance des lots entrants et sortants 
10,40 * * * * /usr/lib/newsbin/input/newsrun

# expiration des C News, une fois par jour
30 0  * * * /usr/lib/newsbin/expire/doexpire

# surveillance et rapports si nécessaire
00 2  * * sat /usr/lib/newsbin/maint/addmissing
40 3  * * * /usr/lib/newsbin/maint/newswatch
50 3  * * * /usr/lib/newsbin/maint/newsdaily

newsrun place les articles entrants et sortants toutes les demi-heures, doexpire détruit les articles lorsqu'ils sont périmés chaque nuit à 00:30 et les trois dernières commandes réalisent différentes tâches d'administration et de correction d'erreur.

On doit aussi s'assurer que tout est correct lorsqu'on démarre la machine. En tant qu'utilisateur root, il faut ajouter la ligne suivante dans /etc/rc.d/rc.local :

su news -c /usr/lib/newsbin/maint/newsboot
Les News peuvent être récupérées en utilisant le programme newsx , qui les prend sur un serveur NNTP. Ce programme peut être trouvé à l'adresse suivante :

ftp://sunsite.unc.edu/pub/Linux/system/news/transport/newsx-0.9.tar.gz Ou :

ftp://ftp.sol.no/user/egilk/newsx-0.9.tar.gz

La configuration de newsx est très simple. Son installation est classique :

make
su
make install
exit

Avec cette configuration, tout ce que l'on a à faire est de créer les groupes que l'on veut lire en utilisant la commande addgroup.

Pour récupérer les articles, l'utilisateur >news lance les commandes suivantes (en supposant une connexion PPP ou similaire établie) :

newsrun
newsx acme news.acme.xz
newsrun

L'option -d permet un affichage continu à l'écran. La documentation de newsx donne toutes les informations nécessaires.

newsx s'occupe aussi de poster les articles sortants.

Pour contrôler la suppression des articles périmés, on a besoin d'un fichier explist. Les commentaires de cet exemple devraient expliquer ce que l'on cherche à faire :

# maintenu dans l'historique 14 jours, rien ne dure plus de 120 jours
/expired/                          x    14      -
/bounds/                           x    0-1-120 -

# on garde ça pendant 2 mois
comp.sources,comp.os.linux.all     x    60      -

# les déchets sont vite supprimés
junk,control                       x    2       -

# défaut:  14 jours, pas  d'archivage
all                                x    14      -

ALT : Pour les petits serveurs de News, on n'a pas souvent besoin du contrôle newgroup. Le trafic est énorme comparé à son utilité possible. Le point essentiel est que les articles soient supprimés et que les groupes puissent être créés automatiquement. Pour être sûr que les messages de contrôle contenant newgroup ne brouillent pas les choses, un fichier nommé newgroupperm spécifie ce que l'on autorise :

comp.os.linux  tale@uunet.com yv
all            any            nq
Dans cet exemple, tous les groupes sous comp.os.linux seront crées (y), et l'utilisateur news en sera averti (v). Tout le reste sera silencieusement (q) ignoré (n). La dernière ligne suffit si l'on veut créer tous les groupes manuellement.

ALT : Une alternative à newsx est suck.

5.4 Comment configurer Leafnode?

Une tout autre solution consiste à installer le paquetage intégré leafnode. Celui-ci gère toutes les tâches nécessaires à un serveur de News personnel et est facile à configurer. Il est disponible à :

http://www.troll.no/freebies/leafnode.html

Comme pour C News, tous les travaux de maintenance doivent absolument être faits par l'utilisateur news.

Le répertoire de base de leafnode est /usr/lib/leafnode. Pour l'installer, faire :

cd /usr/lib/leafnode
tar -xzvf leafnode-0.8.tgz
cd leafnode-0.8
make
su
make install

Notez que, dans ce qui suit, le préfixe /usr/local/sbin devra être remplacé par /usr/sbin si vous avez installé leafnode à partir d'un paquetage.

Toujours sous le compte root, on change la ligne qui contrôle NNTP dans le fichier /etc/inetd.conf :

nntp  stream  tcp  nowait  news  /usr/sbin/tcpd /usr/local/sbin/leafnode
Puis, on l'active par :
killall -HUP inetd

On retourne sous le compte news en tapant exit. Dans /usr/lib/leafnode/config, on change la ligne qui déclare le serveur NNTP. Dans notre cas :

server = news.acme.xz

Leafnode se recherchera lui-même en ajoutant la commande suivante par crontab -e comme utilisateur news :

# expiration de Leafnode, une fois par jour
0 4 * * * /usr/local/sbin/texpire

L'échange de News est aussi réalisé sous le compte news par la commande suivante (PPP est sensé fonctionner) :

/usr/local/sbin/fetch

Les utilisateurs voulant lire les news doivent alors utiliser la recette décrite dans Comment configurer un lecteur de News on-line ?, en la configurant pour la machine locale, i.e :

export NNTPSERVER=localhost

C'est tout ce qu'il y a à faire. Le premier fetch transférera une liste des groupes de news disponibles. Leafnode s'occupera alors des groupes que les utilisateurs désirent et s'adaptera la prochaine fois qu'il est activé.

Notez que leafnode semble ne pas fonctionner dans les cas où une autorisation NNTP est nécessaire.

ALT : Une alternative à leafnode est nntpcache, disponible à :

ftp://ftp.suburbia.net/pub/nntpcache/nntpcache.tgz

ALT : Une autre possibilité est d'utiliser le lecteur de news slrn en même temps que le paquetage slrn-pull. Le lecteur de news doit avoir été compilé avec l'option spool.

6. Comment automatiser la procédure de connexion ?

La gestion automatisée des news et du courrier est simple à réaliser sous Linux.

Tout d'abord, on doit créer un script /usr/lib/ppp/ppp-on qui démarre la connexion au F.A.I. Souvent, ce fichier contient simplement la ligne suivante :

/usr/sbin/pppd
Les précisions supplémentaires sont faites dans /etc/ppp/options :
connect "/usr/lib/ppp/chat -v -f /etc/ppp/chatscript"
crtscts
modem
defaultroute
asyncmap 00000000
user dirk
/dev/modem 38400

Pour terminer une connexion, on utilise la version fournie de /usr/lib/ppp/ppp-off.

Après avoir testé le fonctionnement de ces deux scripts, on doit écrire ceux qui réalisent les différentes tâches. Le script pour récupérer le courrier a été décrit plus haut et on suppose qu'il se trouve dans /home/dirk/pop.

Un script pour l'envoi de courrier peut être créé dans /root/mail :

#! /bin/sh
#
# échange de courrier
# timeout de 10 minutes :
TIMEOUT=600
DT=10

# lancer sendmail :
sendmail -q &

# récupérer le courrier :
su dirk -c /home/dirk/pop

# attendre que sendmail se termine :
t=0
while ! mailq | grep -q "Mail queue is empty"; do
    t=$[$t+$DT]
    if [ $t -gt $TIMEOUT ] ; then
     echo "sendmail -q timeout ($TIMEOUT).."
     exit 1
    fi
    sleep $DT
done

exit 0

Le script pour envoyer des News peut être créé dans /usr/lib/news/news :

#!/bin/sh
#
# échange des news
# doit être lancé par l'utilisateur news :
cd /usr/lib/news

# mettre à jour le lot de sortie (C News) :
/usr/lib/newsbin/input/newsrun < /dev/null

# échange des news :
/usr/lib/newsbin/newsx acme news.acme.xz

# vidage du lot entrant :
/usr/lib/newsbin/input/newsrun < /dev/null
Un script pour rassembler tout cela reste à écrire dans /root/news+mail:
#!/bin/sh
#
# échange de courrier et de news
# doit être lancé par root
#
if ! /usr/lib/ppp/ppp-on; then
    exit 1
fi
trap "/usr/lib/ppp/ppp-off" 1 2 3 15

# échange de news+mail :
/root/mail &
su news -c  news/news
wait

# déconnexion...
/usr/lib/ppp/ppp-off

# mise à jour du lot entrant (C News) :
su news -c /usr/lib/newsbin/input/newsrun < /dev/null &

exit 0

Il est très facile d'étendre tout ceci afin de n'établir une connexion que si du courrier ou des news sortants sont présents. On appellera ce script /root/news+mail.cond, et on se rappellera que le nom du spool de news sortant doit être modifié pour que cela fonctionne :

#!/bin/sh
#
# échange de news et courrier, seulement s'il y a des news ou du courrier sortant.
# (C News spool)
if [ -s /var/spool/news/out.going/acme/togo ] ||
    ! ( mailq | grep -q "Mail queue is empty"); then
     /root/news+mail
fi

La seule chose restant à faire est de dire le moment où tout cela doit se passer. Pour cela, on utilise la commande crontab -e sous le compte root. On suppose que l'on veut toujours échanger les news et le courrier à 7 heures du matin, puis toutes les 4 heures s'il y a des news et du mail sortant :

00 7           * * *     /root/news+mail
00 11,15,19,23 * * *     /root/news+mail.cond

Il faut s'assurer que chaque partie fonctionne correctement avant de les intégrer ensemble. On peut ajouter plusieurs autres tâches par la suite, comme le réglage de l'horloge (en utilisant ntpdate), et la mise à jour automatique (miroir) des fichiers WWW er FTP locaux par rapport à ceux du F.A.I (en utilisant make et ftp).

ALT : Selon les préférences, il est aussi possible de renverser le processus. Chaque fois qu'une connexion PPP est établie, le script /etc/ppp/ip-up sera démarré. On peut y ajouter tout ce qui est nécessaire pour démarrer l'échange de courrier et des news. Voir man pppd pour plus de détails.

ALT : On peut aussi se connecter en PPP à chaque fois qu'un trafic réseau est détecté. C'est, dans bien des cas, la solution la plus élégante mais elle est tributaire d'une bonne configuration pour éviter l'établissement de connexions fréquentes et coûteuses. Plus d'information peut être trouvée à :

http://www.dna.lth.se/ erics/diald.html

L'utilitaire diald est disponible à :

ftp://sunsite.unc.edu/pub/Linux/system/Network/serial/diald-0.16.tar.gz

Au même endroit, on trouvera aussi d'autres variations sur les connexions PPP.

7. Pour finir

7.1 Y a t'il d'autres choses que je devrais savoir ?

PostMaster: root
ftp: root
news: root
usenet: root
FaxMaster: root
fax: root
WebMaster: root
MAILER.DAEMON: root

ftp://ftp.sol.no/user/egilk/yarn2mf.zip

8. Informations spécifiques aux F.A.I.

Des informations plus spécifiques à certains F.A.I. sont disponibles à partir de plusieurs sources :

Démon Internet

ftp://ftp.demon.co.uk/pub/unix/linux/Demon/slack3.0.help.tgz

Netcom

http://www.netcom.com/bin/webtech/NetCruiser/Operating_Systems/Linux/linux.cfg.html

PowerTech, Telenor Online, Telia

http://www.kvaleberg.com/no-isp.html

Stanford

http://www-leland.stanford.edu/ wkn/Linux/network/network.html

MCI

http://www.kvaleberg.com/linux-mci.html

SISCOM

http://www.siscom.net/support/linux_setup.htm

AOL ce n'est pas possible car AOL utilise un protocole propriétaire.

Si vous pouvez donner une information spécifique à un F.A.I qui n'est pas listée ici, merci de le signaler.

8.1 Comment en savoir plus ?

Le livre du Linux Documentation Project, intitulé Linux Network Administrator's Guide (NdT : traduit en français sous le titre Administration réseau sous Linux) et écrit par Olaf Kirch est obligatoire pour celui qui veut configurer et maintenir tout ce qui touche à TCP/IP et à Internet.

ftp://sunsite.unc.edu/pub/Linux/docs/linux-doc-project/network-guide/nag-1.0.ascii.tar.gz

La documentation fournie avec chaque paquetage donne normalement toutes les informations nécessaires, en tout cas, un survol. Les man-pages sont toujours le premier endroit pour chercher une information. Par exemple, on peut essayer :

 man pppd 

On peut aussi trouver de la documentation sur certains programmes dans l'arborescence /usr/doc, bien qu'elle ne soit pas toujours bien structurée.

Les HOWTOS suivants sont particulièrement pertinents :

Red Hat a une liste de diffusion spécialisée pour PPP ; pour en faire partie, envoyez un message à

redhat-ppp-list-request avec le champ sujet suivant :

subscribe

8.2 Remerciements

Toutes ces informations viennent de nombreuses sources. Merci aux personnes suivantes qui ont participé directement, ou indirectement :

Adam Holt 
Arne Coucheron 
Arne Riiber 
Arnt Gulbrandsen 
Bjorn Steensrud 
Gisle Hannemyr 
Hans Amund Rosbach 
Hans Peter Verne 
Harald T Alvestrand 
Harald Terkelsen  
Haavard Engum 
James Youngman 
Johan S. Seland 
John Phillips 
Jorn Lokoy 
Kenneth Tjostheim 
Kjell M. Myksvoll 
Kjetil T. Homme 
Michael Meissner 
N J Bailey 
Nicolai Langfeldt 
Ove Ruben R Olsen 
R. Bardarson 
Steinar Fremme 
Sverre H. Huseby 
Trond Eivind Glomsrod 
Tommy Larsen 
Yves Bellefeuille