<adresse_électronique CHEZ fournisseur POINT code_pays>
Copyright © 2002 Sunil Thomas Thonikuzhiyil
Copyright © 2016 Sébastien Marbrier
Copyright © Année de relecture Prénom Nom du relecteur
Article paru dans le n°077 de la Gazette Linux d'avril 2002.
Cet article est publié selon les termes de la Open Publication License. La Linux Gazette n'est ni produite, ni sponsorisée, ni avalisée par notre hébergeur principal, SSC, Inc.
Table des matières
Lors de la configuration d'un serveur de numérotation, les utilisateurs se connectent par le biais d'une ligne téléphonique et d'un modem pour établir une connexion PPP avec un serveur distant. Il est possible de faire en sorte qu'un ordinateur sous Linux rappelle l'utilisateur. Ce document décrit pas-à-pas la procédure pour configurer un serveur de rappel sous Linux.
Mon serveur fonctionne avec une Debian Potato™ avec le noyau 2.4.17.
Un modem servant à la réception et au rappel est attaché à ttyS0
.
Ma machine cliente fonctionne à la fois avec Debian Potato™ et Windows 98™.
Un modem externe est attaché à ttyS1
. On suppose que les logiciels indispensables pour appeler un FAI sont installés sur le serveur et sur le client.
De plus, le couple mgetty+sendfax doit être installé sur le serveur.
Le principe d'un serveur de rappel peut être schématisé ainsi:
Tout d'abord, le client compose le numéro de téléphone du modem de mon serveur de rappel. Le modem sur le serveur est configuré pour accepter les connexions entrantes.
Une fois la connexion établie, le serveur me présente un message de bienvenue et une demande de connexion. Je me connecte en tant qu'utilisateur spécial de rappel. Le modem du serveur ferme la connexion et rappelle un numéro spécifique lié à ma machine cliente
Le modem sur ma machine cliente reste prêt à accepter les connexions de rappel et une fois la connexion établie, je reçois une nouvelle demande d'identification.
Je me connecte à présent en tant qu'utilisateur PPP ordinaire et la connexion est terminée.
La première étape pour réaliser la configuration décrite plus haut consiste à configurer le serveur pour accepter les connexions PPP entrantes. Voici ce que j'ai fait sur le serveur:
Créer un nouvel utilisateur pppuser.
Changer l'entrée pour pppuser dans /etc/passwd
en
$pppuser:x:1001:1001:,,,:/home/pppuser:/usr/sbin/pppd
Ajouter une ligne dans /etc/inittab
pour que le port série accepte les connexions entrantes
T0:23:respawn:/sbin/mgetty ttyS0 -D /dev/ttyS0
Redémarrer init en tapant 'init q'. Ceci active les connexions entrantes sur la ligne ttyS0
Aller dans le répertoire /etc/mgetty
(c'est là où sont stockés les fichiers de configuration de mgetty. Pour les distributions Redhat™, c'est dans /etc/mgetty+sendfax
). Éditer login.config
pour y ajouter la ligne suivante:/AutoPPP/ - a_ppp /usr/sbin/pppd file /etc/ppp/options
et mettre en commentaires toutes les autres lignes.
Changer /etc/ppp/options
pour obtenir
-detach asyncmap 0 modem crtscts proxyarp lock require-pap refuse-chap ms-dns 192.168.50.100 #Mettez ici l'adresse ip de votre serveur dns usepeerdns
.
Créer un fichier options.ttyS0
dans /etc/ppp
avec le contenu suivant :
192.168.0.100:192.168.0.2 noauth
Les deux adresses IP ci-dessus sont l'adresse du serveur et l'adresse que le client doit recevoir du serveur. Modifiez-les en fonctions de votre plan de numérotation IP. Si votre modem est relié à ttyS1
, nommez le fichier options.ttyS1
Changer les permissions de pppd (dans certaines distribution pppd est déjà suid.
chmod u+s /usr/sbin/pppd
Ajouter un alias pour ppp. Ajouter les lignes suivantes à /etc/profile
allias ppp=`/usr/sbin/pppd detach'`
Nous allons à présent tenter d'appeler le serveur depuis un client. Si vous utilisez MS Windows™, cliquez sur Connexion Réseau et ensuite Nouvelle connexion et remplissez les différents champs.
Une fois que le serveur d'appel est prêt, il est facile de configurer le rappel. J'ai procédé ainsi.
Créer un nouvel utilisateur nommé back.
Créer un fichier vide nommé callback.conf
dans /etc/mgetty. (On peut initialiser les chaînes pour le modem dans ce fichier si besoin; mais en général, un fichier vide suffit.
Ajouter la ligne suivante à /etc/mgetty/login.config
back -- /usr/sbin/callback -S 2561
Le numéro après le -S est le numéro à rappeler. Remplacez-le par le numéro de téléphone de votre client.
Ouvrez les connexions distantes et démarrez une nouvelle connexion. Replissez les différents champs. Faites clic-droit sur l'icône nouvellement créée et sélectionnez propriétés. Sélectionnez
→ → → . Ajoutez &c0s0=1 aux paramètres supplémentaires Sélectionnez options et cochez la case pour afficher la fenêtre de terminal après la numérotation. Vous pouvez laisser vide les champs pour le nom d'utilisateur et pour le mot de passe.Démarrez le serveur de numérotation. Un écran de terminal apparaîtra une fois la numérotation terminée, et vous aurez un écran de connexion au serveur. Connectez-vous en tant que 'back' (l'utilisateur spécial pour le rappel).
Le modem côté serveur coupe la connexion, attendez quelques et vous serez rappelés. Lorsque la connexion sera rétablie, vous aurez de nouveau une invite de connexion. Entrez pppuser en nom d'utilisateur et le mot de passe. Appuyez sur continuer dans l'écran de terminal. Vous devez être à présent enregistré. Vérifiez une nouvelle fois votre connexion avec ping.
Il est possible d'écrire un script pour cela mais je n'ai pas encore essayé. Pour les autres versions de Windows™, la procédure est similaire. Le point important est la configuration de la chaîne d'initialisation du modem (&c0s0=1)
La configuration du client Linux est un plus ardue. Voici ce que j'ai fait sur ma machine Debian avec un noyau 2.4.17
Créer le fichier /etc/options
avec le contenu suivant :
lock defaultroute noipdefault modem 115200 crtscts debug passive asyncmap 0
Créer un fichier nommé pppcalback
dans /etc/ppp/peers/
avec le contenu suivant :
ttyS1 19200 crtscts connect '/usr/sbin/chat -v -f /etc/ppp/chat-callback' noauth
Créer une fichier fichier nommé /etc/ppp/chat-callback
avec le contenu suivant
ABORT BUSY ABORT VOICE ABORT "NO DIALTONE" ABORT "NO ANSWER" "" ATZ OK ATDT2562 # Numéro de téléphone du serveur CONNECT \d\d login: \q\dback TIMEOUT 90 RING AT&C0S0=1 login: \q\dpppuser password: \q\dpasswordforppuser
Modifiez correctement les lignes ci-dessus pour correspondre aux identifiants et mots de passe pour les comptes que vous avez créés. (Référez-vous également à la documentation de votre modem pour les nécessaires chaînes d'initialisation. Vous devrez peut-être remplacer ATZ par quelque chose comme AT&FX2)
Créer un script nommé /usr/bin/pppcall
avec le contenu suivant
#!/bin/bash /usr/sbin/pppd -detach call pppcall &
Rendez ce script exécutable. Vous pouvez appeler le serveur en appelant le script pppcall
Les documents suivants m'ont étés utiles:
Les pages man de pppd
Si vous rencontrez un problème quelconque pour configurer les serveurs de rappel, n'hésitez pas à m'envoyer un courriel. Les commentaires et les suggestions pour améliorer ce documents sont les bienvenues.
Sunil Thomas Thonikuzhiyil
Je travaille en tant que consultant en technologies de l'information à l'Assemblée Législative Trivandrum du Kerala en Inde. Je suis fan de Linux depuis 1996. J'ai un Master en Informatique de l'Université Cochin. Je m'intéresse à tous les systèmes d'exploitation. J'aime écouter de la musique classique indienne dans mon temps libre.
L'adaptation française de ce document a été réalisée dans le cadre du Projet de traduction de la Gazette Linux.
Vous pourrez lire d'autres articles traduits et en apprendre plus sur ce projet en visitant notre site : http://www.traduc.org/Gazette_Linux.
Si vous souhaitez apporter votre contribution, n'hésitez pas à nous rejoindre, nous serons heureux de vous accueillir.