SIG 11 ARTICLES DOCUMENTS MEMBRES LIENS

LES FICHIERS DE CONFIGURATION

En comparant les distibutions, on découvre rapidement que l'interface que l'on vient de créer utilise des répertoires et des fichiers de configuration qui sont propres à chaque cas, avec un solide tronc commun. Le nom de l'interface, d'abord, est imposé : pour la première interface, il s'agira d'ippp0. ippp parce que l'on a affaire au daemon ippp, modification pour le RNIS du classique daemon de connexion ppp, et 0, comme tout le monde le sait, parce que c'est la première. Profitons-en pour dissiper un éventuel malentendu : notre connexion avec une carte RNIS différant profondément de l'ordinaire emploi d'un modem analogique, et même d'un adaptateur RNIS externe qui est traité comme un modem ordinaire, les outils souvent utilisés pour celui-ci (configuration avec Kpppd ou son équivalent sous Gnome, numérotation à la demande avec wvdial) sont ici parfaitement inutiles.

éléments spécifiques

Passons-donc en revue les fichiers nécessaires au fonctionnement de notre accès Internet : on les trouvera en partie dans le répertoire /etc/ppp :
  • dans options.ippp0, on trouve le nom d'utilisateur de la connexion Internet, et un certain nombre de paramètres, en particulier :

    • la route par défault : defaultroute
    • la compression des en-têtes, prévue lors de la compilation du noyau et désactivée ici par défaut
    • l'assignation dynamique de l'adresse ip : ipcp-accept-local et ipcp-accept-remote permettront de remplacer les adresses fictives configurées dans Yast 2 par celles du fournisseur d'accès.
    • l'assignation dynamique du serveur de noms : ms-get-dns

  • ioptions conserve une petite quantité de paramètres globaux ; on peut en particulier activer momentanément debug, une contribution de plus à l'obésité de /var/log/messages.
  • pap-secrets enfin, avec chap-secrets, enregistre les couples identifiants/mots de passe. Notons que, par défaut, ces fichiers sont pleins d'identifiants permettant l'accès gratuit à des fournisseurs allemands, qui ne nous intéressent que très modérément.

 
A ce stade, deux constatations s'imposent : on tourne résolument le dos à la notion de centralisation, et il manque quand même des éléments importants. Nulle part, par exemple, n'apparaît le numéro de téléphone du fournisseur d'accès. Les paramètres globaux de l'interface RNIS se trouvent en effet dans deux fichiers, propres à la SuSE : i4l_hardware.rc.config pour le matériel, et i4l.rc.config pour le périphérique ippp0.
C'est là une particularité importante de la SuSE : l'essentiel des paramètres nécessaires au démarrage du sytème et de ses services se trouvent rassemblés dans le fichier rc.config du répertoire /etc. Mais quelques éléments additionnels sont situés dans /etc/rc.config.d. : tel est le cas de l'interface RNIS. A titre d'exemple, voici un fichier i4l.rc.config qui permet l'accès à Freesurf :
 
        I4L_IDLETIME_1="120"
        I4L_DIALMAX_1="0"
        I4L_LOCALMSN_1="******3672"
        I4L_REMOTE_OUT_1="0860912600"
        I4L_REMOTE_IN_1=""
        I4L_ENCAP_1="syncppp"
        I4L_SECURE_1="on"
        I4L_PPPBIND_1=""
        I4L_CHARGEHUP_1="off"
        I4L_IHUP_1=""
        I4L_L2_1=""
        I4L_L3_1=""
        I4L_DIALMODE_1="auto"
        I4L_CALLBACK_1="off"
        I4L_CBDELAY_1=""
        I4L_CBHUP_1=""
        I4L_SLAVE_1=""
        I4L_SLAVEMSN_1=""
        I4L_SLAVE_OUT_1=""
        I4L_SLAVE_IN_1=""
        

 
Les derniers paramètres saisis grâce à Yast2, numéro du FAI, mode de numérotation, protocole syncPPP, sont bien là.

éléments génériques

Comme on s'en rendra compte plus bas, notre connexion RNIS est maintenant tout à fait opérationnelle. On n'a pourtant pas touché aux fichiers d'un troisième répertoire, /etc/isdn qui contient des choses comme isdn.conf ou callerid.conf. Il s'agit là des éléments nécessaires à isdnlog, programme "zur Auswertung des D-Kanals eines ISDN Anschlusses." - pour l'utilisation du canal D de la connexion RNIS, ce fameux canal connecté en permanence et qui permet l'échange d'informations de service.
Il sert entre autres à écrire le fichier /var/log/isdnlog, un peu brut de fonderie à l'affichage mais que l'on peut nettoyer grâce à la commande isdnrep :

I S D N  Connection Report  -  Thu Apr 11 16:10:23 2002


