egilk@sn.no
. 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 :
dirk
SuperSecret
acme.xz
mail.acme.xz
news.acme.xz
193.212.1.0
12345678
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.
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
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.
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
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 à :
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
Tous commentaires, erreurs constatées, informations supplémentaires et critiques de toutes sortes doivent être envoyées à :
Tous commentaires concernant la traduction, les éventuelles fautes commises par le traducteur doivent être envoyées à :
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.
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-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.
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
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.
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 à :
ALT : Une alternative à popclient est pop-perl5, disponible à :
ftp://sunsite.unc.edu/pub/Linux/System/Mail/pop-perl5-1.1.tar.gz
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
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.
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 :
addgroup comp.os.linux.networking
y
.
Dirk Gently's Holistic Detective Agency
acme.xz
.site
dans le thread Path:. Dans une configuration
telle qu'elle est décrite ici, où l'on utilise le programme
newsx, ce nom ne quittera jamais la machine, on peut donc y mettre
ce que l'on veut pourvu que l'on soit sûr qu'il est unique. Dans notre
cas roderick
.acme.xz
à Path et que c'est la seule source de News que l'on
ait. L'exemple donné fait que l'on accepte tout ce qui arrive, et que l'on
poste seulement sur acme.xz
ce qui n'a pas été vu avant et qui est
posté au départ sur notre propre site. Dans cette configuration simplifiée, on
suppose que tous les groupes viennent du même endroit.
./all
précise la distribution, et doit être
inclus. La lettre F
indique que les articles de news sortants
seront regroupés dans un fichier.
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.
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
.
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.
newaliases
à chaque fois qu'on change ce fichier. Un
exemple qui devrait couvrir la plupart des éventualités est :
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
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.
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 :
redhat-ppp-list-request
avec le champ sujet suivant :
subscribe
Toutes ces informations viennent de nombreuses sources. Merci aux personnes suivantes qui ont participé directement, ou indirectement :
Adam Holt <holt@graphics.lcs.mit.edu>
Arne Coucheron <arneco@oslonett.no>
Arne Riiber <riiber@oslonett.no>
Arnt Gulbrandsen <agulbra@troll.no>
Bjorn Steensrud <bjornst@powertech.no>
Gisle Hannemyr <gisle@a.sn.no>
Hans Amund Rosbach <haro@sesam.dnv.no>
Hans Peter Verne <hpv@ulrik.uio.no>
Harald T Alvestrand <Harald.T.Alvestrand@uninett.no>
Harald Terkelsen <Harald.Terkelsen@adm.hioslo.no>
Haavard Engum <hobbes@interlink.no>
James Youngman <JYoungman@vggas.com>
Johan S. Seland <johanss@sn.no>
John Phillips <john@linux.demon.co.uk>
Jorn Lokoy <jorn@oslonett.no>
Kenneth Tjostheim <kenneth.tjostheim@asplanviak.no>
Kjell M. Myksvoll <kjell.myksvoll@fou.telenor.no>
Kjetil T. Homme <kjetilho@math.uio.no>
Michael Meissner <meissner@cygnus.com>
N J Bailey <N.J.Bailey@leeds.ac.uk>
Nicolai Langfeldt <janl@math.uio.no>
Ove Ruben R Olsen <Ove.R.Olsen@ub.uib.no>
R. Bardarson <ronb@powernet.net>
Steinar Fremme <steinar@fremme.no>
Sverre H. Huseby <sverrehu@ifi.uio.no>
Trond Eivind Glomsrod <teg@stud.imf.unit.no>
Tommy Larsen <tommy@mix.hive.no>
Yves Bellefeuille <yan@storm.ca>