Détails techniques

Tout ce qui est écrit ici est sans garantie de véracité. C'est ce que j'ai compris, je vous livre mes découvertes.


Le protocole CHAP

Quand vous vous connectez à votre fournisseur d'accès, celui-ci veut être certain que vous y êtes bien autorisé. En gros, il faut fournir un nom d'utilisateur et un mot de passe.

Actuellement sont couramment utilisés le protocole PAP, et le protocole CHAP, qui est plus sûr. Infonie utilise le CHAP, avec un nom d'utilisateur dérivé de votre numéro d'abonnement, et aucun mot de passe.

Ceci explique le fichier chap-secrets que je propose, qui renvoie systématiquement un mot de passe à blanc, quelque soit le serveur qui le demande et quelque soit notre nom d'utilisateur. Bof...


Routage

C'est bien de connecter une carte RNIS sur son PC, mais qu'est ce qui va dire à Linux de passer par la carte pour aller "à l'extérieur" ?

Tout cela est exprimé sous forme d'adresses IP. Votre ordinateur a une adresse IP vis-à-vis d'Internet. Cette adresse lui est attribuée lors de la connexion. Les serveurs situés sur Internet ont également une adresse IP. Pire encore, si vous êtes sur un réseau local, vous pouvez avoir une adresse IP locale, associée à votre carte réseau.

Le routage consiste simplement à dire à Linux : "quand l'adresse est de cette forme, tu fais suivre vers là, si elle est comme çà, tu envoies là et sinon tu envoies là..."

Le démon ipppd se charge du "sinon tu envoies là". Il ajoute dans la configuration de Linux une règle qui dit que quand l'adresse n'est pas reconnue, il faut envoyer vers la carte RNIS. Il ajoute ceci quand la connexion est établie, et la retire quand elle est coupée. Magique !

La commande qui permet de visualiser à tout instant les règles de routage est route. Un exemple de ce qu'elle donne chez moi :
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
100.100.100.0   *               255.255.255.0   U     0      0        2 eth0
195.242.76.0    *               255.255.255.0   U     0      0        0 ippp0
127.0.0.0       *               255.0.0.0       U     0      0        0 lo
default         ppp-76-254.info 0.0.0.0         UG    0      0        1 ippp0
Quelques précisions :

Pour information, la commande ifconfig permet de voir la configuration des interfaces, on voit les adresses IP de notre machine (attribuée automatiquement) et de la machine en face. Voilà un extrait de ce que çà donne chez moi pour la même connexion :
lo        Link encap:Local Loopback  
          inet addr:127.0.0.1  Bcast:127.255.255.255  Mask:255.0.0.0
          UP BROADCAST LOOPBACK RUNNING  MTU:3584  Metric:1
          RX packets:23 errors:0 dropped:0 overruns:0 frame:0
          TX packets:23 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 

eth0      Link encap:Ethernet  HWaddr 00:20:18:80:ED:85  
          inet addr:100.100.100.1  Bcast:100.100.100.255  Mask:255.255.255.0
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 
          Interrupt:11 Base address:0xe400 

ippp0     Link encap:Point-to-Point Protocol  
          inet addr:195.242.76.175  P-t-P:195.242.76.254  Mask:255.255.255.0
          UP POINTOPOINT RUNNING NOARP  MTU:1500  Metric:1
          RX packets:16 errors:0 dropped:0 overruns:0 frame:0
          TX packets:15 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 


Runlevels

Alors là, je n'y connais pas grand'chose, mais voyons ce que je peux dire

Les runlevels définissent entre autres les services qui sont actifs et ceux qui sont inactifs. Sur une RedHat standard, les plus connus sont :

Pour passer dans un runlevel <n> donné, on fait init <n>.

Comment le système détermine-t-il sur une RedHat les services à lancer pour un runlevel donné ?

Par défaut, une RedHat termine l'initialisation en runlevel 3. Il fait donc un "init 3". "init" regarde dans le répertoire /etc/rc.d/rc3.d tous les fichiers (shell scripts) qui s'y trouvent. Leur nom est forcément de la forme : Sxy<texte>, ou Kxy<texte>.

En RedHat, les véritables scripts sont en fait situés dans le répertoire /etc/rc.d/init.d/, et les fichiers dont je viens de parler ne sont que des liens symboliques vers ceux-ci.

Dans le cas du script "rnis" que nous avons ajouté, il faut placer dans rc3.d un lien nommé S92rnis, ce qui indique qu'il faut lancer le script quand on passe en runlevel 3 ; le grand nombre (92) fait que c'est un des derniers services à être lancé.


Date de dernière mise à jour : 20/01/1999