Thu Apr 11 2002
  11:50:40  0:18:53    +33****3672 -> +33860912600              0.0000 DEM  I=2209.81 kB O= 398.84 kB
  12:09:47  0:03:18    +33****3672 -> +33860912600              0.0000 DEM  I= 540.02 kB O= 115.20 kB
  14:54:35  0:00:17    +33****3672 -> +33860912600              0.0000 DEM  I= 189.00  B O= 194.00  B
  15:24:21  0:00:00    +33****3672 -> +33860912600              0.0000 DEM               O=  18.00  B

=======================================================================================
  0 IN= ,   4 OUT= 0:22:29,   0 failed                               I=2750.01 kB O= 514.24 kB



Outgoing calls (calling:) Summary for Thu Apr 11 2002
------------------------------------------------------------------------------
UNKNOWN           4 call(s)    0:22:29    0.0000 DEM  I=2750.01 kB O= 514.24 kB

heure et durée des communications, numéro appelé, quantité de données transférées, et total journalier de l'activité : le tableau est complet.
isdnrep affiche par défaut les statistiques de la journée : l'option -i affiche seulement les connexions entrantes, -o les sortantes, et -a le log en entier. Si l'on désire consulter une date particulière, on peut utiliser isdnrep -t 11/04/02 ; isdnrep est très tolérant sur la syntaxe de la date, du moment que l'ordre jour/mois/année est respecté.
isdnlog est en fait un programme que l'on peut paramétrer grâce au fichier /etc/isdn/isdn.conf, et qui fournit entre autres ces statistiques fort utiles, affichées grâce à isdnrep. A l'origine, on trouve dans ce fichier quelques variables purement germaniques, que l'on pourra adapter à la situation du cru :

 [GLOBAL]
COUNTRYPREFIX = +
COUNTRYCODE     = 33
AREAPREFIX      = 0

# EDIT THIS LINE:
AREACODE        = 01

Dans la section [GLOBAL] une seule variable est obligatoire : le préfixe régional, à priori 01 pour nous ; les autres mentions sont optionnelles, mais on peut toujours entrer l'indicatif national, 33 pour la France.
La section [ISDNLOG] permet d'une part de préciser les données qui apparaîtront dans le fichier log, et d'autre part de fournir les chemins d'accès à un certain nombre d'informations, tarifs des communications, jours feriés et congés, qui permettront une facturation précise des connexions. En théorie, on peut, sur rates.isdn4linux.org télécharger un fichier à jour de ces tarifs. En pratique, cela n'a pas l'air d'intéresser grand'monde ; et, sûrement, il existe des tâches plus utiles et exaltantes que de traquer au jour le jour l'évolution des politiques tarifaires d'un France Telecom.
On y trouve enfin le Verbindungsnetzbetreiberauswahlnummer, en abrégé VBN, en français numéro de sélection du réseau du fournisseur d'accès : mettons-y toujours le 08 désormais obligatoire.

Un dernier fichier de configuration se trouve dans ce répertoire, callerid.conf, qui accueillera les informations suivantes :

[MSN]
NUMBER = 3672
ALIAS  = numeris
SI = 7
ZONE   = 1
INTERFACE = ippp0
En plus du MSN et de l'indentification de l'interface, SI permet de choisir un service, 1 pour la voix, 7 pour les données numériques avec le protocole HDLC, utilisé par notre carte, et ZONE, logiquement, la zone, avec le 1 pour la zone locale.

Dernière remarque : tout cela fonctionne classiquement avec les deux scripts de connexion ip-up et ip-down que l'on trouve dans /etc/ppp.
Le script de connexion fourni par SuSE permet notamment de remplacer, pour la durée de la session, les adresses des DNS locaux par ceux du fournisseur d'accès. Le fichier /etc/resolv.conf d'origine sera restauré lors de la clôture de la connexion.

l'épreuve du feu

Tout est en place, il ne reste plus qu'à franchir le pas. Auparavant, on pourra s'intéresser à un petit utilitaire fourni avec la SuSE : KInternet
Lancé au démarrage du système, KInternet se manifeste par une icône dans la barre des tâches de KDE.
Un click droit sur celle-ci permet de lancer un menu contextuel, qui possède trois fonctions essentielles :
  • avec Provider, on peut choisir le fournisseur d'accès approprié lorsque l'on en a configuré plusieurs grâce à Yast2.
  • Settings permet de faire appel au proxy wwwoffle, et de choisir un fond coloré pour l'icône de connexion : ainsi, plus d'appel malencontreux.
  • et avec Dial In, on branche la ligne. Un simple click sur l'icône donne le même résultat. Allons-y
C'est fait : le fond de l'icône est rouge, les données circulent, on est sur Internet.
Evidemment, tout ça est trop simple. Pour en savoir plus, on aura au préalable lancé dans une console la commande tail -f /var/log/messages, qui, en plus de la fonction ordinaire de tail, permet de suivre en continu l'affichage des informations dans le fichier /var/log/messages. On obtient le résultat suivant :

