Index Page précédente Page suivante

XIII. CONNEXION NULL MODEM

Ce chapitre traite de la connexion de deux PC Linux via le port série par un câble. Pour cela nous utiliserons le démon pppd (Point to Point Protocol Daemon).
 

A. Installation

Vous devez installer les packages :

   initscripts (vous avez normalement déjà installé ce package lors de l’installation du protocole TCP/IP)
   pppd

Reliez les deux PC à l’aide d’un câble série prévu à cet effet (i.e. : un câble du type Laplink). On supposera dans la suite que les machines sont chacunes reliées par le COM1. Pour établir la connexion, il faut attribuer une adresse IP au deux ports série. Tapez sur le premier PC la commande :

   pppd /dev/ttyS0 115200 crtscts lock 192.168.1.1:192.168.1.2 connect ""

Faîtes la même chose sur le second en inversant les adresses IP. Tapez ensuite la commande route. Si la connexion est établie, vous devez voir une ligne qui ressemble à :
 
Destination Passerelle Genmask Indic Metric Ref Use Iface
192.168.1.1 * 255.255.255.0 U 0 0 0 ppp0

Examinons les paramètres donnés à pppd :


B. Automatiser la connexion

Nous allons utiliser un autre démon: crond, qui permet de lancer des commandes différées (package vixie-cron). Editez le fichier /etc.crontab et ajoutez les lignes suivantes :

   # Exécute les scripts dans le répertoire /etc/cron.d toutes les minutes
   * * * * * root run-parts /etc/cron.d

Allez dans le répertoire /etc/cron.d, créez puis éditez le fichier serialconnect. Ajoutez les lignes suivantes (attention , contrairement aux apparences, la première ligne n’est pas un commentaire. Elle permet de définir sous quel shell le script doit être exécuté) :

   #!/bin/bash
   PROCESS=`/bin/ps -A | /bin/grep pppd`

   # Teste si le démond pppd est déjà lancé (i.e : ne fait rien s'il est déjà lancé) :
   if [ "$PROCESS" = "" ]
   then
      ROUTE=`/sbin/route | /bin/grep ppp`

      # Teste si une ou plusieurs route(s) vers le port série existe(nt)
      # déjà. Si oui, Il faut les shooter pour permettre à pppd de se
      # relancer convenablement :
      if ! [ "$ROUTE" == "" ]
      then

         # Shoote les routes existantes vers le port série :
         /sbin/ifconfig ppp0 down
     fi

     # Lance le processus de connexion :
     /usr/sbin/pppd /dev/ttyS0 115200 crtscts lock 192.168.1.1:192.168.1.2 connect ""
fi

Vérifiez que les droits du fichier serialconnect sont : -rwxr-xr-x. Faites la même chose sur l’autre ordinateur en inversant les adresses IP.

Remarque : tous les scripts qui sont dans le répertoire /etc/crond. seront exécutés toutes les minutes. S’il y a d’autres fichiers que serialconnect dans le répertoire et que vous ne désirez pas qu’ils soient lancés, enlevez leur les droits x.

Activez maintenant crond en tapant la commande :

   /etc/rc.d/init.d/crond start (ou restart s’il est déjà lancé)

Comme d’habitude, si vous voulez que crond soit lancé à chaque démarrage, utilisez la commande setup ou drakxservices.


Index Page précédente Page suivante