Apr 11 15:24:20 bravek6 kernel: ippp0: dialing 1 0860912600...
Apr 11 15:24:20 bravek6 isdnlog: Apr 11 15:24:20 * tei 72 calling +33 860912600, 
 with +33 */****3672,   RING
(Data) Apr 11 15:24:21 bravek6 isdnlog: Apr 11 15:24:21 tei 72 calling +33 860912600, 
 with +33 */****3672,
CONNECT (Data) Apr 11 15:24:21 bravek6 isdnlog: Apr 11 15:24:21 tei 72 calling +33 860912600, 
 with +33 */****3672,
          Unknown provider ??? (-1)
Apr 11 15:24:22 bravek6 ipppd[327]: Local number: 0*****3672, Remote number: 0860912600, 
Type: outgoing
Apr 11 15:24:22 bravek6 ipppd[327]: PHASE_WAIT -> PHASE_ESTABLISHED, ifunit: 0, linkunit: 0, fd: 7
Apr 11 15:24:22 bravek6 ipppd[327]: sent [0][LCP ConfReq id=0x1  ]
Apr 11 15:24:22 bravek6 kernel: isdn_net: ippp0 connected
Apr 11 15:24:22 bravek6 ipppd[327]: rcvd [0][LCP ConfReq id=0xd9  
	 ]
Apr 11 15:24:22 bravek6 ipppd[327]: sent [0][LCP ConfRej id=0xd9 ]
Apr 11 15:24:22 bravek6 ipppd[327]: rcvd [0][LCP ConfAck id=0x1  ]
Apr 11 15:24:22 bravek6 ipppd[327]: rcvd [0][LCP ConfReq id=0xda  
	]
Apr 11 15:24:22 bravek6 ipppd[327]: sent [0][LCP ConfAck id=0xda  
	 ]
Apr 11 15:24:22 bravek6 ipppd[327]: lcp layer is UP
Apr 11 15:24:22 bravek6 ipppd[327]: sent [0][PAP AuthReq id=0x2 user="********@freesurf.fr"
 password not logged for security reasons!
	Use '+pwlog' option to enable full logging.]
Apr 11 15:24:22 bravek6 ipppd[327]: Modem hangup
Apr 11 15:24:22 bravek6 ipppd[327]: Connection terminated.
Apr 11 15:24:22 bravek6 ipppd[327]: taking down PHASE_DEAD link 0, linkunit: 0
Apr 11 15:24:22 bravek6 ipppd[327]: sent [0][LCP TermReq id=                       ]
Apr 11 15:24:22 bravek6 ipppd[327]: LCP is down
Apr 11 15:24:22 bravek6 ipppd[327]: closing fd 7 from unit 0
Apr 11 15:24:22 bravek6 ipppd[327]: link 0 closed , linkunit: 0
Apr 11 15:24:22 bravek6 ipppd[327]: reinit_unit: 0
Apr 11 15:24:22 bravek6 ipppd[327]: Connect[0]: /dev/ippp0, fd: 7
Apr 11 15:24:22 bravek6 kernel: isdn_net: local hangup ippp0
Apr 11 15:24:22 bravek6 kernel: ippp0: Chargesum is 0
Apr 11 15:24:22 bravek6 kernel: ippp_ccp: freeing reset data structure dc386800
Apr 11 15:24:22 bravek6 kernel: ippp, open, slot: 0, minor: 0, state: 0000
Apr 11 15:24:22 bravek6 kernel: ippp_ccp: allocated reset data structure dc386800
Apr 11 15:24:22 bravek6 isdnlog: Apr 11 15:24:22 tei 72 calling +33 860912600,  with +33 */****3672, 
	Normal call clearing (User)
Apr 11 15:24:22 bravek6 kernel: isdn: HiSax,ch0 cause: E0710
Apr 11 15:24:22 bravek6 isdnlog: Apr 11 15:24:22 tei 72 calling +33 860912600,  with +33 */****3672, 
	Normal call clearing (International network)
Apr 11 15:24:22 bravek6 isdnlog: Apr 11 15:24:22 tei 72 calling +33 860912600,  with +33 */****3672, 
	HANGUP ( 0:00:01 I=  0.0 b O= 18.0 b)

Tout s'est parfaitement passé : on note, dans la négociation avec la machine du fournisseur d'accès, la valeur du mru, 1524, et la méthode d'authentification utilisée, auth pap.
Et à la fin de la connexion, le message cause: E0710, qui indique que la communication a été volontairement interrompue par l'une des parties. Ici, c'est nous.
Maintenant que la connexion marche, il nous reste à raccorder les autres machines du réseau. Pour ce faire, l'outil le plus intéressant est un proxy, alias serveur mandataire.
SIG 11 DOCUMENTS LA CONFIGURATION LE PROXY L'INDEX LE COUPE-FEU

info@sig-11.org