AX25-HOWTO Version 1.5


Linux AX25-HOWTO, Amateur Radio.

Terry Dawson, VK2KTJ, terry@perf.no.itg.telecom.com.au

Traduction par Thibaut Maquet, F5CDQ, maquet@bigfoot.com


v1.5, 17 octobre 1997

Le système d'exploitation Linux est sans doute le seul système au monde pouvant se vanter d'avoir un support intégré de l'AX25, un protocole radio utilisé par les opérateurs radio amateurs dans le monde entier.
Le but de ce document est de décrire comment installer et configurer ce support.


Table des matières


1. Introduction

A l'origine, ce document était une annexe à HAM-HOWTO mais il est devenu très vite trop imposant pour
continuer à être géré de cette manière. Ce document décrit comment installer et configurer le support natif des
protocoles AX25 et Netrom pour Linux. Quelques configurations typiques y sont décrites, elles pourront être
utilisées comme modèle d'apprentissage.
 
L'implémentation Linux des protocoles radioamateurs est très flexible.
Pour les personnes relativement peu familières avec le système d'exploitation Linux, la configuration peut sembler
intrépide et compliquée.

Il va vous falloir quelques temps avant de comprendre comment toutes les choses vont ensemble.
Vous trouverez les choses fortement compliquées si vous ne vous êtes pas correctement préparés à Linux en général.
Vous ne devez pas espérer basculer d'un autre environnement à Linux sans un minimum de connaissance du système
Linux.

Table des matières


1.1. Changements par rapport aux versions précédentes

  Ajouts:  Corrections/Mises à jour :   A faire :

Table des matières


1.2.  Où obtenir de nouvelles versions de ce document

Le meilleur endroit pour obtenir la dernière version de ce document se trouve sur une archive de projet de
documentation Linux (LDP). Celui-ci correspond en fait à un serveur Web et ce document y apparaît sous
l'appellation AX25-HOWTO <http://members.xoom.com/maquet>

Vous pouvez toujours me contacter, mais j'ai l'habitude d'envoyer les nouvelles versions de ce document
directement au coordinateur LDP HOWTO; donc s'il ne se trouve pas à cet endroit alors il y a des chances
que je ne l'ai pas encore achevé.

Table des matières


1.3.  Autres documentations voisines

Il y a bien d'autres documentations voisines. Il y a beaucoup de documents qui expliquent d'une manière
générale comment utiliser les réseaux avec Linux et je vous recommande de bien les lire.
En effet, ils vous assisteront pleinement dans vos futures installations et devront vous conforter dans
l'établissement d'autres configurations.

Il s'agit de :

Le HAM-HOWTO <http://www.freenix.fr/linux/HOWTO/HAM-HOWTO.html>,
le Net-3-HOWTO < http://www.freenix.fr/linux/HOWTO/NET-3-HOWTO.html>,
le Ethernet-HOWTO < http://www.freenix.fr/linux/HOWTO/Ethernet-HOWTO.html>,

et

le Firewall-HOWTO <http://www.freenix.fr/linux/HOWTO/Firewall-HOWTO.html>

Plus d'informations sur la documentation HOW-TO Linux peuvent être trouvées sur:

Linux HOWTO <http://sunsite.unc.edu/LDP/HOWTO>
 

Table des matières


2.  Linux et les protocoles radio AX.25 et NetRom

Le protocole AX.25 offre à la fois des modes d'opérations en mode connecté et non connecté, il est
également utilisé pour des liens de point à point, ou finalement pour transporter d'autres protocoles
comme le TCP/IP et le NetRom.
 
Il est semblable à la couche 2 du X25 en structure, avec quelques extensions qui le rendent plus pratique
à utiliser dans l'environnement radio amateur.

Le protocole NetRom est une tentative de protocole orienté connexion totale et il utilise l'AX.25 à très
bas niveau en tant que protocole d'échange de données. Il fournit une couche réseau qui est une forme
adaptée du AX.25.
Le protocole NetRom offre également du routage dynamique et des alias pour les noeuds.

Le protocole Rose a été conçu et implémenté par Tom Moulton W2VY et est une implémentation du
protocole X25 au niveau de sa couche paquet ; il a été conçu pour fonctionner avec la couche d'échange
de données du AX25. Il fournit également une couche réseau. Les adresses Rose ont la forme de dix
chiffres. Les quatre premiers chiffres sont appelés le code  d'identification du réseau de données
(Data Network Identification Code, DNIC) et ont été pris dans l'appendice B de la recommandation X.121.
Plus d'informations sur le protocole Rose peuvent être obtenues depuis le serveur web RATS
<http://www.rats.org>.

Alan Cox a développé quelques applicatifs basés sur le noyau du AX.25 pour Linux.
Jonathon Naylor <g4klx@g4klx.demon.co.uk> a la charge du développement à venir du code, il a ajouté
les supports NetRom et Rose et il  est maintenant le développeur principal du code du noyau AX.25.
Le support  DAMA a été développé par Joerg, DL1BKE, <jreuter@poboxex.com>. Le support
du Baycom a été ajouté par Thomas Sailer, <sailer@ife.ee.ethz.ch>.
Finalement, j'ai la charge des programmes utilitaires AX.25.

Le code de Linux supporte les TNC (Terminal Node Controllers) basés sur le mode KISS, la carte
Ottawa PI, la carte Gracilis PacketTwin et toutes les autres cartes basées sur le Z8530 SCC avec le
pilote générique SCC; finalement, il supporte très bien les modems Baycom sur ports séries et parallèles.
Le nouveau pilote de Thomas supporte les Soundblaster et autres cartes sonores à base de puces Crystal.

Les programmes utilisateurs contiennent une PMS très simple (Personal Message System, système de
messages personnels), une balise, un utilitaire de connexion en ligne de commande, 'listen' un exemple
montrant comment capturer toutes trames AX.25 à bas niveau, ainsi que d'autres programmes
permettant de configurer le protocole NetRom. Sont inclus également, un serveur AX.25 capable de
gérer et de diriger n'importe quelles connexions AX.25 entrantes ainsi qu'un daemon NetRom qui se
charge de toute la gestion ardue du protocole NetRom.

Table des matières


2.1.  Comment tout ceci tient-il ensemble

L'implémentation AX.25 de Linux est une toute nouvelle implémentation.
Bien qu'elle semble identique aux autres implémentations AX.25 telles que NOS, BPQ et autres,
elle est complètement différente.
L'implémentation AX.25 de Linux est configurable de telle façon qu'elle se puisse se comporter
comme n'importe quelles autres implémentations mais sa procédure de configuration est entièrement
différente.

Pour vous aider à comprendre comment se déroule cette phase de configuration, cette partie décrit
les caractéristiques structurelles de l'implémentation AX.25 et la façon qu'elle s'introduit dans la structure
globale de Linux.

Représentation simplifiée des couches des protocoles

       -----------------------------------------------
       | AF_AX25 | AF_NETROM |  AF_INET    | AF_ROSE |
       |=========|===========|=============|=========|
       |         |           |             |         |
       |         |           |    TCP/IP   |         |
       |         |           ----------    |         |
       |         |   NetRom           |    | Rose    |
       |         -------------------------------------
       |            AX.25                            |
       -----------------------------------------------
 

Ce schéma illustre simplement que NetRom, Rose et TCP/IP fonctionnent directement au somment de
AX.25, mais chacun de ces protocoles est traité séparément dans l'interface de programmation.
Les noms commençant  par "AF_" représentent simplement l'adresse de famille de chacun de ces
protocoles lors de la création d'applications. La chose importante à retenir est la dépendance implicite
de la configuration des unités AX.25 avant de pouvoir configurer correctement les unités NetRom, Rose
ou TCP/IP.

Schéma des modules logiciels de l'implémentation réseau de Linux

  -----------------------------------------------------------------------------
   Utilisa-| Programmes|   call        node    ||  Daemons | ax25d  mheardd
   teur    |           |   pms         mheard  ||          | inetd  netromd
  -----------------------------------------------------------------------------
           | Sockets   | open(), close(), listen(), read(), write(), connect()
           |           |-------------------------------------------------------
           |           |    AF_AX25   |  AF_NETROM  |   AF_ROSE   |  AF_INET
           |-------------------------------------------------------------------
  Noyau    | Protocoles|    AX.25     |   NetRom    |     Rose    | IP/TCP/UDP
           |-------------------------------------------------------------------
           | Unités    |    ax0,ax1   |  nr0,nr1    | rose0,rose1 | eth0,ppp0
           |-------------------------------------------------------------------
           | Pilote    |  Kiss   PI2   PacketTwin   SCC   BPQ     | slip ppp
           |           |      Modem son       Baycom              | ethernet
  -----------------------------------------------------------------------------
  Matériel | Carte PI2, carte PacketTwin, carte SCC, port série, carte ethernet
  -----------------------------------------------------------------------------

Ce schéma est un peu plus général que le précédent. Il tente de montrer la relation entre les applications
clientes, le noyau et le matériel.
Il démontre également les relations entre l'interface de programmation des applications socket, les modules
des protocoles actuels, les unités réseau du noyau ainsi que les pilotes d'unités.
Rien dans ce schéma ne dépend de quoique ce soit provenant de la couche supérieure, et en général, vous
devez configurer depuis le bas vers le haut. Par exemple, si vous voulez exécuter le programme "call", vous
devez également configurer le matériel, vous assurez que le noyau dispose du pilote approprié, que vous
créez la bonne unité réseau, et que le noyau dispose du protocole doté d'une interface de programmation
accessible depuis le programme "call". J'ai tente de vous montrer, dans ce document, ces différentes étapes
dans plus ou moins le même ordre.

Table des matières


3. Les composantes des logiciels AX.25/NetRom

Le logiciel AX.25 comprend trois composantes, les sources du noyau, les outils de configuration du réseau
et les programmes utilitaires.

Les versions 2.0.xx du noyau Linux comprennent par défaut l'AX.25, le NetRom, le Z8530 SCC et les pilotes
des cartes PI et PacketTwin. Il y a eu des améliorations significatives dans les noyaux 2.1.* Malheureusement,
le reste des noyaux 2.1.* les rendent quelque peu instables pour le moment, et ils sont à déconseillés pour un
système en production.

Afin d'arranger le problème, Jonathon Naylor a préparé un kit de correction qui permettra l'utilisation des
protocoles amateurs radio depuis le noyau 2.0.28 jusqu'aux noyaux 2.1.*
Ce correctif s'applique très simplement, et fournit des facilités absente dans les noyaux standards comme le
support Rose.

Table des matières


3. 1. Trouver le noyau, les outils et les utilitaires

Table des matières


3.1.1. Les sources du noyau

Les sources du noyau peuvent être trouvées à leurs endroits habituels :
 
ftp.kernel.org

/pub/linux/kernel/v2.0/linux-2.0.31.tar.gz

La version présente des correctifs AX25 est disponible sur:

ftp.pspt.fi

/pub/linux/ham/ax25/ax25-module-14e.tar.gz

Table des matières


3.1.2. Les outils réseau

La dernière version des outils réseau standard pour Linux supporte l'AX.25 ainsi que le NetRom ;
elle se trouve sur :

ftp.inka.de

/pub/comp/Linux/networking/net-tools/net-tools-1.33.tar.gz

La dernière distribution de ipfwadm peut être récupérée sur:

ftp.xos.nl

/pub/linux/ipfwadm/

Table des matières


3.1.3. Les utilitaires AX25

Il y a deux différentes souches d'utilitaires AX25. L'une est pour les noyaux 2.0.* et l'autre marchera à la
fois avec les noyaux 2.1.* ainsi qu'avec les modules 2.0.*. Le numéro de version de ax25-utils indique la
plus vieille version du noyau qui devrait marcher. Veuillez choisir une version de ax25-utils appropriée à
votre noyau.
Les combinaisons ci-dessous sont censées marcher. Vous devez utiliser l'une de ces combinaisons, toute
autre combinaison ne marchera sans doute pas, ou pas bien.

       Noyau Linux                     Ensemble des utilitaires AX25
 
       linux-2.0.29                      ax25-utils-2.0.12c.tar.gz **
       linux-2.0.28+module12     ax25-utils-2.1.22b.tar.gz **
       linux-2.0.30+module14c   ax25-utils-2.1.42a.tar.gz
       linux-2.0.31+module14d   ax25-utils-2.1.42a.tar.gz
       linux-2.1.22 ++                 ax25-utils-2.1.22b.tar.gz
       linux-2.1.42 ++                 ax25-utils-2.1.42a.tar.gz

Note: la série des ax25-utils-2.0.* (marquées ci dessus avec le symbole '**') est désormais obsolète et n'est
plus supportée. Ce document couvre les configurations utilisant les versions des logiciels recommandés dans
le tableau. Puisqu'il existe des différences entre les versions, la plupart des informations corresponderont avec
les dernières mises à jour du code.

Les programmes utilitaires AX.25 peuvent être récupérés sur:

ftp.pspt.fi
<ftp://ftp.pspt.fi/pub/linux/ham/ax25/>

ou sur: sunsite.unc.edu
<ftp://sunsite.unc.edu/pub/Linux/apps/ham/>

Table des matières


4. Installation des logiciels AX.25 et NetRom

Pour installer le support AX.25 sur votre système, vous devez configurer et installer un noyau approprié
et ensuite installer les utilitaires AX.25.

Table des matières


4.1. Compiler le noyau

Si vous êtes déjà familiers avec le processus de compilation du noyau Linux,  vous pouvez sauter ce
chapitre; soyez quand même sûrs de choisir les bonnes options durant la compilation du noyau.
Sinon, lisez ce qui suit.

Normalement, les sources du noyau doivent être décompactées dans le répertoire /usr/src dans un
sous-répertoire appelé Linux. Pour faire ceci,  vous devez vous connecter en tant que root et exécuter
une série de commandes comme suit:

  # mv linux linux.old
  # cd /usr/src
  # tar xvfz linux-2.0.31.tar.gz
  # tar xvfz /pub/net/ax25/ax25-module-14e.tar.gz
  # patch -p0 </usr/src/ax25-module-14/ax25-2.0.31-2.1.47-2.diff
  # cd linux

Après avoir décompacté les sources du noyau au bon endroit et appliqué le correctif, il faut exécuter le
script de configuration et choisir les options qui conviennent à votre environnement matériel ainsi que les
composantes que vous souhaitez incorporer dans votre noyau.  Pour faire cela, utilisez la commande suivante:

   # make menuconfig

Vous pouvez également essayer ceci:

   # make config

si vous préférez utiliser une installation pleine écran. Je vais maintenant vous décrire la méthode originale mais
vous pouvez utiliser celle avec laquelle vous sentez le mieux.

Dans chaque cas, on va vous proposer un champ d'options pour lesquels vous devrez répondre par 'Y'(Yes)
ou 'N'(No). (Notez que vous pouvez également répondre par 'M' si vous souhaitez utiliser les modules).
Afin de simplifier les choses, je vais considérer que vous ne les utilisez pas; dans le cas contraire, veuillez
faire les modifications appropriées.

Les options les plus significatives pour une configuration AX.25 sont:

  Code maturity level options  --->
      ...
      [*] Prompt for development and/or incomplete code/drivers
      ...
  General setup  --->
      ...
      [*] Networking support
      ...
  Networking options  --->
      ...
      [*] TCP/IP networking
      [?] IP: forwarding/gatewaying
      ...
      [?] IP: tunneling
      ...
      [?] IP: Allow large windows (not recommended if <16Mb of memory)
      ...
      [*] Amateur Radio AX.25 Level 2
      [?] Amateur Radio NET/ROM
      [?] Amateur Radio X.25 PLP (Rose)
      ...
  Network device support  --->
      [*] Network device support
      ...
      [*] Radio network interfaces
      [?] BAYCOM ser12 and par96 driver for AX.25
      [?] Soundcard modem driver for AX.25
      [?] Soundmodem support for Soundblaster and compatible cards
      [?] Soundmodem support for WSS and Crystal cards
      [?] Soundmodem support for 1200 baud AFSK modulation
      [?] Soundmodem support for 4800 baud HAPN-1 modulation
      [?] Soundmodem support for 9600 baud FSK G3RUH modulation
      [?] Serial port KISS driver for AX.25
      [?] BPQ Ethernet driver for AX.25
      [?] Gracilis PackeTwin support for AX.25
      [?] Ottawa PI and PI/2 support for AX.25
      [?] Z8530 SCC KISS emulation driver for AX.25
      ...

Les options que j'ai indiqué par un '*' sont celles pour lequel vous devez  répondre 'Y'. Le reste dépend
du matériel en votre possession ainsi que des options que vous souhaitez inclure. Quelques-unes de ces
options sont décrites plus en détail plus loin, donc si vous ne savez pas encore ce que vous voulez, alors
continuez à lire et revenez plus tard sur cette étape.

Une fois que vous en avez terminé avec la configuration du noyau, vous devriez être capable de compiler
le noyau:

     # make dep
     # make clean
     # make zImage

Soyez sûrs d'avoir déplacer votre fichier arch/i386/boot/zImage où vous voulez, éditez votre fichier
/etc/lilo.conf et relancez lilo pour vous assurer que votre système démarre grâce à ce fichier.

Table des matières


4.1.1.  Un mot sur les modules du noyau

Je ne vous recommande pas de compiler les pilotes sous forme de noyau.
Dans la plupart des installations, vous n'y gagnerez rien si ce n'est de la complexité supplémentaire.
Beaucoup de gens ont des problèmes à faire fonctionner les composants modularisés, pas parce
que le logiciel est defecteux mais parce que les modules sont trop compliqués à installer et à configurer.

Si vous avez choisi de compiler au moins une des composantes sous forme de module, alors vous
devez également utiliser:

       # make modules
       # make modules_install

afin d'installer vos modules au bon endroit.

Vous devez également ajouter quelques entrées dans votre fichier /etc/conf.modules de façon à ce
que votre programme kerneld sache comment faire fonctionner les modules du noyau.
Vous devez ajouter/modifier les choses suivantes:

       alias net-pf-3     ax25
       alias net-pf-6     netrom
       alias net-pf-11    rose
       alias tty-ldisc-1  slip
       alias tty-ldisc-3  ppp
       alias tty-ldisc-5  mkiss
       alias bc0          baycom
       alias nr0          netrom
       alias pi0a         pi2
       alias pt0a         pt
       alias scc0         optoscc    (ou l'un des autres pilotes scc)
       alias sm0          soundmodem
       alias tunl0        newtunnel
       alias char-major-4 serial
       alias char-major-5 serial
       alias char-major-6 lp

Table des matières


4.1.2.  Quelles sont les nouveautés dans les modules 2.0.*+ et les noyaux 2.1.*

Les noyaux 2.1.* présentent des améliorations de pratiquement tous les protocoles et pilotes.
Les améliorations les plus significatives sont:

     modularisation
        les protocoles et pilotes ont tous été modularisés de façon à ce que vous
        puissiez les utiliser avec insmod et rmmod. Ceci réduit les exigences
        en mémoire du noyau pour l'utilisation de modules rarement utilisée
        et rend la chasse aux erreurs de programmation beaucoup plus facile.
        Ceci dit, cela complique beaucoup plus la configuration.

     Tous les pilotes sont maintenant des pilotes réseau
        toutes les unités réseau telles que Baycom, SCC, PI, Packettwin, etc...
        présentent désormais une interface réseau normale, ainsi ils
        ressemblent maintenant à un pilote Ethernet, et ne ressemblent plus
        à des TNC en mode KISS. Un nouvel utilitaire appelé net2kiss vous
        autorise à construire une interface KISS vers ces unités si vous le
        souhaitez.

     correction d'erreurs
        il y a eu beaucoup de corrections d'erreurs ainsi que l'ajout de nouvelles
        spécificités aux pilotes et protocoles. Le protocole Rose est l'un de
        ces plus importants ajouts.

Table des matières


4.2. Les outils de configuration réseau

Maintenant que vous avez compilé le noyau, il vous faut compiler les nouveaux outils de
configuration réseau. Ces outils vous autorisent à modifier la configuration du réseau et à
ajouter des routes à la table de routage.

La nouvelle version alpha de la distribution standard des net-tools comprend le support de
l'AX.25 et du NetRom. Je l'ai testé et elle semble fonctionner correctement.

Table des matières


4.2.1.  Un kit de correction ajoutant le support de Rose et corrigant certaines erreurs

La distribution standard des utilitaires de réseau (net-tools-1.33.tar.gz) avait quelques erreurs affectant
le support AX.25 et NetRom. J'ai crée un petit correctif ajoutant le support Rose apportant certaines
corrections à ces erreurs.

Vous pouvez obtenir ce correctif sur: zone.pspt.fi
<ftp://zone.pspt.fi/pub/linux/ham/ax25/net-tools-1.33.rose.tjd.diff.gz>.

Table des matières


4.2.2 Construire la distribution standard des net-tools

N'oubliez pas de lire la documentation et d'y suivre les instructions.
Pour compiler les outils, je procède comme ceci:

       # cd /usr/src
       # tar xvfz net-tools-1.33.tar.gz
       # zcat net-tools-1.33.rose.tjd.diff.gz | patch -p0
       # cd net-tools-1.33
       # make config

A cette étape, on va vous poser une série de questions pour la configuration, un peu comme
ce qui a été fait avec la configuration du  noyau. Soyez sûrs d'y inclure le support pour tous
les protocoles et pour le type de matériel réseau que vous souhaitez utiliser. Si vous ne savez
pas quoi répondre à une question particulière, alors répondez 'Y'. A l'instar du noyau. Lorsque
la compilation est terminée, il vous faut utiliser:
 
       # make install

pour installer l'ensemble des programmes au bon endroit.

Si vous souhaitez utiliser le pare-feu IP (firewall), alors vous allez devoir vous procurer les derniers
outils d'administration firewall ipfwadm.
Ces outils remplacent la vieille version des outils ipfw qui ne marchent plus avec les nouveaux noyaux.

Je compile les utilitaires ipfwadm de la façon suivante:

       # cd /usr/src
       # tar xvfz ipfwadm-2.0beta2.tar.gz
       # cd ipfwadm-2.0beta2
       # make install
       # cp ipfwadm.8 /usr/man/man8
       # cp ipfw.4 /usr/man/man4

Table des matières


4.3. Les programmes utilisateurs AX.25

Après avoir correctement compiler et booter votre nouveau noyau, vous devez compiler les
programmes utilisateurs. Pour compiler et installer ceux-ci, utilisez les commandes suivantes:
 
       # cd /usr/src
       # tax xvfz ax25-utils-2.1.42a.tar.gz
       # cd ax25-utils-2.1.42a
       # make config
       # make
       # make install

Les fichiers vont être installés par défaut dans le répertoire /usr ainsi que dans les sous-répertoires:
bin, sbin, etc et man.

S'il s'agit de votre première installation, que vous n'avez jamais installé aucun des utilitaires AX25
sur votre machine auparavant, alors utilisez:

       # make installconf

afin d'installer quelques exemples de fichier de configuration dans le bon répertoire.

Si vous obtenez des messages comme suit:

  gcc -Wall -Wstrict-prototypes -O2 -I../lib -c call.c
  call.c: In function `statline':
  call.c:268: warning: implicit declaration of function `attron'
  call.c:268: `A_REVERSE' undeclared (first use this function)
  call.c:268: (Each undeclared identifier is reported only once
  call.c:268: for each function it appears in.)

alors vous devriez vérifier que vous avez la distribution ncurses correctement installée sur votre
système. Le script de configuration tente de localiser la distribution ncurses aux endroits habituels,
mais il est possible qu'elle n'ait pas été proprement installée et dès lors, il sera impossible de la localiser.

Table des matières


5.  Une note sur les indicatifs, adresses et autres avant de commencer

Chaque port AX.25 et NetRom sur votre système doit avoir un indicatif ainsi qu'un ssid.
Ceux-ci sont configurés dans les fichiers de configuration qui seront expliqués en détail par
la suite.

Quelques implémentations AX.25 comme NOS et BPQ vous autoriseront à configurer
les mêmes indicatifs et ssid sur chacun des ports AX.25 et NetRom.  Pour quelques raisons
techniquement compliquées, Linux ne vous l'autorisera pas. Toutefois, ceci n'est pas un problème
insurmontable comme on pourrait le croire.

Ceci signifie qu'il y a certaines choses que vous devez savoir et prendre en  considération lorsque
vous préparez vos configurations.

  1. Chaque port AX.25 et NetRom doit être configuré avec un indicatif/ssid
     unique.

  2. TCP/IP utilisera l'indicatif et le ssid du port AX.25 par lequel on transmet
     ou on reçoit, c'est-à-dire celui que vous avez configuré pour l'interface
     AX.25 au point 1.

  3. NetRom utilisera l'indicatif et le ssid spécifié pour lui dans son fichier
     de configuration, mais cet indicatif est seulement utilisé lorsque votre NetRom
     parle à un autre NetRom, il ne s'agit pas de l'indicatif/ssid que les
     utilisateurs AX.25 souhaitant accéder à votre noeud NetRom utiliseront.
     Plus d'informations seront fournies par la suite.

  4. Par défaut, Rose utilise l'indicatif/ssid du port AX.25, à moins que
     l'indicatif Rose n'ait été spécifié grâce à la commande 'rsparms'.
     Si vous définissez un indicatif/ssid au moyen de la commande
     'rsparms' alors Rose utilisera cet indicatif/ssid sur tous les
     ports.

  5. D'autres programmes, tels que le programme 'ax25d' peuvent écouter
     au moyen de n'importe quel indicatif/ssid désiré et il peut même
     y avoir des doublons sur les différents ports.

  6. Si vous prenez garde au routage, vous pouvez configurer la même adresse IP
     sur tous les ports que vous voulez.

Table des matières


5.1.  Que sont donc T1, T2, N2 et autres

Toutes les implémentations AX.25 ne sont pas forcément basées sur le TNC2.  Linux utilise une
nomenclature qui diffère légèrement de celle avec laquelle vous étiez familiers si votre unique expérience
du packet était un TNC.
Le tableau ci-dessous devrait vous aider à interpréter chacune des choses configurables, de façon à ce
que lorsque vous les rencontriez plus tard dans le texte, vous puissiez comprendre leur signification.
 
  -------------------------------------------------------------------
  Linux  | TNC TAPR | Description
  -------------------------------------------------------------------
  T1     | FRACK    | Temps à attendre avant de retransmettre
         |          | une trame non acquitée.
  -------------------------------------------------------------------
  T2     | RESPTIME | Temps minimal d'attente d'une autre trame à
         |          | recevoir avant de transmettre un accusé de
         |          | réception.
  -------------------------------------------------------------------
  T3     | CHECK    | La période de temps à attendre avant de vérifier
         |          | que le lien est toujours actif.
  -------------------------------------------------------------------
  N2     | RETRY    | Combien de fois faut-il retransmettre une trame
         |          | avant d'assumer que la connexion n'existe plus.
  -------------------------------------------------------------------
  Temps  |          | La période de temps pendant lequel la connexion
  mort   |          | peut être au temps mort avant la déconnexion.
  -------------------------------------------------------------------
  Fenêtre| MAXFRAME | Le nombre maximum de trames transmises sans
         |          | accusé de réception.
  -------------------------------------------------------------------

Table des matières


5.2.  Paramètres configurables en temps réel

Les noyaux 2.1.* et 2.0 ainsi que les modules ont une nouvelle  caractéristique qui vous autorisent
à changer certains paramètres en temps réel qu'auparavant vous ne pouviez pas changer.
Si vous jetez prudemment un coup d'oeil sur le répertoire  /proc/sys/net, vous verrez plein de fichiers
dotés de noms significatifs qui décrivent certains paramètres de la configuration du réseau.
Les fichiers dans le répertoire /proc/sys/net/ax25 représentent chacun un port AX.25. Le nom du
fichier est en corrélation avec le nom du port.

La structure des fichiers dans /proc/sys/net/ax25/<nom du port>/  est la suivante:

  Nom du fichier        Signification           Valeur                     Défaut
  ip_default_mode       Mode IP par défaut      0=DG 1=VC                  0
  ax25_default_mode     Mode AX.25 par défaut   0=Normal 1=Etendu          0
  backoff_type          Terminaison             0=Linéaire 1=Exponentielle 1
  connect_mode          Mode connecté           0=Non 1=Oui                1
  standard_window_size  Fenêtre standard        1  <= N <= 7               2
  extended_window_size  Fenêtre étendue         1  <= N <= 63              32
  t1_timeout            Compteur T1             1s <= N <= 30s             10s
  t2_timeout            Compteur T2             1s <= N <= 20s             3s
  t3_timeout            Compteur T3             0s <= N <= 3600s           300s
  idle_timeout          Compteur d'inactivité   0m <= N                    20m
  maximum_retry_count   N2                      1  <= N <= 31              10
  maximum_packet_length Longueur de trame AX.25 1  <= N <= 512             256
 
Dans la table, T1, T2 et T2 sont donnés en secondes, et le compteur d'inactivité est donné en
minutes. Mais veuillez noter que les valeurs utilisées dans l'interface sysctl sont données en unités
internes où le temps en seconde est multiplié par 10, ceci autorise des résolutions jusqu'à 1/10
de seconde. Avec des compteurs qui autorisent des valeurs nulles, comme T3 et le compteur
d'inactivité, une valeur à zéro indique que le compteur est désactivé.

La structure des fichiers dans /proc/sys/net/netrom/ est la suivante:

  Nom du fichier                 Valeur                  Défaut
  default_path_quality                                   10
  link_fails_count                                       2
  network_ttl_initialiser                                16
  obsolescence_count_initialiser                         6
  routing_control                                        1
  transport_acknowledge_delay                            50
  transport_busy_delay                                   1800
  transport_maximum_tries                                3
  transport_requested_window_size                        4
  transport_timeout                                      1200

La structure des fichiers dans /proc/sys/net/rose/ est la suivante:

  Nom du fichier                 Valeur                  Défaut
  acknowledge_hold_back_timeout                          50
  call_request_timeout                                   2000
  clear_request_timeout                                  1800
  link_fail_timeout                                      1200
  maximum_virtual_circuits                               50
  reset_request_timeout                                  1800
  restart_request_timeout                                1800
  routing_control                                        1
  window_size                                            3

Pour mettre un paramètre, tout ce que vous avez à faire est d'écrire la valeur désirée
dans le fichier lui-même, par exemple pour vérifier et mettre la taille de la fenêtre Rose,
utilisez ceci:

       # cat /proc/sys/net/rose/window_size
       3
       # echo 4 >/proc/sys/net/rose/window_size
       # cat /proc/sys/net/rose/window_size
       4

Table des matières


 6.  Configuration d'un port AX.25

Chacune des applications AX.25 lit un fichier particulier de configuration  afin d'obtenir les paramètres
des divers ports AX.25 configurés sur votre  machine Linux. Pour ces ports AX.25, le fichier qui est lu
est /etc/ax25/axport.
Vous devez avoir une entrée dans ce fichier pour chaque port AX.25 que vous souhaitez utiliser dans
votre système.

Table des matières


6.1.  Création de l'unité réseau AX.25

 L'unité réseau est celle qui est listée lorsque vous utilisez la commande 'ifconfig'. Il s'agit de l'objet
vers lequel le noyau de Linux envoit et reçoit des données.
Il y a pratiquement toujours un port physique associé à l'unité réseau,  néanmoins il y a certaines
situations où cela ne sera pas nécessaire.
Une unité réseau est semblable à une unité de pilotage.
 
Dans le code Linux AX.25, il y a un certain nombre de pilotes d'unité.  Le plus courant est sans
doute le pilote KISS mais il y en existe d'autres comme les pilotes SCC, Baycom et carte son.
Chacun de ces pilotes va créer une unité réseau lors de leur démarrage.

Table des matières


6.1.1.  Création de l'unité KISS

  Options de compilation du noyau:

       General setup  --->
           [*] Networking support
       Network device support  --->
           [*] Network device support
           ...
           [*] Radio network interfaces
           [*] Serial port KISS driver for AX.25

La configuration la plus courante sera un TNC en mode KISS branché sur un port série.
Il vous faudra d'abord configurer votre TNC ainsi que le connecter à votre port série. Vous pouvez
utiliser un programme de communication comme minicom ou seyon pour configurer votre TNC en
mode KISS.

Pour créer une unité KISS, utilisez le programme kissattach. Dans sa forme la plus simple, vous pouvez
employer kissattach de la façon suivante:

       # /usr/sbin/kissattach /dev/ttyS0 radio
       # kissparms -p radio -t 100 -s 100 -r 25

La commande kissattach va créer une unité réseau KISS. Ces unités sont appelées 'ax[0-9]'. La première
fois que vous utilisez la commande  kissattach, elle va créer 'ax0', la seconde fois, 'ax1', etc...
Chaque unité KISS est associée à un port série.

La commande kissparms vous autorise à paramétrer une unité KISS.

L'exemple présenté ci dessus va créer une unité réseau KISS au moyen  de l'unité série '/dev/ttyS0' ainsi que
par l'entrée du fichier  /etc/ax25/axports avec un nom de port appelé 'radio'. Il sera alors configuré avec un
txdelay et un slottime de 100 millisecondes et une valeur ppersist fixée à 25.

Veuillez vous référer aux pages du manuel (man) pour plus d'informations.

Table des matières


6.1.1.1. Configurer un TNC à double port
L'utilitaire mkiss fourni avec la distribution ax25-utils vous autorise à  utiliser les modems des
TNC à double port.  Les configurer est relativement simple. Cela marche en prenant une simple
unité série connectée à un seul TNC multiport; comme s'il existait  plusieurs unités, chacune d'elle
connecté à un seul port du TNC. Faites ceci avant toute configuration AX.25.
Les unités sur lesquelles vous effectuez alors vos configurations AX.25 sont des interfaces
pseudo-TTY, (/dev/ttyq*), et non pas des unités du port série. Les pseudo unités TTY créent
une sorte de tube à travers lequel les programmes conçus pour parler aux unités tty peuvent
communiquer avec d'autres programmes accédant eux aussi aux unités tty.
Chaque tube dispose de terminaisons maîtres et esclaves.  La terminaison maître est généralement
appelée '/dev/ptyq*' et l'esclave '/dev/ttyq*'. Il y a une relation de un à un entre les maîtres et les
esclaves, donc /dev/ptyq0 est la terminaison maître d'un tube alors que /dev/ttyq0 est l'esclave.
Vous devez d'abord ouvrir le maître avant  l'esclave. mkiss exploite ce mécanisme en découpant une
seule unité série en unités distinctes.

Exemple: si vous avez un TNC à double port connecté à l'unité série  /dev/ttyS0 à une vitesse de 9600
bps, la commande:

       # /usr/sbin/mkiss -s 9600 /dev/ttyS0 /dev/ptyq0 /dev/ptyq1
       # /usr/sbin/kissattach /dev/ttyq0 port1
       # /usr/sbin/kissattach /dev/ttyq1 port2

va créer deux pseudos unités tty ressemblant à un seul et même port TNC.
Vous allez alors considérer /dev/ttyq0 et /dev/ttyq1 juste comme une simple unité série connectée à un TNC.
Ce qui signifie que vous allez alors utiliser la commande kissattach comme décrite ci dessus, pour chacune
des unités, dans l'exemple des ports AX.25 appelés port1 et port2.
Vous ne devez pas utiliser kissattach pour la réelle unité série car  le programme mkiss l'utilise.

La commande mkiss a quelques options que vous pouvez utiliser. Elles sont explicitées ci dessous:

  -c autorise l'ajout d'un octet de somme de contrôle à chaque trame KISS.
  Ceci n'est pas compatible avec la majorité des implémentations KISS, mais  uniquement avec les roms
  KISS G8BPG.

  - <vitesse>
  définit la vitesse du port série.

  -h autorise le handshaking hardware sur le port série, par défaut cette option n'est pas activée.
  La plupart des implémentations KISS ne le supporte pas, d'autres si.

  -l autorise le trace des informations vers le journal d'activité.

Table des matières


6.1.2.  Création de l'unité Baycom

  Options de compilation du noyau:

       Code maturity level options  --->
           [*] Prompt for development and/or incomplete code/drivers
       General setup  --->
           [*] Networking support
       Network device support  --->
           [*] Network device support
           ...
           [*] Radio network interfaces
           [*] BAYCOM ser12 and par96 driver for AX.25
 

Thomas Sailer, <sailer@ife.ee.ethz.ch>, malgré son intime conviction que cela ne marcherait jamais
correctement, a développé un support Linux pour  les modems Baycom. Son pilote supporte le port
série Ser12, ainsi que les  modems sur les ports parallèles, le Par96 et le modèle évolué PicPar.
D'autres informations complémentaires sur les modems peuvent être obtenues  sur le site Web
Baycom: <http://www.baycom.de>.

Votre première étape est de déterminer les entrées-sorties et les adresses  des ports série ou
parallèles sur lesquels sont branchés vos modems  Baycoms. Lorsque vous les avez, alors vous devez
les utiliser pour configurer le pilote du Baycom.

Le pilote du BayCom crée des unités réseau appelées: bc0, bc1, bc2 etc.  lorsqu'il est configuré.

L'utilitaire sethdlc vous autorise à configurer le pilote avec ces paramètres, ou, si vous n'avez qu'un
seul modem Baycom d'installé, vous pouvez spécifier  les paramètres grâce à la commande en ligne
insmod lorsque vous chargez le  module Baycom.

Par exemple, voici une simple configuration.  Désactivez le pilote série pour  COM1: puis configurez
le pilote Baycom pour un modem Ser12 sur le port série  COM1: avec l'option logicielle DCD activée:

       # setserial /dev/ttyS0 uart none
       # insmod hdlcdrv
       # insmod baycom mode="ser12" iobase=0x3f8 irq=4

Modem Par96 sur port parallèle LPT1: avec détection matérielle DCD:

       # insmod hdlcdrv
       # insmod baycom mode="par96" iobase=0x378 irq=7 options=0

Ceci n'est pas réellement la plus judicieuse façon de procéder.  L'utilitaire sethdlc fonctionne aussi bien
avec une seule unité  qu'avec plusieurs.

Les pages du manuel sur sethdlc contiennent beaucoup de détails, mais  une série d'exemples illustrera
les aspects les plus importants de cette  configuration. Les exemples suivants supposent que vous avez
déjà chargé  le module Baycom grâce à:

       # insmod hdlcdrv
       # insmod baycom

ou que vous ayiez compilé le noyau avec son pilote à l'intérieur.

Configure le pilote de l'unité bc0 avec le modem Baycom sur le port  parallèle LPT1: avec l'option logicielle
DCD:

       # sethdlc -p -i bc0 mode par96 io 0x378 irq 7

Configure le pilote de l'unité bc1 avec le modem Baycom sur le port série  COM1:

  # sethdlc -p -i bc1 mode "ser12*" io 0x3f8 irq 4

Table des matières


6.1.3.  Configuration des paramètres d'accès au canal AX.25

Les paramètres d'accès au canal AX.25 sont l'équivalent des paramètres de  type ppersist, txdelay et
slottime type parameters. Une fois encore, il  faut utiliser l'utilitaire sethdlc.

Une fois de plus, les pages du manuel de sethdlc sont une des plus complètes  sources d'information mais
un autre exemple ne peut pas faire de mal:

Configuration de l'unité bc0 avec un TxDelay à 200 mS, un SlotTime à 100 mS,  un PPersist à 40 et
en half duplex:

       # sethdlc -i bc0 -a txd 200 slot 100 ppersist 40 half

Remarquez que les valeurs sont exprimées en millisecondes.

Table des matières


6.1.3.1.  Configuration du noyau AX.25 pour utiliser l'unité BayCom
Le pilote BayCom crée les unités réseau standards que le code du noyau  AX.25 peut utiliser.
La configuration est identique à celle d'une carte  PI ou PacketTwin.

La première étape est de configurer l'unité avec un indicatif AX.25.
L'utilitaire ifconfig sera utilisé dans ce but.

       # /sbin/ifconfig bc0 hw ax25 VK2KTJ-15 up

assignera l'unité BayCom bc0 à l'indicatif AX.25 VK2KTJ-15.
Alternativement, vous pouvez utiliser la commande axparms, vous devez  toujours employer la
commande ifconfig pour activer l'unité:

       # ifconfig bc0 up
       # axparms -setcall bc0 vk2ktj-15

La prochaine étape est de créer une entrée dans le fichier /etc/ax25/axports  tout comme vous le
faites pour n'importe quelle autre unité.
L'entrée dans le fichier axports est associée à l'unité réseau que vous  avez configuré au moyen de
l'indicatif. L'entrée dans le fichier axports qui a l'indicatif avec lequel vous avez configuré l'unité
Baycom est celle qui sera utilisée pour y faire référence.

Vous pouvez alors considérer la nouvelle unité AX.25 tout comme vous le  ferez pour n'importe
quelle autre unité. Vous pouvez la configurer pour  TCP/IP, l'ajouter à ax25d et même y exécuter
NetRom ou Rose par-dessus si cela vous chante.

Table des matières


6.1.4.  Création d'une unité modem à base de carte son

  Options de compilation du noyau:

       Code maturity level options  --->
           [*] Prompt for development and/or incomplete code/drivers
       General setup  --->
           [*] Networking support
       Network device support  --->
           [*] Network device support
           ...
           [*] Radio network interfaces
           [*] Soundcard modem driver for AX.25
           [?] Soundmodem support for Soundblaster and compatible cards
           [?] Soundmodem support for WSS and Crystal cards
           [?] Soundmodem support for 1200 baud AFSK modulation
           [?] Soundmodem support for 4800 baud HAPN-1 modulation
           [?] Soundmodem support for 9600 baud FSK G3RUH modulation

Thomas Sailer a construit un nouveau pilote pour le noyau qui vous permet d'utiliser votre
carte son comme un modem.  Connectez votre radio directement à votre carte son pour
faire du packet !
Thomas recommande au moins un 486DX2/66 si vous voulez utiliser ce logiciel
car toute la gestion des signaux digitaux est faite directement par le  processeur principal.

Le pilote émule les modems de type 1200 bauds AFSK, 4800 HAPN ainsi que les 9600 FSK
(Compatible G3RUH). Pour le moment, les seules cartes son supportées sont les modèles compatibles
SoundBlaster et WindowsSoundSystem.
Les cartes son demandent quelques petites modifications électroniques permettant  de piloter le
mécanisme Push-To-Talk; vous trouverez plus d'informations sur le  site Web de Thomas:

  <http://www.ife.ee.ethz.ch/~sailer/pcf/ptt_circ/ptt.html>.

Il y a quelques options possibles, il s'agit de: détecter le son sortant de  la carte ou d'utiliser la sortie
depuis un port parallèle, série ou midi.
Vous trouverez des exemples de montage pour chacun d'eux sur le site de  Thomas.

Le pilote de la carte son crée des unités réseau appelées: sm0, sm1, sm2,  etc... lors de la
configuration.

Note: le pilote de la carte est en conflit avec les ressources sonores de  Linux. Donc, si vous comptez
utiliser le pilote de la carte son, vous devez  vous assurer que le pilote de son Linux n'est pas installé.
Naturellement,  vous pouvez compiler les deux sous forme de modules, les insérer et les  retirer selon
vos besoins.

Table des matières


6.1.4.1.  Configuration de la carte son
Le pilote du modem n'initialise pas la carte son. La distribution standard ax25-utils comprend un
utilitaire qui permet de le faire,  il s'agit de 'setcrystal' qui peut être utilisé pour les cartes  son à base
des puces Crystal. Si vous avez d'autres cartes alors  vous allez devoir utiliser un autre utilitaire pour
l'initialiser.
Sa syntaxe est directe:

  setcrystal [-w wssio] [-s sbio] [-f synthio] [-i irq] [-d dma] [-c dma2]

Par exemple, si vous souhaitez configurer une carte soundblaster avec  une adresse d'entrées-sorties à
0x388, une irq à 10 et un DMA à 1,  utilisez:

       # setcrystal -s 0x388 -i 10 -d 1

Pour configurer une carte WindowSoundSystem avec une adresse d'entrées-sorties à 0x534, une irq à 5
et un DMA à 3, utilisez:

       # setcrystal -w 0x534 -i 5 -d 3

Le paramètre [-f synthio] est l'adresse du synthétiseur, et le paramètre  [-c dma2] permet de contrôler le
second canal DMA afin d'effectuer des  opérations en full duplex.

Table des matières


6.1.4.2.   Configuration du pilote du modem son
Lorsque vous avez configuré la carte son, vous devez également configurer  le pilote afin de lui indiquer
l'emplacement de la carte son et le type de  modem que vous souhaitez lui faire émuler.
 
L'utilitaire sethdlc vous autorise à configurer le pilote avec ces  paramètres ou, si vous avez une seule
carte son d'installée, vous  pouvez spécifier ces paramètres grâce à la commande en ligne insmode
lorsque vous chargez le module du modem son.

Par exemple, une simple configuration, avec une seule carte son  SoundBlaster configurée ci-dessous émule
un modem a 1200 bps:
 
       # insmod hdlcdrv
       # insmod soundmodem mode="sbc:afsk1200" iobase=0x220 irq=5 dma=1

En fait, il ne s'agit pas de la meilleure façon de procéder. L'utilitaire sethdlc fonctionne aussi facilement avec
une seule unité qu'avec toutes les autres.
 
Les pages man de sethdlc contiennent tous les détails, mais quelques exemples illustreront les aspects les
plus importants de cette configuration. Les exemples suivants supposent que vous avez déjà chargé
les modules de modem son grâce à:
 
       # insmod hdlcdrv
       # insmod soundmodem

ou que vous ayiez déjà compilé le noyau avec le pilote à l'intérieur.

Configure le pilote pour supporter la carte WindowsSoundSystem que nous avons configuré auparavant
afin d'émuler un modem compatible G3RUH  9600 en unité sm0 sur le port parallèle à l'adresse 0x378
avec support  du Push-To-Talk:

       # sethdlc -p -i sm0 mode wss:fsk9600 io 0x534 irq 5 dma 3 pario 0x378

Configure le pilote pour supporter la carte SoundBlaster que nous  avons configuré auparavant afin d'émuler
un modem 4800 bps HAPN en unité  sm1 au moyen du port série à l'adresse 0x2f8 avec support du
Push-To-Talk:

       # sethdlc -p -i sm1 mode sbc:hapn4800 io 0x388 irq 10 dma 1 serio 0x2f8

Configure le pilote afin qu'il puisse supporter la carte SoundBlaster que  nous avions configuré afin qu'elle émule
un modem AFSK à 1200 bps.  en unité sm1 au moyen du port série à l'adresse 0x2f8 avec support du
Push-To-Talk:

       # sethdlc -p -i sm1 mode sbc:afsk1200 io 0x388 irq 10 dma 1 serio 0x2f8

Table des matières


6.1.4.3. Configuration des paramètres d'accès au canal AX.25
 Les paramètres d'accès au canal AX.25 sont l'équivalent des paramètres  KISS ppersist, txdelay et slottime.
Une fois encore, vous allez devoir utiliser l'utilitaire sethdlc.
 
Une fois de plus, les pages man de sethdlc sont une source très complète  d'informations mais un petit exemple
ne peut pas faire de mal:

Configure l'unité sm0 avec un TxDelay de 100 mS, un SlotTime de 50mS, un  PPersist de 128, le tout en
full duplex:

       # sethdlc -i sm0 -a txd 100 slot 50 ppersist 128 full

Notez que les valeurs de timing sont en millisecondes.

Table des matières


6.1.4.4. Définir les niveaux audio et accorder le pilote
Il est capital que les niveaux audio soient correctement définis afin  que tout modem à base de transmission
radio puissent marcher.
Ceci est également vrai pour le modem son. Thomas a développé quelques utilitaires qui rendent la chose
plus aisée. Il s'agit de smdiag et de smmixer.

     smdiag
        fournit deux types d'affichage, l'un de type oscilloscope,
        l'autre de type "modèle oculaire".

     smmixer
        vous autorise à ajuster les niveaux audio en transmission et en
        réception.

Afin de démarrer l'utilitaire smdiag pour l'unité sm0 du modem son en mode 'oculaire', utilisez:

       # smdiag -i sm0 -e

Afin de démarrer l'utilitaire smmixer pour l'unité sm0 du modem son,  utilisez:

       # smmixer -i sm0

Table des matières


6.1.4.5.  Configurer le noyau AX.25 afin qu'il utilise le modem son
Le pilote du modem son crée des unités réseau standard que le code du  noyau AX.25 peut utiliser.
La configuration est le même que celle des  cartes PI ou PacketTwin.

La première étape est de configurer l'unité avec un indicatif AX.25.
L'utilitaire ifconfig peut être utiliser dans ce but.

       # /sbin/ifconfig sm0 hw ax25 VK2KTJ-15 up

assignera l'unité sm0 du modem son à l'indicatif AX.25 VK2KTJ-4.  Alternativement, vous pouvez utiliser
la commande axparms, mais vous devez toujours employer la commande ifconfig pour activer l'unité:

       # ifconfig sm0 up
       # axparms -setcall sm0 vk2ktj-15

La prochaine étape est de créer une entrée dans le fichier  /etc/ax25/axports tout comme vous l'avez déjà
effectué pour n'importe  quelle autre unité.
L'entrée dans le fichier axports est associée à l'unité réseau que vous  avez configuré au moyen de l'indicatif.
L'entrée dans le fichier axports qui a l'indicatif avec lequel vous avez configuré l'unité Baycom est
celle qui sera utilisée pour y faire référence.

Vous pouvez alors considérer la nouvelle unité AX.25 tout comme vous le  ferez pour n'importe quelle autre
unité. Vous pouvez la configurer pour  TCP/IP, l'ajouter à ax25d et même y exécuter NetRom ou Rose
par-dessus  si cela vous chante.

Table des matières


 6.1.5.  Création d'une unité pour une carte PI

  Options de compilation du noyau:

       General setup  --->
           [*] Networking support
       Network device support  --->
           [*] Network device support
           ...
           [*] Radio network interfaces
           [*] Ottawa PI and PI/2 support for AX.25

Le pilote de l'unité de la carte PI crée deux unités appelées 'pi[0-9][ab]'.   La première carte PI détectée
allouera 'pi0', la seconde 'pi1', etc.
Les 'a' et 'b' font référence à la première et seconde interface  physique sur la carte PI. Si vous avez inclut
les pilotes de cartes  PI dans votre noyau, et que la carte a été correctement détectée alors  vous pouvez
utiliser la commande suivante afin de configurer les   unités réseau:

       # /sbin/ifconfig pi0a hw ax25 VK2KTJ-15 up

Cette commande va configurer le premier port sur la première carte PI  détectée avec l'indicatif VK2KTJ-15
et la rendre active. Pour utiliser  l'unité, il vous faut configurer une entrée dans votre fichier
/etc/ax25/axports avec un indicatif/ssid correspondant et vous serez  alors prêts à continuer.

Le pilote de la carte PI a été écrit par David Perry, <dp@hydra.carleton.edu>

Table des matières


6.1.6.  Création d'une unité pour la PacketTwin

  Options de compilation du noyau:

       General setup  --->
           [*] Networking support
       Network device support  --->
           [*] Network device support
           ...
           [*] Radio network interfaces
           [*] Gracilis PackeTwin support for AX.25

Le pilote de l'unité de la carte PacketTwin crée deux unités appelées   'pt[0-9][ab]'.
La première carte PacketTwin détectée allouera 'pt0', la seconde 'pt1',  etc.
Les 'a' et 'b' font référence à la première et seconde interface  physique sur la carte
PacketTwin. Si vous avez inclut les pilotes de cartes  PI dans votre noyau, et que la
carte a été correctement détectée alors  vous pouvez utiliser la commande suivante afin
de configurer les  unités réseau:

       # /sbin/ifconfig pt0a hw ax25 VK2KTJ-15 up

Cette commande va configurer le premier port sur la première carte PacketTwin
détectée avec l'indicatif VK2KTJ-15 et la rendre active. Pour utiliser  l'unité, il vous
faut configurer une entrée dans votre fichier  /etc/ax25/axports avec un indicatif/ssid
correspondant.

Le pilote de la carte PacketTwin a été écrit par Craig Small VK2XLZ,
<csmall@triode.apana.org.au>.

Table des matières


 6.1.7.  Créer une unité pour la carte générique SCC

  Options de compilation du noyau:

       General setup  --->
           [*] Networking support
       Network device support  --->
           [*] Network device support
           ...
           [*] Radio network interfaces
           [*] Z8530 SCC KISS emulation driver for AX.25

Joerg Reuter, DL1BKE, jreuter@poboxes.com a développé un support  générique pour les cartes à
base de Z8530 SCC. Son pilote est  configurable afin de supporter un bon nombre de différents types
de cartes et présente une interface semblable à un TNC KISS ainsi  vous pouvez donc le considérer
comme s'il s'agissait d'un TNC en mode  KISS.

Table des matières


6.1.7.1. Obtenir et construire la distribution des outils de configuration
Bien que le pilote soit inclus dans la distribution standard du noyau, Joerg  distribue les versions les plus
récentes de son pilote avec l'ensemble des outils de configuration dont vous allez également avoir besoin.

Vous pouvez obtenir la distribution des outils de configuration sur:

Joerg's web page <http://www.rat.de/jr/>

ou:

db0bm.automation.fh-aachen.de

       /incoming/dl1bke/

ou:

insl1.etec.uni-karlsruhe.de

       /pub/hamradio/linux/z8530/

ou:

ftp.ucsd.edu

       /hamradio/packet/tcpip/linux
       /hamradio/packet/tcpip/incoming/

Vous allez y trouver plusieurs versions, choisissez celle qui correspond le  mieux au noyau que vous
souhaitez utiliser.

  z8530drv-2.4a.dl1bke.tar.gz   2.0.*
  z8530drv-utils-3.0.tar.gz    2.1.6 ou plus

Les commandes suivantes étaient celles que j'utilisais pour compiler et  installer la distribution du
noyau 2.0.30:

       # cd /usr/src
       # gzip -dc z8530drv-2.4a.dl1bke.tar.gz | tar xvpofz -
       # cd z8530drv
       # make clean
       # make dep
       # make module         # Si vous voulez utiliser le pilote comme un module
       # make for_kernel     # Si vous voulez inclure le pilote dans le noyau
       # make install

Ceci terminé, vous devriez trois nouveaux programmes installés dans votre  répertoire /sbin: gencfg,
sccinit et sccstat. Ce sont ces programmes que vous allez utiliser pour configurer le pilote pour votre carte.

Vous allez également avoir un groupe de nouvelles unités créées dans votre  /dev appelées scc0 .. scc7.
Ils seront utilisés plus tard exactement comme des unités 'KISS'.

Si vous choisissez de faire un 'make for_kernel', alors vous allez devoir  recompiler votre noyau. Afin d'être
sûrs d'y incorporer le support du pilote  z8530, soyez sûr de répondre 'Y' à la question
'Z8530 SCC kiss emulation driver for AX.25' durant la phase de configuration du noyau 'make config'.

Si vous choisissez de faire un 'make module' alors le nouveau fichier scc.o  devra être installé dans le bon
répertoire /lib/modules et dans ce cas, il  sera inutile de recompiler votre noyau. N'oubliez pas d'utiliser la
commande insmod pour charger le module avant de l'utiliser et de le configurer.

Table des matières


6.1.7.2. Configurer le pilote pour votre carte
Le pilote z8530 SCC a été conçu pour être aussi flexible que possible de  façon à ce qu'il puisse
supporter autant de types de cartes que possible.
Malheureusement cette souplesse a rendu la configuration plus compliquée.

Il y a une documentation plus élaborée dans la distribution et vous devriez  la lire si vous avez le
moindre problème. Cherchez particulièrement dans doc/scc_eng.doc ou doc/scc_ger.doc pour
plus d'informations. J'ai  paraphrasé les détails importants mais il y a beaucoup de petits détails
que j'ai omis.

Le fichier principal de configuration est lu par le programme sccinit et il  est appelé /etc/z8530drv.conf.
Ce fichier est scindé en deux étapes principales: configuration des paramètres matériels et configuration des
canaux. Une fois que vous avez configuré ce fichier, ajoutez simplement:

  # sccinit

dans votre fichier rc qui configure votre réseau et le pilote va être initialisé grâce au contenu du fichier de
configuration. Vous devez absolument faire ceci avant de tenter d'utiliser le pilote.

Table des matières


6.1.7.2.1.  Configuration des paramètres matériels
Le premier chapitre est divisé en phrases, chaque phrase représente une  puce 8530. Chaque phrase
est une liste de mots clé avec des paramètres. Par défaut, vous pouvez spécifier jusqu'à quatre puces
SCC dans le fichier. La directive #define MAXSCC 4 dans scc.c peut être augmentée si vous exprimez
le besoin de gérer plus que quatre cartes.

Les mots clés et paramètres sont les suivants:

    chip
       le mot clé chip est utilisé pour séparer les phrases. Il ne prend  pas en
       compte les éventuels paramètres présents.

    data_a
       ce mot clé est utilisé pour configurer l'adresse du port de donnée
       pour le canal 'A' du z8530. Le paramètre est un nombre hexadécimal,
       par exemple 0x300.

    ctrl_a
      ce mot clé est utilisé pour spécifier l'adresse du port de contrôle
      pour le canal 'A' du z8530. Le paramètre est un nombre hexadécimal,
      par exemple 0x304.

    data_b
      ce mot clé est utilisé pour spécifier l'adresse du port de donnée
      pour le canal 'B' du z8530. Le paramètre est un nombre hexadécimal,
      par exemple 0x301.

    ctrl_b
      ce mot clé est utilisé pour spécifier l'adresse du port de contrôle
      pour le canal 'B' du z8530. Le paramètre est un nombre hexadécimal,
      par exemple 0x305.

    irq
      ce mot clé est utilisé pour spécifier l'IRQ utilisée par le 8530 SCC
      décrit dans cette phrase. Le paramètre est un entier, par exemple 5.

    pclock
      ce mot clé est utilisé pour spécifier la fréquence d'horloge sur
      la broche PCLK du 8530. Le paramètre est une fréquence entière notée
      en Hz dont le défaut est 4915200 si le mot clé n'est pas fourni.

    board
      le type de platine supporte par le 8530 SCC. Le paramètre est une
      chaîne de caractères. Les valeurs autorisées sont:

      PA0HZP
      la carte PA0HZP SCC

      EAGLE
      la carte Eagle

      PC100
      la carte DRSI PC100 SCC

      PRIMUS
      la carte PRIMUS-PC (DG9BL)

      BAYCOM
      la carte BayCom (U)SCC

    escc
      ce mot clé optionnel est utilisé pour permettre le support des puces
      SCC étendues (Extended SCC chips, ESCC) comme le 8580, 85180 ou le
      85280. Le paramètre est une chaîne de caractères avec 'yes' ou 'no'
      comme valeur possible. La valeur par défaut est 'no'.
 
   vector
     ce mot clé optionnel spécifie l'adresse du vecteur loquet (également
     connu comme "port intack") pour les cartes PA0HZP. Il ne peut y avoir
     qu'un seul vecteur loquet pour toutes les puces. Par défaut, cette
     valeur est à zéro.

   special
     ce mot clé optionnel spécifie l'adresse du registre de fonction spécial
     présent sur quelques cartes. Par défaut, il est à zéro.

   option
     ce mot clé est facultatif et par défaut à zéro.

  Ci-dessous, quelques exemples de configuration pour les cartes les plus  populaires:

  BayCom USCC
 
    chip 1
    data_a 0x300
    ctrl_a 0x304
    data_b 0x301
    ctrl_b 0x305
    irq 5
    board BAYCOM
    #
    # SCC chip 2
    #
    chip 2
    data_a 0x302
    ctrl_a 0x306
    data_b 0x303
    ctrl_b 0x307
    board BAYCOM

  Carte PA0HZP SCC

    chip 1
    data_a 0x153
    data_b 0x151
    ctrl_a 0x152
    ctrl_b 0x150
    irq 9
    pclock 4915200
    board PA0HZP
    vector 0x168
    escc no
    #
    #
    #
    chip 2
    data_a 0x157
    data_b 0x155
    ctrl_a 0x156
    ctrl_b 0x154
    irq 9
    pclock 4915200
    board PA0HZP
    vector 0x168
    escc no

  Carte DRSI SCC

    chip 1
    data_a 0x303
    data_b 0x301
    ctrl_a 0x302
    ctrl_b 0x300
    irq 7
    pclock 4915200
    board DRSI
    escc no

Si vous avez déjà une configuration qui marche pour votre carte avec NOS,  alors vous pouvez
utiliser la commande gencfg pour convertir les commandes du pilote PE1CHL NOS en quelque
chose de compréhensible par le fichier de  configuration du pilote z8530.

Pour utiliser gencfg, invoquez le simplement avec les mêmes paramètres que  vous utilisez avec le
pilote PE1CHL dans NET/NOS. Par exemple:

  # gencfg 2 0x150 4 2 0 1 0x168 9 4915200

va générer un squelette de configuration pour la carte OptoSCC.

Table des matières


6.1.7.3. Configuration des canaux
Le chapitre sur la configuration des canaux est l'endroit ou vous spécifiez  tous les autres paramètres
associés avec le port que vous configurez. Une  fois encore le chapitre a été divisé en phrases. Une
phrase représente un  port logique, et par conséquent il doit y en avoir deux pour chacun des
phrases de paramètre matériel puisque le 8530 SCC supporte deux ports.

Les mots clé et leurs paramètres sont aussi écrits dans le fichier  /etc/z8530drv.conf et doivent apparaître
après le chapitre des paramètres  matériels.

L'agencement est très important dans ce chapitre mais si vous vous en tenez  à la séquence suggérée alors
cela devrait marcher. Les mots clé et  arguments sont les suivants:

  device
    ce mot clé doit être la première ligne de la définition du port, il
    spécifie le nom du fichier des unités spéciales qui s'appliquent au
    restant de la configuration, par exemple /dev/scc0

  speed
    ce mot clé spécifie la vitesse en bits par seconde de l'interface. Le
    paramètre est un entier: par exemple, 1200.

  clock
    ce mot clé spécifie l'origine de l'horloge pour les données. Les valeurs
    possibles sont:

    dpll
      opération normale en halfduplex.
 
    external
      le modem fournit sa propre horloge Rx/Tx

    divider
      utilise le diviseur fullduplex si installé.
 
  mode
    ce mot clé spécifie le type de codage de données à utiliser.
    Les paramètres autorisés sont: nrzi ou nr.

  rxbuffers
    ce mot clé spécifie le nombre de buffers en réception afin
    d'allouer la mémoire. Le paramètre est un entier, par exemple 8.

  txbuffers
    ce mot clé spécifie le nombre de buffers en émission afin
    d'allouer la mémoire. Le paramètre est un entier, par exemple 8.
 
  bufsize
    ce mot clé spécifie la taille des buffers de réception et d'émission.
    Le paramètre est en octets et il représente la longueur totale de la
    trame, il doit également prendre en compte les entêtes AX.25 et pas
    seulement la longueur du champ d'information. Ce mot clé est optionnel
    et est fixé par défaut à 384.
 
  txdelay
    la valeur du délai de transmission KISS, le paramètre est un entier en mS.
 
  persist
    la valeur de persistance KISS, le paramètre est un entier.
 
  slot
    la valeur du temps d'ouverture KISS, le paramètre est un entier en mS.
 
  tail
    la valeur de la queue de transmission KISS, le paramètre est un entier en
    mS.
 
  fulldup
    le drapeau de full duplex KISS, le paramètre est un entier.
    Duplex, 0==Half Duplex.

  wait
    la valeur d'attente KISS, le paramètre est un entier en mS.
 
  min
    la valeur minute KISS, le paramètre est un entier en S.
 
  maxkey
    la valeur maximale keyup, le paramètre est un entier en S.
 
  idle
    la valeur du timer de temps mort KISS, le paramètre est un entier en S.
 
  maxdef
    la valeur maxdef KISS, le paramètre est un entier.
 
  group
    la valeur de groupe KISS, le paramètre est un entier.
 
  txoff
    la valeur txoff KISS, le paramètre est un entier en mS.
 
  softdcd
    la valeur softdcd KISS, le paramètre est un entier.
 
  slip
    le drapeau slip KISS, le paramètre est un entier.

Table des matières


6.1.7.4. Utiliser le pilote
Pour utiliser le pilote, il suffit de considérer les unités /dev/scc* comme  une simple unité série tty
connectée sur le TNC en mode KISS. Par exemple,  pour configurer les composantes réseau de
façon à ce que la carte SCC  fonctionne avec le noyau Linux, vous allez utiliser quelque chose comme:

       # kissattach -s 4800 /dev/scc0 VK2KTJ

Vous pouvez également utiliser NOS pour l'accrocher au noyau de la même  manière. Par exemple,
sous JNOS, tapez ceci:

       attach asy scc0 0 ax25 scc0 256 256 4800

Table des matières


6.1.7.5.  Les outils sccstat et sccparam
Pour vous aider dans la résolution des problèmes, vous pouvez utiliser le programme sccstat pour
afficher la configuration courante de l'unité SCC.
Essayez ceci:

       # sccstat /dev/scc0

vous allez alors voir défiler une large quantité d'informations en rapport à la configuration et au status du
port SCC /dev/ssc0.
La commande sccparam vous autorise à changer et à modifier une configuration une fois que vous avez
démarré votre système.
Sa syntaxe est fort similaire à la commande param sous NOS.  Par exemple, pour fixer le paramètre txtail
d'une unité à 100 mS, vous utiliserez:

       # sccparam /dev/scc0 txtail 0x8

Table des matières


6.1.8.  Création d'une unité Ethernet BPQ

Options de compilation du noyau:

       General setup  --->
           [*] Networking support
       Network device support  --->
           [*] Network device support
           ...
           [*] Radio network interfaces
           [*] BPQ Ethernet driver for AX.25

Linux supporte la compatibilité Ethernet BPQ. Ceci vous permet d'utiliser  le protocole AX.25 sur un
réseau Ethernet et d'interconnecter votre machine  Linux avec d'autres machines BPQ sur le réseau.

Les unités réseau BPQ sont appelées 'bpq[0-9]'. L'unité 'bpq0' est associée  à l'unité 'eth0', l'unité 'bpq1'
à l'unité 'eth1', etc.

La configuration est quelque peu ardue. Vous devez d'abord configurer une unité standard Ethernet.
Ceci implique que vous ayiez correctement compilé votre noyau de façon à ce qu'il supporte votre
carte Ethernet et testé son bon fonctionnement. Consultez le document Ethernet-HOWTO pour plus
d'informations à ce sujet.

Pour configurer le support BPQ, vous devez d'abord configurer l'unité Ethernet avec un indicatif AX.25.
La commande suivante l'effectuera pour vous:

       # /sbin/ifconfig bpq0 hw ax25 vk2ktj-14 up

Une fois de plus, rappelez-vous que l'indicatif que vous spécifiez doit correspondre avec l'entrée du fichier
/etc/ax25/axports que vous souhaitez  utiliser pour ce port.

Table des matières


6.1.9.  Configurer le noeud BPQ pour communiquer avec le support Linux AX.25

L'Ethernet BPQ utilise normalement une adresse multi-distribution.  L'implémentation de Linux ne le
fait pas et utilise plutôt une adresse normale de diffusion Ethernet. Le fichier NET.CFG pour le pilote
BPQ ODI doit ressembler à ceci:

       LINK SUPPORT

               MAX STACKS 1
               MAX BOARDS 1

       LINK DRIVER E2000                    ; ou d'autres MLID qui vont avec votre carte

               INT 10                          ;
               PORT 300                     ; en fonction de votre carte

               FRAME ETHERNET_II

               PROTOCOL BPQ 8FF ETHERNET_II ; nécessaire pour BPQ - on peut
                                                                              ; changer le PID

       BPQPARAMS                            ; optionnel - seulement si vous souhaitez redéfinir
                                                           ; l'adresse de destination

               ETH_ADDR  FF:FF:FF:FF:FF:FF  ; Adresse de destination

Table des matières


6.2.  Créer le fichier /etc/ax25/axports

Le fichier /etc/ax25/axports est un simple fichier texte que vous créez avec un éditeur de texte.
Le format du fichier /etc/ax25/axports est le suivant:

  nom du port indicatif vitesse taille du paquet fenêtre description

  où:

  nom du port
  est un nom qui va servir à référer le port.

  indicatif
  est l'indicatif AX.25 que vous voulez affecter au port.

  vitesse
  est la vitesse à laquelle vous voulez que le port communique avec votre
  TNC.

  taille du paquet
  est la longueur maximale du paquet pour les connexions AX.25 en mode
  connecté.

  fenêtre
  est le paramètre de la fenêtre AX.25. Ceci est identique au paramètre
  MAXFRAME des TNC.

  description
  est la description du port.

  Dans mon cas, mon fichier ressemble à ceci:

       radio    VK2KTJ-15       4800        256     2       4800bps 144.800 MHz
       ether    VK2KTJ-14       10000000    256     2       BPQ/ethernet device

Rappelez-vous, vous devez assigner un unique indicatif/ssid à chacun des ports AX.25 que vous créez.
Créez une entrée pour chacune des unités  AX.25 que vous voulez utiliser, ceci inclue les ports KISS,
Baycom,  SCC, PI, PT et modem son. Chaque entrée ici va décrire exactement une unité réseau AX.25.
Les entrées dans ce fichier sont associées avec les unités réseau grâce à l'indicatif/ssid. Ceci explique
pourquoi il est  nécessaire d'avoir un seul et unique indicatif/ssid.

Table des matières


6.3.  Configuration du routage AX.25

Il est possible que vous souhaitiez configurer les chemins des relais  par défaut pour des hôtes spécifiques.
Ceci est utile pour des connexions  normales AX.25 mais aussi pour des connexions à base d'IP.
La commande axparms vous permet de le faire. Une fois de plus, les pages  du manuel vous présenteront
une description complète mais un petit exemple serait:

       # /usr/sbin/axparms -route add radio VK2XLZ VK2SUT

Cette commande créera une entrée de relais pour VK2XLZ via VK2SUT sur le  port AX.25 nommée radio.

Table des matières


7.  Configurer une interface AX.25 pour TCP/IP

Il est très simple de configurer un port AX.25 afin qu'il transporte TCP/IP.
Si vous avez des interfaces KISS alors vous disposez de deux méthodes pour  configurer une adresse IP.
La commande kissattach a une option qui vous  autorise à spécifier une adresse IP.  La méthode plus
conventionnelle qui  utilise la commande ifconfig fonctionnera sur tout type d'interface.

Par exemple, nous pouvons modifier l'exemple vu précédemment de la façon suivante:
 
       # /usr/sbin/kissattach -i 44.136.8.5 -m 512 /dev/ttyS0 radio
       # /sbin/route add -net 44.136.8.0 netmask 255.255.255.0 ax0
       # /sbin/route add default ax0

va créer une interface AX.25 avec une adresse IP à 44.136.8.5 et un MTU de  512 octets. Vous devez
toujours utiliser la commande ifconfig pour  configurer les autres paramètres si nécessaire.

Si vous avez un autre type d'interface alors utilisez le programme ifconfig pour configurer l'adresse IP et les
détails du masque de sous-réseau pour  le port et ajoutez une route via le port, simplement comme vous le
feriez pour n'importe quelles autres interfaces TCP/IP.
L'exemple suivant est pour une carte PI, mais marchera également bien  pour n'importe quelles autres unités
réseau AX.25:

       # /sbin/ifconfig pi0a 44.136.8.5 netmask 255.255.255.0 up
       # /sbin/ifconfig pi0a broadcast 44.136.8.255 mtu 512
       # /sbin/route add -net 44.136.8.0 netmask 255.255.255.0 pi0a
       # /sbin/route add default pi0a

Les commandes de configuration ci-dessus sont sûrement familières pour  beaucoup d'entre vous qui avez
utilisé NOS, ses nombreuses émules ou tout autres logiciels tcp/ip. Notez que la route par défaut n'est pas
forcément  nécessaire dans votre configuration si vous avez d'autres unités réseau déjà configurées.

Pour tester l'interface, essayez de faire un ping ou un telnet vers la  machine locale.

       # ping -i 5 44.136.8.58

L'utilisation de l'option '-i 5' conditionne l'envoi d'une trame toutes les  5 secondes au lieu de 1 seconde
par défaut.

Table des matières


8.  Configurer un port NetRom

Le protocole NetRom utilise et se base sur les ports AX.25 que vous avez  crée. Le protocole
NetRom se place tout en haut du protocole AX.25.
Pour configurer NetRom sur une interface AX.25, vous devez configurer deux  fichiers. Le premier
fichier décrit les interfaces AX.25 et l'autre fichier décrit lequel des ports AX.25 transportera NetRom.
Vous pouvez  configurer plusieurs ports NetRom, chacun avec son propre indicatif et  son alias, la
même procédure étant appliquée pour chacun d'entre eux.

Table des matières


8.1.  Configurer le fichier /etc/ax25/nrports

Le premier est le fichier /etc/ax25/nrports. Ce fichier décrit les ports  NetRom de la même façon que le
fichier /etc/ax25/axports décrit les ports AX.25. Normalement une machine Linux aura une seule unité
NetRom configurée  qui utilisera un numéro défini par les ports AX.25.
Dans certaines situations, vous allez souhaiter un service spécial comme une BBS d'avoir un alias NetRom
distinct et alors vous allez devoir créer  plus d'une unité.

Ce fichier est formaté de la façon suivante:
 
  nom indicatif alias longueur du paquet description

  Où:

  nom
  est le nom qui va référencer le port.

  indicatif
  est l'indicatif que le trafic NetRom va utiliser depuis ce port.
  Remarquez que ce n'est pas l'adresse que les utilisateurs doivent connecter
  afin d'accéder à l'interface du noeud. (Le programme du noeud est explicité
  plus loin). Cet indicatif/ssid doit être unique et ne doit pas apparaître
  ailleurs ni dans le fichier /etc/ax25/axports ni dans le fichier
  /etc/ax25/nrports.
 
  alias
  est l'alias NetRom du port qui va lui être affecté.

  longueur du paquet
  est la taille maximale des trames NetRom transmises par ce port.

  description
  est une libre description de ce port.

  L'exemple ci-dessous parle de lui-même:

  netrom  VK2KTJ-9        LINUX   236     Linux Switch Port

Cet exemple crée un port NetRom connu par le reste du réseau NetRom  comme 'LINUX:VK2KTJ-9'.

Ce fichier est utilisé par d'autres programmes comme le programme  call.

Table des matières


8.2.  Configurer /etc/ax25/nrbroadcast

Le second fichier est /etc/ax25/nrbroadcast. Ce fichier peut contenir  un certain nombre d'entrées.
Il y a normalement une entrée pour chaque  port AX.25 sur lequel vous allez autoriser du trafic NetRom.

Ce fichier est formaté de la façon suivante:

  axport min_obs def_qual worst_qual verbose

Où:

  axport
  est le nom du port obtenu par le fichier /etc/ax25/axports. Si vous
  n'avez pas d'entrée dans le fichier /etc/ax25/nrbroadcasts pour un
  port alors cela signifie qu'aucun routage NetRom n'aura lieu et
  chaque diffusion NetRom reçue sera ignorée pour ce port.

  min_obs
  est la valeur minimale d'obsolescence pour ce port.

  def_qual
  est la qualité par défaut pour ce port.

  worst_qual
  est la pire qualité possible pour ce port, chaque route en dessous de cette
  valeur sera ignorée.

  verbose
  est un drapeau déterminant si la diffusion de routage NetRom était
  déclenchée depuis ce port ou depuis une émission de
  routage externe qui informera le noeud lui-même.

  Observez l'exemple ci-dessous:
 
       radio    1       200      100         1

Table des matières


8.3.  Création de l'unité réseau NetRom

Une fois que vous avez terminé la configuration des deux fichiers, vous devez créer l'unité NetRom
exactement de la même façon que vous l'avez fait  pour les unités AX.25. Cette fois-ci, vous utiliserez
la commande nrattach.
Nrattach fonctionne exactement comme la commande axattach excepté qu'il crée des unités réseau
NetRom appelées 'nr[0-9]'.
Une fois de plus, la première fois que vous l'utilisez, la commande nrattach crée l'unité 'nr0', la seconde fois,
l'unité réseau 'nr1', etc.
Pour créer l'unité réseau pour le port NetRom que nous avons déjà défini,  nous utiliserons:

       # nrattach netrom

Cette commande va démarrer l'unité NetRom (nr0) appelée netrom configurée  grâce aux paramètres
spécifiés dans le fichier /etc/ax25/nrports.

Table des matières


8.4. Démarrer le daemon NetRom

Le noyau Linux s'occupe de tout le protocole NetRom et de sa commutation mais ne prend pas en
charge certaines fonctions.
Le daemon NetRom gère les tables de routage NetRom et génère les émissions de routage NetRom.
Vous démarrez NetRom à l'aide de la commande:

       # /usr/sbin/netromd -i

Très vite, vous allez voir le fichier /proc/net/nr_neigh se remplir avec les informations en provenance
des noeuds NetRom voisins.
 
N'oubliez pas d'insérer la commande /usr/sbin/netromd dans votre fichier rc de façon à ce qu'elle
démarre à chaque fois que vous démarrez votre système.

Table des matières


8.5.  Configuration du routage NetRom

Vous souhaitez peut-être configurer des routes NetRom statiques pour des hôtes spécifiques.
La commande nrparms vous l'autorise. Une fois encore les pages du manuel  vous offre une
description complète, mais un simple exemple pourrait être:

       # /usr/sbin/nrparms -nodes VK2XLZ-10 + #MINTO 120 5 radio VK2SUT-9

Cette commande activera une route NetRom vers #MINTO:VK2XLZ-10 via le  voisin VK2SUT-9
sur mon port AX.25 appelé 'radio'.

Vous pouvez manuellement créer des entrées pour des nouveaux voisins au moyen de la commande
nrparms. Par exemple:

  # /usr/sbin/nrparms -routes radio VK2SUT-9 + 120

Cette commande créera VK2SUT-9 comme voisin NetRom avec une qualité de 120  et ceci sera
verrouillé et ne pourra pas être effacé automatiquement.

Table des matières


9. Configurer IP sur une interface NetRom

Configurer une interface NetRom pour tcp/ip est pratiquement identique à la  configuration d'une
interface AX.25 pour tcp/ip.

Une fois encore, vous pouvez spécifier l'adresse IP et le MTU grâce à la  commande en ligne nrattach;
vous pouvez également utiliser les commandes  ifconfig et route, mais vous devez ajouter manuellement
les entrées arp  pour accéder aux machines distantes car il n'existe pas de mécanisme  permettant à votre
système d'apprendre par lui-même quelle adresse NetRom doit être utilisée afin d'accéder à un système
IP distant.

Pour créer une unité nr0 avec une adresse IP fixée à 44.136.8.5, un MTU à  512, configurée grâce aux
informations du fichier /etc/ax25/nrports pour un  port NetRom appelé netrom, utilisez:

       # /usr/sbin/nrattach -i 44.136.8.5 -m 512 netrom
       # route add 44.136.8.5 nr0

ou vous pouvez utiliser quelque chose de semblable à:
 
       # /usr/sbin/nrattach netrom
       # ifconfig nr0 44.136.8.5 netmask 255.255.255.0 hw netrom VK2KTJ-9
       # route add 44.136.8.5 nr0

Donc pour atteindre chaque hôte IP via NetRom, vous devez entrer  manuellement les entrées ARP ainsi
que les routes.
Afin d'accéder à une destination pourvue de l'adresse IP 44.136.80.4 à  l'adresse NetRom BBS:VK3BBS
via un noeud voisin NetRom avec l'indicatif  VK2SUT-0, utilisez les commandes suivantes:
 
       # route add 44.136.80.4 nr0
       # arp -t netrom -s 44.136.80.4 vk2sut-0
       # nrparms -nodes vk3bbs + BBS 120 6 sl0 vk2sut-0

Les paramètres '120' et '6' de la commande nrparms sont les valeurs de qualité et d'obsolescence pour la route.

Table des matières


10.  Configurer un port Rose

La couche packet Rose est identique à la couche 3 des spécifications X.25.  Le noyau supportant le protocole
Rose est une version modifiée de  l'implémentation FPAC Rose   <http://fpac.lmi.ecp.fr/f1oat/f1oat.html>.

Le protocole Rose utilise et se base sur les ports AX.25 que vous avez  crée. Le protocole Rose se place tout en
haut du protocole AX.25.
Pour configurer Rose sur une interface AX.25, vous devez configurer un fichier de configuration décrivant vos ports
Rose.  Vous pouvez créer plusieurs ports Rose si vous le souhaitez, la  même procédure étant appliquée pour chacun
d'entre eux.

Table des matières


10.1.  Configurer /etc/ax25/rsports

Le fichier où vous configurez vos interfaces Rose est le fichier  /etc/ax25/rsports. Ce fichier décrit le port Rose
de la même manière que le  fichier /etc/ax25/axports décrit les ports AX.25.

Ce fichier est formaté de la façon suivante:

  nom adresse description

  Où:

  nom
  est le nom du port par lequel vous souhaitez référencer votre port.

  adresse
  est l'adresse Rose sur 10 chiffres que vous souhaitez affecter à votre
  port.

  description
  est une description libre du port.

  Par exemple:

  rose  5050294760  Rose Port

Notez que Rose utilisera par défaut l'indicatif/ssid configuré sur chaque port  AX.25 à moins que vous
ne le spécifiiez.

Pour configurer un indicatif/ssid distinct pour Rose afin de l'utiliser sur chaque  port, vous utilisez la commande
rsparms comme ci-dessous:

       # /usr/sbin/rsprams -call VK2KTJ-10

Cet exemple fera écouter Linux et utiliser l'indicatif/ssid VK2KTJ-10 sur tous les ports AX.25 configurés pour
les appels Rose.

Table des matières


10.2.  Créer l'unité réseau Rose

Lorsque vous avez crée le fichier /etc/ax25/rsports, vous devez alors créer  l'unité Rose de la même manière
que les unités AX.25.
Cette fois-ci, vous utiliserez la commande rsattach. La commande rsattach  crée des unités réseau appelées
'rose[0-5]'.  Une fois de plus, la première fois que vous l'utilisez, la commande  rsattach crée l'unité 'rose0',
la seconde fois, l'unité réseau 'rose1', etc.
Par exemple:
 
       # rsattach rose

Cette commande va démarrer l'unité Rose (rose0) appelée rose configurée  grâce aux détails spécifies dans le
fichier /etc/ax25/rsports pour l'entrée  'rose'.

Table des matières


10.3.  Configurer le routage Rose

Le protocole Rose supporte seulement le routage statique. L'utilitaire  rsparms vous permet de configurer votre
table de routage Rose sous Linux.

Par exemple:

       # rsparms -nodes add 5050295502 radio vk2xlz

ajoutera une route au noeud Rose 5050295502 via un port AX.25 appelé  `radio' dans votre fichier
/etc/ax25/axports vers un voisin doté de  l'indicatif VK2XLZ.

Vous pouvez spécifier une route avec un masque afin de capturer  un nombre de destinations Rose dans une seule
entrée de routage.
La syntaxe est la suivante:

       # rsparms -nodes add 5050295502/4 radio vk2xlz

qui sera identique à l'exemple précédent excepté qu'il correspondra à chaque  adresse de destination correspondante
aux quatre premiers chiffres  fournis, dans ce cas chaque adresse commençant par les chiffres  5050. Une autre forme
pour cette commande est:

       # rsparms -nodes add 5050/4 radio vk2xlz

qui est probablement la forme la moins ambiguë.

Table des matières


11.  Effectuer des appels AX.25/NetRom/Rose

Une fois que vous avez toutes vos interfaces AX.25, NetRom et Rose  de configurées et actives, vous devriez
être capable de  faire des tests d'appel.

Les utilitaires AX25 contiennent un programme appelé 'call' qui est  un petit terminal orienté écran pour AX.25,
NetRom et Rose.

Un simple appel AX.25 se fait de la façon suivante:

       /usr/bin/call radio VK2DAY via VK2SUT

Un simple appel NetRom vers un noeud avec un alias SUNBBS ressemblera  à:

       /usr/bin/call netrom SUNBBS

Un simple appel Rose vers HEARD sur le noeud 5050882960 ressemblera  à:

       /usr/bin/call rose HEARD 5050882960

Note: il faut indiquer à call le port AX.25 que vous souhaitez utiliser,  car il peut être possible de connecter un
noeud AX.25 sur n'importe quel  port que vous avez configuré.
 
Le programme call est un terminal orienté ligne de commande qui permet de  faire des appels AX.25. Il reconnaît
ses propres commandes internes grâce aux lignes commençant par le caractère '~'. La commande '~' ferme la
connexion courante.
 
Veuillez consulter les pages du manuel dans /usr/man pour plus d'informations.

Table des matières


12.  Configurer Linux afin qu'il accepte des connexions Packet

Linux est un système d'exploitation puissant qui offre un large éventail de  flexibilité de par sa configuration.
Malheureusement cette flexibilité a un coût surtout au moment de la configuration. Durant le paramétrage des
connexions entrantes AX.25, NetRom ou Rose de Linux, il y a un certain  nombre de questions qu'il faut vous
poser. La plus importante est  "Qu'est-ce que je veux que les utilisateurs voient lorsqu'ils se connectent ?".
Des personnes développent des petites applications qui peuvent être utilisées afin de fournir des services aux
appelants, un simple exemple est le programme pms inclus dans les utilitaires AX.25, un exemple plus
complexe est le programme node également inclus dans les utilitaires AX.25.
Alternativement, il est possible que vous souhaitiez accorder à vos  utilisateurs une invite de connexion de façon
à ce qu'ils puissent utiliser  un compte shell; ou mieux, vous avez peut-être même écrit votre propre
programme, comme par exemple une base de données maison ou un jeu et vous  avez envie que les gens
puissent en profiter.
Quel que soit ce que vous choisirez, vous devez le dire au logiciel AX.25  savoir quel doit être le programme
à exécuter lorsque celui ci accepte une  connexion AX.25 entrante.

Le programme ax25d est similaire au programme inetd couramment utilisé  pour accepter les connexions
TCP/IP entrantes sur des machines unix.
Il se dispose et écoute les connexions entrantes, lorsqu'il en détecte  une, il vérifie un fichier de configuration
pour déterminer quel doit  être le programme à exécuter et établit la connexion. Puisqu'il s'agit de l'outil standard
destiné à accepter les connexions AX.25, NetRom  et Rose, je vais vous décrire comment le configurer.

Table des matières


12.1. Créer le fichier /etc/ax25/ax25d.conf

Ce fichier contient les paramètres de configuration pour le daemon AX.25  ax25d qui gère les connexions
AX.25, NetRom et Rose entrantes.

A première vue, le contenu de ce fichier semble difficile à comprendre mais vous découvrirez bien vite qu'il
est en fait très simple en pratique avec néanmoins un petit piège qu'il faut savoir éviter.

Le format du fichier ax25d.conf est le suivant:

       # Ceci est un commentaire ignoré par le programme ax25d.
       [port_name] || <port_name> || {port_name}
       <peer1>    window T1 T2 T3 idle N2 <mode> <uid> <cmd> <cmd-name> <arguments>
       <peer2>    window T1 T2 T3 idle N2 <mode> <uid> <cmd> <cmd-name> <arguments>
       parameters window T1 T2 T3 idle N2 <mode>
       <peer3>    window T1 T2 T3 idle N2 <mode> <uid> <cmd> <cmd-name> <arguments>
          ...
       default    window T1 T2 T3 idle N2 <mode> <uid> <cmd> <cmd-name> <arguments>

  Où:

# situé en début de ligne est un commentaire et complètement ignoré par le programme ax25d.

     <port_name>
        est le nom du port AX.25, NetRom ou spécifié dans les fichiers
        /etc/ax25/axports, /etc/ax25/nrports et /etc/ax25/rsports.
        Le nom du port est entouré par les crochets '[]' s'il s'agit
        d'un port AX.25, par les signes '<>' pour un port NetRom, ou par
        les accolades '{}' s'il s'agit d'un port Rose.
        Il existe une autre forme pour ce champs, qui préfixe le nom
        du port avec l'indicatif/ssid via' pour indiquer que vous souhaitez
        accepter des appels vers l'indicatif/ssid via cette interface.
        L'exemple devrait l'illustrer clairement.

    <peer>
      est l'indicatif du noeud en pair qui s'applique à cette configuration
      particulière. Si vous ne spécifiez pas un SSID ici alors n'importe quel
      SSID conviendra.
 
     window
       est le paramètre de fenêtre AX.25 (K) ou le paramètre MAXFRAME pour cette
       configuration.
 
     T1 est le minuteur de retransmission de trame exprimé en 1/50 seconde.

     T2 est la quantité de temps durant lequel le logiciel AX.25 va attendre une
     autre trame entrante avant de préparer la réponse.
     L'unité est exprimée en seconde.

     T3 est la quantité de temps d'inactivité avant que le logiciel AX.25 ne
     déconnecte la session. Unité=1 seconde.

     idle
        est le compteur de temps mort en secondes.

     N2 est le nombre de retransmissions consécutives qui va être réalisée avant
     que la connexion ne se ferme.

     <mode>
       fournit un mécanisme pour déterminer certains types de permissions
       générales. Les modes sont activés ou désactivés en fournissant une
       combinaison de caractères, chacun représentant une permission.
       Les caractères peuvent être en majuscules ou minuscules et doivent être
       consolidés en un seul bloc sans espace.
 
        u/U
        UTMP - pas encore supporté.
 
        v/V
        Indicatif valide - pas encore supporté.

        q/Q
        Silencieux - Pas d'historique de connexion
 
        n/N
        Vérifie les voisins NetRom - pas encore supporté.
 
        d/D
        Interdit les relais
        Les connexions doivent être directes et non pas relayées.
 
        l/L
        Fermée - N'autorise pas les connexions.
 
        */0
        marque - place une marque, aucun mode fixe.

        <uid>
        est l'identificateur de l'utilisateur que le programme utilisera pour la
        connexion.

       <cmd>
       est le chemin d'accès total de la commande à lancer, sans aucun paramètre.

       <cmd-name>
       est le texte qui doit apparaître dans un ps lorsque la commande marche
       (normalement, le même que <cmd> sans le chemin d'accès).

       <arguments>
       sont les paramètres passés à la <:cmd> lorsqu'elle marche. Vous pouvez
       passer certaines informations utiles dans ces paramètres grâce aux jetons
       suivants:
 
        %d Nom du port sur lequel la connexion a été établie

        %U Indicatif AX.25 de la partie connectée sans le SSID, en majuscule.

        %u Indicatif AX.25 de la partie connectée sans le SSID, en minuscule.

        %S Indicatif AX.25 de la partie connectée avec le SSID, en majuscule.

        %s Indicatif AX.25 de la partie connectée avec le SSID, en minuscule.

        %P Indicatif AX.25 du noeud distant d'où venait la connexion sans
           le SSID, en majuscules.

        %p Indicatif AX.25 du noeud distant d'où venait la connexion sans
           le SSID, en minuscules.

        %R Indicatif AX.25 du noeud distant d'où venait la connexion avec
           le SSID, en majuscules.

        %r Indicatif AX.25 du noeud distant d'où venait la connexion avec
           le SSID, en minuscules.

Il vous faut au moins un paragraphe formaté comme vu précédemment pour  chaque interface AX.25,
NetRom ou Rose pour laquelle vous accepterez des  connexions entrantes AX.25, NetRom ou Rose.

Il y a deux lignes spéciales dans le paragraphe, l'une commencant avec la  chaîne de caractère 'parameters'
et l'autre commencant avec 'parameter' (Oui,  il y a une différence). Ces lignes servent pour des fonctions spéciales.
 
La but des lignes 'default' est évident, cette ligne sert "d'attrape-tout",  de façon à ce que n'importe quelle connexion
entrante sur l'interface <interface_call> non dotée de règle spécifique corresponde à la règle `default'.
Si vous n'avez pas de règle 'defaut', alors n'importe quelle connexion ne correspondant à aucune règle spécifique sera déconnectée immédiatement.
 
La ligne 'parameters' est un petit peu plus subtile, et c'est là qu'est le piège dont je vous avais parlé auparavant.
Dans chacun des champs pour n'importe quelle définition de noeud en pair,  vous pouvez utiliser le caractère '*'
afin d'utiliser la valeur par défaut.
La ligne 'parameters' est ce qui définit ces valeurs par défaut.  Le noyau lui-même a quelques valeurs par défaut
qui seront utilisées  si vous n'en spécifiez pas. Le piège est que ces valeurs par défaut  s'appliquent uniquement
aux règles en dessous de la ligne 'parameters' et non  pas à celles du dessus. Vous pouvez avoir plus qu'une
règle 'parameters' par définition d'interface, et de cette manière vous pouvez créer des groupes de configuration
par défaut. Il est important de noter que la règle  'parameters' ne vous autorise pas à positionner les champs 'uid' ou
'command'.

Table des matières


12.2.  Un simple exemple du fichier ax25d.conf

Ok, un exemple significatif:
 
  # ax25d.conf for VK2KTJ - 02/03/97
  # Cette configuration utilise le port AX.25 définit précédemment.
 
  # <peer> Win T1  T2  T3  idl N2 <mode> <uid> <exec> <argv[0]>[<args....>]

  [VK2KTJ-0 via radio]
  parameters 1    10  *  *  *   *   *
  VK2XLZ     *     *  *  *  *   *   *    root  /usr/sbin/axspawn axspawn %u +
  VK2DAY     *     *  *  *  *   *   *    root  /usr/sbin/axspawn axspawn %u +
  NOCALL     *     *  *  *  *   *   L
  default    1    10  5 100 180 5   *    root  /usr/sbin/pms pms -a -o vk2ktj

  [VK2KTJ-1 via radio]
  default    *     *    *   *   *   0    root /usr/sbin/node node

  <netrom>
  parameters 1    10  *  *  *   *   *
  NOCALL     *     *  *  *  *   *   L
  default    *     *  *  *  *   *   0        root /usr/sbin/node node

  {VK2KTJ-0 via rose}
  parameters 1    10  *  *  *   *   *
  VK2XLZ     *     *  *  *  *   *   *    root  /usr/sbin/axspawn axspawn %u +
  VK2DAY     *     *  *  *  *   *   *    root  /usr/sbin/axspawn axspawn %u +
  NOCALL     *     *  *  *  *   *   L
  default    1    10  5 100 180 5   *    root  /usr/sbin/pms pms -a -o vk2ktj

  {VK2KTJ-1 via rose}
  default    *     *    *   *   *   0    root /usr/sbin/node node radio

Cet exemple déclare que quiconque se connectant à l'interface sur ma  machine au moyen de
l'indicatif VK2KTJ-0 entendu sur le port AX.25  appelé 'radio' se conformera aux règles suivantes:
 
Quiconque se connectant au moyen de 'NOCALL' sera mis à la porte,  notez l'utilisation du mode 'L'.

La ligne 'parameters' change deux paramètres par défaut du noyau (Window et  T1) et exécute le
programme /usr/sbin/axspawn. Chaque copie de ce programme  lancée de cette façon apparaîtra sous
l'intitulé axspawn dans une sortie de  la commande ps. Les deux lignes suivantes sont pour les deux stations
qui vont  recevoir ces permissions.

La dernière ligne dans le paragraphe est "l'attrape-tout" que toutes les  personnes restantes obtiendront
(Y compris VK2XLZ et VK2DAY utilisant  d'autres SSID que -1). Cette définition déclare implicitement
tous les  paramètres et exécutera le programme PMS avec un paramètre spécifiant qu'il  s'agit d'une
connexion AX.25 et dont le propriétaire est VK2KTJ.
(Voir le chapitre 'Configurer la PMS' ci dessous pour plus de détails).

La configuration suivante accepte des appels vers VK2KTJ-1 via le port radio.
Il lance le programme node pour n'importe qui le connectant.

La configuration suivante est une configuration NetRom, notez l'utilisation des signes plus-petit-que et
plus-grand-que au lieu des crochets.
Ceci caractérise une configuration NetRom. Celle-ci est plus simple,  elle déclare simplement que quiconque
se connectant sur notre port NetRom  appelé 'netrom' aura une exécution du programme node, à moins qu'ils ne
disposent d'un indicatif  'NOCALL' et dans lequel cas, ils seront mis à la porte.

Les deux dernières configurations sont pour des connexions entrantes Rose.  La première pour les gens qui ont
lancé des appels vers 'vk2ktj-0' et la  seconde pour 'VK2KTJ-1 sur notre adresse de noeud Rose.
Ils fonctionnent de la même façon. Notez l'utilisation des accolades  afin de l'identifier comme un port Rose.

Cet exemple est quelque peu ingénieux mais je pense qu'il illustrate bien les caractéristiques importantes de la
syntaxe du fichier de configuration.
Ce dernier est expliqué entièrement dans les pages du manuel de ax25d.conf
Un exemple plus détaillé est inclus dans la distribution ax25-utils qui  vous sera bien utile.

Table des matières


12.3.  Démarrage de ax25d

Lorsque vous avez terminé de configurer vos deux fichiers, alors démarrez  ax25d avec la commande:

       # /usr/sbin/ax25d

Lorsque ceci fonctionne, les gens devraient être capables d'établir des connexions AX.25 sur votre
machine Linux. Rappelez-vous de mettre la commande ax25d dans vos fichiers rc de façon à ce qu'il
démarre automatiquement à chaque fois que vous mettez sous tension votre système.

Table des matières


13.  Configuration du noeud

Le noeud a été développé par Tomi Manninen <tomi.manninen@hut.fi> et se base sur le programme
original PMS. Il est ainsi possible de disposer d'une configuration à base de noeud, flexible et quasiment
complète, le tout  étant facilement paramétrable. Il autorise les utilisateurs connectés à effectuer des sessions
Telnet, Netrom, Rose, et AX25 et à obtenir des  informations diverses comme Finger, Nodes et Heard lists, etc...
Vous pouvez configurer le noeud de façon à ce qu'il exécute n'importe quelle commande Linux à souhait.

Le noeud est normalement appelé par le programme ax25d même s'il es  également exécutable par le biais du
programme tcp/ip inetd de façon à  autoriser les utilisateurs à effectuer un Telnet sur votre machine et ainsi
de pouvoir y accéder; il vous est également possible d'exécuter le noeud  directement via une ligne de commande.

Table des matières


13.1.  Création du fichier /etc/ax25/node.conf

Le fichier node.conf est l'endroit où vous stockerez la configuration  principale du noeud. Il s'agit en fait d'un
simple fichier texte et son  format est le suivant:

  # /etc/ax25/node.conf
  # Fichier de configuration pour le noeud.
  #
  # Les lignes commençant par '#' sont des commentaires et sont ignorées.

  # Nom de la machine.
  # Spécifie le nom de la machine du noeud.
  hostname radio.gw.vk2ktj.ampr.org

  # Réseau local
  # vous autorise à spécifier ce qui est considéré comme 'local' dans
  # le but d'utiliser la vérification des permissions inclue dans
  # le fichier nodes.perms.
  localnet 44.136.8.96/29
 
  # Cache les ports
  # Si spécifié, vous autorise à rendre certains ports invisibles aux
  # yeux des utilisateurs. Les ports listés ne seront pas affichés
  # par la commande (P)orts

  # Identification du noeud
  # ceci apparaîtra dans l'invite du noeud
  NodeId          LINUX:VK2KTJ-9

  # Port NetRom
  # Ceci est le nom du port netrom qui sera utilisé pour les connexions
  # sortante NetRom depuis le noeud
  NrPort          netrom

  # Compteur de dépassement de temps
  # Spécifie le dépassement de temps des connexions à ce noeud en
  # secondes.
  idletimout      1800

  # Dépassement de temps pour les connexions
  # Spécifie le compteur de dépassement de temps pour les connexions
  # établies via ce noeud en secondes.
  conntimeout     1800

  # Reconnexion
  # Spécifie si les utilisateurs doivent être reconnectés au noeud
  # lorsque les connexions à distance s'arrêtent, ou s'ils doivent être
  # complètement déconnectés.
  reconnect       on

  # Commande d'alias
  # Rend plus simple les commandes complexes.
  alias           CONV    "telnet vk1xwt.ampr.org 3600"
  alias           BBS     "connect radio vk2xsb"

  # Alias de commandes externes
  # Fournit un moyen d'exécuter des commandes externes sous le noeud.
  # extcmd <cmdname> <flag> <userid> <command>
  # Flag == 1 s'il s'agit seulement d'une fonction implémentée
  # <command> est formaté comme  ax25d.conf
  extcmd          PMS     1       root    /usr/sbin/pms pms -u %U -o VK2KTJ

  # Journal
  # Définit le niveau d'audit système. 3 est le plus complet, 0 le désactive
  loglevel        3

  # Le caractère de contrôle
  # 20 = (Control-T)
  EscapeChar      20

Table des matières


13.2.  Créer le fichier /etc/ax25/node.perms

Le noeud vous autorise à assigner des permissions aux utilisateurs. Ces  permissions vous permettent de
déterminer quels utilisateurs sont autorisés ou non à utiliser des options telles que les commandes (T)elnet
et  (C)onnect par exemple. Le fichier node.perms est l'endroit où sont stockées  ces informations, celui-ci
contient cinq champs clé.
Pour tous les champs, un astérisque '*' remplace n'importe quoi. Ceci est  particulièrement utile pour
construire des directives par défaut.

  user
  Ce premier champs représente l'indicatif ou l'utilisateur pour lequel les
  permissions s'appliquent. Toute valeur SSID est ignorée, alors placez-y
  simplement l'indicatif de base.

  method
  Chaque protocole ou méthode d'accès reçoit également des permissions. Par
  exemple, vous pourriez autoriser des personnes qui se sont connectées via
  AX.25 ou NetRom à utiliser l'option (C)onnect mais en empêcher d'autres comme
  ceux qui se sont connectés par Telnet via un noeud distant.
  Le second champs vous autorise à sélectionner la méthode d'accès pour laquelle
  la permission s'applique. Les méthodes sont les suivantes:

  méthode      description
  ax25------> L'utilisateur se connecte via AX.25
  netrom ---> L'utilisateur se connecte via NetRom
  host ------> L'utilisateur a démarré le noeud depuis une commande en ligne
  local -----> L'utilisateur s'est connecté grâce à telnet depuis une machine
                     'locale'
  ampr -----> L'utilisateur s'est connecté grâce à telnet depuis une adresse
                     amprnet (44.0.0.0)
  inet ------> L'utilisateur s'est connecté grâce à telnet depuis une adresse
                    en dehors du domaine ampr.
  rose -----> L'utilisateur se connecte via rose
  *    ----->  L'utilisateur s'est connecté par n'importe quel moyen
 
  port
  Pour les utilisateurs AX.25, vous pouvez contrôler les permissions sur un
  port grâce aux bases du port si vous le choisissez.
  Ceci vous autorise à déterminer ce que le AX.25 peut faire en se basant sur
  les ports sur lesquels ils se sont connectés.
  Le troisième champs contient le nom du port si vous utilisez cette
  commodité. Ceci est utile pour les connexions AX.25.

  password
  Vous pouvez éventuellement configurer le noeud de telle sorte qu'il
  invitera les utilisateurs à entrer un mot de passe au  moment de leur
  connexion. Ceci peut s'avérer utile pour protéger les utilisateurs dotés
  de certains privilèges. Si le quatrième champs est présent alors sa valeur
  sera le mot de passe.

  permissions
  Le champs permissions est le dernier champs à entrer dans le fichier. Le
  fichier de permissions est codé comme un champs  binaire, dans lequel
  chaque option disposant d'une valeur binaire mise à un  autorisera l'utilisateur
  à activer cette option.  Par contre, lorsque cette  valeur sera mise à zéro,
  alors l'utilisateur se verra interdire cette option. La liste des options contrôlables
  ainsi que ces valeurs binaires correspondantes sont les suivantes:

  valeur   description
  1 -----> Login autorisé.
  2 -----> (C)onnexion AX25 autorisée.
  4 -----> (C)onnexion NetRom autorisée.
  8 -----> (T)elnet vers les machines locales autorisé.
  16 ----> (T)elnet vers les machines amprnet (44.0.0.0) autorisé.
  32 ----> (T)elnet vers les machines distantes et non amprnet autorisé.
  64 ----> Ports cachés autorisés pour les (C)onnexions AX.25.
  128 ---> (C)onnexion Rose autorisée.

Pour coder les valeurs de permissions, simplement prenez chacune des permissions que vous souhaitiez
assigner aux utilisateurs et ajouter leur valeur. Placez ensuite le nombre résultant dans le cinquième champs.

Ci-dessous un exemple de fichier nodes.perms:
 

       # /etc/ax25/node.perms
       #
       # L'opérateur du noeud est VK2KTJ, il dispose du mot de passe
       # 'secret' et est autorisé à n'importe quelle type de connexion.
       vk2ktj  *       *       secret  255

       # Les utilisateurs suivants sont interdits de connexion
       NOCALL  *       *       *       0
       PK232       *       *       *       0
       PMS          *       *       *       0

       # Les utilisateurs INET sont interdits de connexion.
       *       inet    *       *       0

       # Les utilisateurs AX.25, NetRom, Local, Host et AMPR peuvent
       # se (C)onnecter et exécuter (T)elnet vers des machines
       # local et ampr mais pas en direction d'autres adresses IP.
       *       ax25     *       *       159
       *       netrom  *       *       159
       *       local     *       *       159
       *       host      *       *       159
       *       ampr    *       *       159

Table des matières


13.3. Configurer le noeud afin qu'il soit exécuté par ax25d

Le programme de noeud doit normalement être lancé par le programme ax25d.
Pour ceci, vous devez ajouter les directives appropriées au fichier  /etc/ax25/ax25d.conf. Dans ma
configuration, je voulais que les utilisateurs aient le choix de se connecter soit sur le noeud, soit vers
d'autres services. ax25d  vous autorise à faire ceci en créant  intelligemment des alias pour les ports.
Par exemple, à partir de la  configuration ax25d présentée ci-dessous, je souhaite configurer
le noeud de telle façon que tous les utilisateurs se connectant à VK2KTJ-1  puissent utiliser le noeud.
Afin de réaliser ceci, j'ajoute simplement les  instructions suivantes à mon fichier /etc/ax25/ax25d:

       [vk2ktj-1 via radio]
       default    *     *    *   *   *   0    root /usr/sbin/node node

Ceci indique simplement que le code du noyau de Linux répondra à n'importe quelle requête de
connexion pour l'indicatif 'VK2KTJ-1' entendu sur le port AX.25 nommé 'radio' et entraînera l'exécution
du noeud.

Table des matières


13.4.  Configurer le noeud afin qu'il soit exécuté depuis inetd

Si vous voulez que les utilisateurs soient capables de lancer telnet sur un port de votre machine, il vous
est possible de le faire assez aisément. La  première chose à décider est de choisir sur quel port les utilisateurs
vont  se connecter. Dans cet exemple, j'ai choisi arbitrement le port 3694 bien  que Tomi explique dans cette
documentation comment il est possible de  remplacer le démon du telnet avec celui du noeud.

Vous devez modifier deux fichiers.

Ajouter ceci à /etc/services:

       node    3694/tcp        #OH2BNS's node software

ainsi qu'a /etc/inetd.conf:

       node    stream  tcp     nowait  root    /usr/sbin/node node

Ceci terminé, et une fois que vous avez redémarré le programme inetd,  n'importe quel utilisateur se connectant
via telnet sur le port 3694 de votre machine sera obligée d'effectuer un login ainsi qu'éventuellement  entrer un mot
de passe; par la suite, ils se connecteront sur le noeud.

Table des matières


14. Configuration de axspawn

Le programme axspawn est un simple utilitaire qui autorise les stations  AX.25 à se connecter directement sur votre
machine. Il est appelé par le daemon ax25d comme vu ci-dessus. Pour autoriser un utilisateur à se connecter sur votre
machine, ajoutez simplement une ligne similaire à celle qui suit dans votre fichier /etc/ax25/ax25d.conf :

       default * * * * * 1 root /usr/sbin/axspawn axspawn %u

Si la ligne se termine par le caractère + alors l'utilisateur en instance  de connexion doit frapper la touche entrée avant
d'être autorisé à se  connecter. Par défaut, il n'y a pas d'attente. Chaque configuration  individuelle suivant cette ligne
verra le programme axspawn lors de la  connexion. Lorsque axspawn a démarré, il contrôle d'abord que l'argument
fourni avec la ligne de commande est un indicatif légal, supprime le SSID,  puis vérifie le fichier /etc/passwd afin de
voir que l'utilisateur  ait bien un compte configuré. Si cela se vérifie et que le mot de passe est  soit un "" (null) ou  +
alors l'utilisateur est connecté. S'il n'y a rien  dans le champs du mot de passe alors l'utilisateur est invité à entrer un
 mot de passe. S'il y a un compte existant dans le fichier /etc/passwd alors axspawn devrait être configuré de façon
à en créer un automatiquement.

Table des matières


14.1. Création du fichier /etc/ax25/axspawn.conf

Vous pouvez modifier le comportement de axspawn de différentes façons grâce à l'utilisation du fichier
/etc/ax25/axspawn.conf.
Ce fichier est configuré de la manière suivante:

       # /etc/ax25/axspawn.conf
       #
       # autorise la création automatique de comptes utilisateurs.
       create    yes
       #
       # utilisateur invité si le champ du dessus est égal a 'no' ou si
       # n'importe quoi d'autre échoue. Hors fonction avec "no".
       guest     no
       #
        # identifiant du groupe ou nom pour l'autoaccount.
       group     ax25
       #
       # Premier identifiant utilisateur à utiliser
       first_uid 2001
       #
       # Identifiant d'utilisateur maximal
       max_uid   3000
       #
       # Où ajouter le répertoire par défaut pour les nouveaux utilisateurs.
       home      /home/ax25
       #
       #  Shell utilisateur
       shell     /bin/bash
       #
       # Lie l'identifiant utilisateur à l'indicatif pour les connexions sortantes.
       associate yes

Les huit caractéristiques configurables de axspaw sont les suivantes:

     # indique un commentaire.

     create
       si ce champ est mis à yes alors axspawn tentera de créer automatiquement un
       compte utilisateur pour chaque utilisateur se connectant et n'ayant pas d'entrée
       existante dans le fichier  /etc/passwd.

     guest
       ce champs nomme le nom de login de l'utilisateur qui sera utilisé pour les
       gens se connectant et qui ont déjà un compte si create est mis à no.
       D'habitude, on utilise ax25 ou guest.

     group
       ce champ nomme le nom du groupe qui sera utilisé pour chaque utilisateur se
       connectant et qui n'a pas encore d'entrée dans le fichier /etc/passwd.

     first_uid
       ceci est le numéro du premier identifiant utilisateur qui sera
       automatiquement crée pour les nouveaux utilisateurs.

     max_uid
       ceci est le nombre maximum qui sera utilisé pour l'identifiant utilisateur
       des nouveaux utilisateurs.
 
     home
       ceci est le répertoire par défaut des nouveaux utilisateurs.

     shell
       ceci est le login shell de chacun des nouveaux utilisateurs.

     associate
       ce drapeau indique si les connexions AX.25 faites par l'utilisateur une
       fois connecté utiliseront leur propre indicatif ou bien  l'indicatif de vos stations.

Table des matières


15.  Configuration de la pms

Le programme pms est une implémentation d'un très simple système de  messagerie personnelle.
A l'origine, il fut écrit par Alan Cox. Dave Brown,  N2RJT, <dcb@vectorbd.com> a repris son
développement. Pour le moment, le  programme est toujours très simple, il dispose seulement des
fonctionnalités d'envoi de courrier vers le propriétaire du système et peut obtenir quelques informations
systèmes élémentaires mais Dave y travaille afin d'améliorer ces fonctionnalités et le rendre plus utile.

Ceci fait, il y a quelques fichiers simples que vous devez créer et qui  renseignent les utilisateurs sur
votre système; et puis, vous devez  également ajouter les entrées appropriées dans le fichier
ax25d.conf de  façon à ce que les utilisateurs se connectant puissent activer la PMS.

Table des matières


15.1. Créer le fichier /etc/ax25/pms.motd

Le fichier /etc/ax25/pms.motd contient le 'message du jour' que les utilisateurs verront après la
connexion sur leur BBS habituelle et la  réception de l'entête de l'identifiant de BBS. Ce fichier
est un simple  fichier texte, et chaque chose que vous y inclurez sera envoyée aux  utilisateurs.

Table des matières


15.2.  Créer le fichier /etc/ax25/pms.info

Le fichier /etc/ax25/pms.info est également un simple fichier texte dans  lequel vous mettrez plus
d'informations concernant votre station et votre configuration. Le contenu de ce fichier apparaît
aux utilisateurs  lorsqu'ils entrent la commande Info depuis l'invite PMS>.

Table des matières


15.3. Associer des indicatifs AX.25 avec des utilisateurs du système

Lorsqu'un utilisateur connecté envoie du courrier vers un indicatif AX.25,  la PMS s'attend à
ce que dernier soit connu, ou associé à un utilisateur  défini sur votre machine. Ceci est décrit
dans un autre paragraphe.

Table des matières


15.4. Ajouter la PMS au fichier /etc/ax25/ax25d.conf

Ajouter la PMS à votre fichier ax25d.conf est très aisé. Il y a juste une  petite chose à considérer.
Dave a ajouté des paramètres en ligne à la PMS de façon à ce qu'elle puisse gérer un certain nombre
de conventions pour  les caractères de fin de ligne. Par convention, AX.25 et NetRom considèrent
le retour de chariot et le saut de ligne comme délimiteurs de ligne alors que sous Unix, il s'agit d'un
simple "Entrée". Par exemple, si vous  souhaitez ajouter une entrée qui signifie que l'action par défaut
reçue sur  un port AX.25 est de démarrer la PMS alors ajoutez simplement une ligne  similaire à celle-ci:

       default  1  10 5 100 5   0    root  /usr/sbin/pms pms -a -o vk2ktj

Ceci lance le programme PMS, en lui spécifiant qu'il s'agit d'une connexion  AX.25 et que son propriétaire
est vk2ktj. Vérifiez les pages du manuel  (man) pour spécifier d'autres méthodes de connexion.

Table des matières


15.5.  Tester la PMS

 Pour tester la PMS, utilisez l'instruction suivante depuis une commande en  ligne:
 
  # /usr/sbin/pms -u vk2ktj -o vk2ktj

Remplacez mon indicatif par le vôtre et votre PMS sera exécutée, avec comme option la convention
de fin de ligne Unix, l'utilisateur connecté étant vk2ktj. Vous pouvez alors effectuer tout ce que les
utilisateurs connectés sont autorisés à faire.

Additionnellement, il vous est possible de solliciter la connexion à d'autres noeuds afin de vérifier si
votre configuration ax25d.conf  fonctionne bien.

Table des matières


16. Configurer les programmes user_call

Les programmes 'user_call' sont en fait appelés 'ax25_call' et  'netrom_call'. Ce sont de très simples
programmes qui peuvent être appelés depuis ax25d afin d'automatiser les connexions vers des machines
distantes.  Bien sûr, il est possible de les appeler depuis d'autres endroits comme depuis des scripts ou
des démons comme le noeud.

Ces programmes sont comme le simple utilitaire call. Ils ne gèrent  nullement les données qu'ils reçoivent,
alors vous allez devoir vous  préoccuper vous-même du problème du délimiteur de ligne.

Commençons avec un petit exemple afin de voir comment vous pourriez les  utiliser. Imaginez que vous
ayiez un petit réseau chez vous et que vous disposiez d'une machine Linux fonctionnant comme une passerelle
radio reliée à une autre machine, disons un noeud BPQ connecté via une connexion Ethernet.

Normalement si vous souhaitez que les utilisateurs radio puissent connecter le noeud BPQ, ils devront le faire
grâce à un relais via le noeud linux, ou bien d'abord se connecter au noeud sur Linux et puis se connecter à
partir de ce même noeud.   Le programme ax25_call peut simplifier tout cela s'il est appelé depuis
le programme ax25d.

Imaginez que le noeud BPQ ait l'indicatif VK2KTJ-9 et que la machine Linux ait un port AX.25/ethernet
appelé 'bpq'. Imaginons aussi que la passerelle Linux ait un port radio appelé 'radio'.

Une entrée dans le fichier /etc/ax25/ax25d.conf ressemblant à:

       [VK2KTJ-1 via radio]
       default    * * * *   *   *  *    root /usr/sbin/ax25_call ax25_call bpq %u vk2ktj-9

autorisera les utilisateurs à se connecter directement à 'VK2KTJ-1' qui est en fait le daemon Linux ax25d;
ces utilisateurs seront alors automatiquement aiguillés vers une connexion AX.25 vers `VK2KTJ-9'
via l'interface 'bpq'.

Il y a toute sorte d'autres configurations possibles que vous pourriez essayer. Les utilitaires 'netrom_call' et
'rose_call' fonctionnent d'une façon similaire. Un amateur a utilisé cette utilitaire afin d'effectuer des connexions
vers une BBS distante plus facilement. Normalement les utilisateurs auraient dû entrer manuellement une longue
chaîne de caractères afin de se connecter alors il a crée une entrée qui fait apparaître la BBS comme si elle
était sur le réseau local. Il a crée une sorte de procuration pour son ax25d afin de permettre la connexion vers
la machine distante.

Table des matières


17.  Configuration des commandes de liens Rose entrants et sortants

Si vous êtes familiers avec les implémentations ROM à base de Rose alors vous allez vous familiariser avec
la méthode par laquelle les utilisateurs AX.25 effectuent des appels à travers un réseau Rose. Si un utilisateur
local de noeud Rose a l'indicatif VK2KTJ-5 et que l'utilisateur AX.25 souhaite se connecter vers VK5XXX
sur le noeud distant Rose 5050882960 alors il effectuera la commande:

       c vk5xxx v vk2ktj-5 5050 882960

Sur le noeud distant, VK5XXX verra une connexion entrante avec un indicatif  local AX.25 relayé via
l'indicatif du noeud distant Rose.

L'implémentation Linux Rose ne supporte pas cette fonctionnalité dans le noyau, mais il y a deux applications
appelées rsuplnk et rsdwnlnk qui permettent cette fonction.

Table des matières


17.1.  Configuration d'un lien Rose sortant

Pour configurer votre machine Linux de façon à ce qu'elle accepte une connexion Rose et établir une connexion
AX.25 vers n'importe quelle destination non-entendue sur votre machine, vous devez ajouter une entrée dans
votre fichier /etc/ax25/ax25d.conf.
Normalement, vous allez configurer cette entrée comme étant une situation par défaut pour les connexions entrantes
Rose.  Par exemple, vous pourriez avoir des utilisateurs Rose opérants pour des destinations comme NODE-0 ou
HEARD-0 que vous souhaitez contrôler  localement, mais pour toutes les autres destinations, vous voudriez les
passer avec la commande rsdwnlink et considérer qu'il s'agit d'utilisateurs AX.25.

Une configuration typique ressemblerait à ceci:

       #
       {* via rose}
       NOCALL   * * * * * *  L
       default  * * * * * *  - root  /usr/sbin/rsdwnlnk rsdwnlnk 4800 vk2ktj-5
       #

Avec cette configuration, chaque utilisateur établissant une connexion Rose sur votre adresse de noeud Linux
avec une destination qui n'a jamais été entendue sera converti en une connexion AX.25 sur le port nommé 4800
avec le chemin de relais VK2KTJ-5.

Table des matières


17.2.  Configuration d'un lien Rose entrant

Pour configurer votre machine Linux afin qu'elle accepte des connections AX.25 de la même manière qu'un noeud
ROM Rose, vous devez ajouter une entrée dans votre fichier /etc/ax25/ax25d.conf comme ceci:

       #
       [VK2KTJ-5* via 4800]
       NOCALL   * * * * * *  L
       default  * * * * * *  - root  /usr/sbin/rsuplnk rsuplnk rose
       #

Remarquez la syntaxe spéciale de l'indicatif local. Le caractère '*'  indique que l'application doit être appelée si
l'indicatif est entendu sur le chemin de relais d'une connexion.

Cette configuration autorisera un utilisateur AX.25 d'établir des appels Rose par le biais de l'exemple de séquence
de connexion  présentée dans l'introduction.
Quiconque tentant d'établir un relais via VK2KTJ-5 sur le port AX.25  nommé 4800 sera supporté par la commande
rsuplnk.

Table des matières


18.  Associer des indicatifs AX.25 à des utilisateurs Linux

Il y a un certain nombre de situations où il est fortement conseillé d'associer un indicatif avec un compte
utilisateur Linux. Un exemple pourrait être le cas où un certain nombre d'opérateurs radio amateur partageant
la même machine Linux souhaiteraient utiliser leur propres indicatifs pour faire des connexions. Un autre cas
est celui des utilisateurs de PMS souhaitant parler à quelqu'un de particulier sur votre machine.

L'ensemble des outils AX.25 vous fournit un moyen de gérer cette association des comptes utilisateurs Linux
et des indicatifs radioamateurs.
Nous en avons déjà parlé dans le chapitre consacré au programme de PMS,  mais j'y reviens ici afin que vous
ne l'oubliiez pas.

Vous effectuez l'association grâce à la commande axparms. Par exemple:

       # axparms -assoc vk2ktj terry

Cette commande associe l'indicatif vk2ktj avec l'utilisateur terry de la  machine. Ainsi, tout le courrier pour
vk2ktj sur la PMS sera envoyé au compte utilisateur terry.

N'oubliez pas de placer ces associations dans votre fichier rc de façon à ce que cela marche à chaque fois
que vous démarrez votre machine.

Notez qu'il ne vaut mieux pas associer un indicatif avec le compte root car cela risque de provoquer des
problèmes dans d'autres programmes.

Table des matières


19.  Les entrées systèmes du fichier /proc/

Le répertoire /proc contient un certain nombre de fichiers prévus spécialement pour les composantes
AX25 et NetRom du noyau. Ces fichiers sont normalement utilisés par les utilitaires AX25 mais ils sont
aisément paramétrables, alors il est possible que vous trouviez un intérêt à les décortiquer.
Leur format est facilement compréhensible alors je ne pense pas que beaucoup d'explications seront
nécessaires.

     /proc/net/arp
     contient la liste des entrées du protocole de résolution d'adresse (ARP) et
     qui permet de convertir une adresse IP en une adresse MAC. Ces entrées
     peuvent être AX.25, Ethernet ou n'importe quelle autre couche MAC.

     /proc/net/ax25
     contient une liste des sockets AX.25 ouverts. Ils peuvent être à
     l'écoute d'une connexion, ou bien de sessions actives.

     /proc/net/ax25_bpqether
     contient les mappages des indicatifs AX25 sur de l'Ethernet BPQ.

     /proc/net/ax25_calls
     contient le mappage numéro utilisateur Linux-indicatif déclaré par la
     commande axparms -assoc.

     /proc/net/ax25_route
     contient les informations du routage du relais AX.25
 
     /proc/net/nr
     contient une liste des sockets NetRom ouverts. Ils peuvent être à
     l'écoute d'une connexion, ou bien de sessions actives.

     /proc/net/nr_neigh
     contient les informations sur les voisins NetRom connus par le système
     NetRom.
 
     /proc/net/nr_nodes
     contient les informations sur les noeuds NetRom connus par le système
     NetRom.
 
     /proc/net/rose
     contient une liste des sockets Rose ouverts. Ils peuvent être à
     l'écoute d'une connexion, ou bien de sessions actives.

     /proc/net/rose_nodes
     contient le mappage des destinations Rose vers les voisins Rose.

     /proc/net/rose_neigh
     contient une liste des voisins Rose connus.

     /proc/net/rose_routes
     contient une liste de toutes les connexions Rose établies.

Table des matières


20.  Programmation AX.25, NetRom et Rose

Probablement le meilleur avantage d'utiliser les implémentations à base de  noyau de protocoles amateurs
packet radio est la facilité avec laquelle on peut y développer des applications ainsi que des programmes.

Bien que la matière couvrant la programmation réseau sous Unix soit éloignée de la teneur du présent
document, je vais vous décrire les détails élémentaires concernant l'utilisation des protocoles AX.25, NetRom
et Rose au sein de vos propres applications.

Table des matières


20.1.  Les familles d'adresse

Sous Linux, la programmation réseau de AX.25, NetRom et Rose est  pratiquement la même que la
programmation TCP/IP.  La majeure différence réside dans les familles d'adresses utilisées ainsi que les
structures d'adresses qui ont besoin d'être correctement  placées aux bons endroits.

Les noms des familles d'adresse pour AX.25, NetRom et Rose sont respectivement  AF_AX25,
AF_NETROM et AF_ROSE.

Table des matières


20.2.  Les fichiers entêtes

Vous devez toujours inclure l'entête 'ax25.h', et aussi 'netrom.h' ou 'rose.h' si vous travaillez avec ces
protocoles.  Un squelette de programme ressemblera à ceci:

  Pour AX.25:

       #include <ax25.h>
       int s, addrlen = sizeof(struct full_sockaddr_ax25);
       struct full_sockaddr_ax25 sockaddr;
       sockaddr.fsa_ax25.sax25_family = AF_AX25

  Pour NetRom:

       #include <ax25.h>
       #include <netrom.h>
       int s, addrlen = sizeof(struct full_sockaddr_ax25);
       struct full_sockaddr_ax25 sockaddr;
       sockaddr.fsa_ax25.sax25_family = AF_NETROM;

  Pour Rose:

       #include <ax25.h>
       #include <rose.h>
       int s, addrlen = sizeof(struct sockaddr_rose);
       struct sockaddr_rose sockaddr;
       sockaddr.srose_family = AF_ROSE;

Table des matières


20.3. Adaptation des indicatifs et exemples

Il y a des routines dans la bibliothèque  lib/ax25.a incluse dans la distribution des utilitaires AX25 qui effectue
la conversion des indicatifs pour vous. Vous pouvez l'écrire vous-même si vous le souhaitez.

Les utilitaires user_call sont des excellents exemples sur lesquels vous pouvez commencer à travailler. Leur code
source est inclus dans la distribution des utilitaires AX25. Si vous y consacrez un peu de temps,  vous allez vite
vous rendre compte que 90 pour cent du travail consiste  à se tenir prêt à l'ouverture du socket. Faire une
connexion est aisée,  mais sa préparation prend du temps.

Les exemples sont suffisamment simples pour que vous vous y retrouviez.   Si vous avez la moindre question,
vous devriez directement les poser  à la liste de distributions linux-hams et quelqu'un pourra vous aider
sûrement.

Table des matières


21.  Exemples de configurations

Vous trouvez ci-dessous des exemples type de configurations classiques.  Il s'agit simplement de guides
car il y a beaucoup de façons de configurer son propre réseau, mais ces exemples représentent un bon début.

Table des matières


21.1.   Petit réseau Ethernet avec Linux comme routeur vers le réseau radio

Beaucoup d'entre nous ont des petits réseaux locaux à domicile et  souhaitent connecter leur machines sur
le réseau local radio. Ceci est le  type même de configuration que j'utilise chez moi. Je me suis arrangé pour
avoir une suite correcte d'adresse de façon à ce que je puisse tout  capturer aisément depuis une seule route
et tout rediriger vers mon réseau  Ethernet. Votre coordinateur local IP vous assistera dans cette tâche si
vous souhaitez faire cette expérience. Les adresses de votre réseau  Ethernet forme un sous-ensemble des
adresses du réseau radio.  La configuration suivante est celle que j'utilise pour mon routeur Linux  sur
mon réseau chez moi:
 

                                                 .   .   .   .    .    . .
         ---                                .
          | Réseau        /---------\     .    Réseau
          | 44.136.8.96/29|         |    .     44.136.8/24        \ | /
          |               | Routeur |   .                          \|/
          |               |         |  .                            |
          |          eth0 | Linux   |  .  /-----\    /----------\   |
       ---|---------------|         |-----| TNC |----| Radio    |---/
          |   44.136.8.97 |   et    |  .  \-----/    \----------/
          |               |         | sl0
          |               | serveur | 44.136.8.5
          |               |         |    .
          |               |         |     .
          |               \_________/       .
         ---                                     .      .   .    .    . .
 
 
 

  #!/bin/sh
  # /etc/rc.net
  # Cette configuration fournit un port AX.25 KISS et une
  # unité Ethernet.

  echo "/etc/rc.net"
  echo "  Configuring:"

  echo -n "    loopback:"
  /sbin/ifconfig lo 127.0.0.1
  /sbin/route add 127.0.0.1
  echo " done."

  echo -n "    ethernet:"
  /sbin/ifconfig eth0 44.136.8.97 netmask 255.255.255.248 \
                  broadcast 44.136.8.103 up
  /sbin/route add 44.136.8.97 eth0
  /sbin/route add -net 44.136.8.96 netmask 255.255.255.248 eth0
  echo " done."

  echo -n "    AX.25: "
  kissattach -i 44.136.8.5 -m 512 /dev/ttyS1 4800
  ifconfig sl0 netmask 255.255.255.0 broadcast 44.136.8.255
  route add -host 44.136.8.5 sl0
  route add -net 44.136.8.0 window 1024 sl0

  echo -n "    Netrom: "
  nrattach -i 44.136.8.5 netrom

  echo "  Routing:"
  /sbin/route add default gw 44.136.8.68 window 1024 sl0
  echo "    default route."
  echo done.

  # end

  /etc/ax25/axports

       # name  callsign        speed   paclen  window  description
       4800    VK2KTJ-0        4800    256     2       144.800 MHz

  /etc/ax25/nrports

       # name  callsign        alias   paclen  description
       netrom  VK2KTJ-9        LINUX   235     Linux Switch Port

  /etc/ax25/nrbroadcast

       # ax25_name     min_obs def_qual        worst_qual      verbose
       4800            1       120             10              1

  ·  Vous devez avoir activé IP_FORWARDING dans votre noyau.

  ·  Les fichiers de configuration AX.25 ressemblent beaucoup à ceux que
     l'on a déjà utilisé auparavant, veuillez de nouveau  consulter les anciens
     chapitres si c'est nécessaire.

  ·  J'ai choisi d'utiliser une adresse IP pour mon port radio qui n'est
     pas dans la fourchette de mon réseau privé. Je n'avais pas forcément besoin
     de le faire et j'aurai pu utiliser 44.136.8.97 pour ce port.

  ·  44.136.8.68 est ma passerelle d'encapsulation IPIP et il s'agit
     également de l'endroit ou je pointe vers ma route par défaut.

  ·  Chacune des machines sur mon réseau Ethernet dispose d'une route:

       route add -net 44.0.0.0 netmask 255.0.0.0 \
               gw 44.136.8.97 window 512 mss 512 eth0

  L'utilisation des paramètres mss et window signifie que je peux obtenir des
  performances optimales pour mon réseau local Ethernet ainsi que pour le
  réseau à base de connexions radio.

  ·  Je lance aussi mes daemons smail, http, ftp et autres sur le routeur de
     façon à qu'il soit le seul à fournir tous les services.

  ·  La machine de routage est un 386DX20 tres lent avec un disque dur de
     20Mb doté d'une configuration Linux minimale.

Table des matières


21.2.  Configuration de la passerelle d'encapsulation IPIP

Linux est maintenant très utilisé pour créer des passerelles d'encapsulation tcp/ip dans le monde entier.
Le nouveau pilote de tunnel supporte les routes encapsulées multiples et rend donc l'ancien daemon ipip
complètement obsolète.

Ci dessous, une configuration typique.

                                                 .   .   .   .    .    . .
         ---                                .
          | Réseau        /---------\     .    Réseau
          | 154.27.3/24   |         |    .     44.136.16/24       \ | /
          |               | Passe-  |   .                          \|/
          |               | relle   |  .                            |
          |          eth0 |         |  .  /-----\    /----------\   |
       ---|---------------| Linux   |-----| TNC |----| Radio    |---/
          |   154.27.3.20 |         |  .  \-----/    \----------/
          |               | IPIP    | sl0
          |               |         | 44.136.16.1
          |               |         |    .
          |               |         |     .
          |               \_________/       .
         ---                                     .      .   .    .    . .

 

   Les fichiers de configuration sont les suivants:

  # /etc/rc.net
  # Ce fichier est une simple configuration qui fournit un port radio
  # KISS AX.25, une unité Ethernet, et utilise le pilote tunnel
  # pour effecter l'encapsulation/décapsulation IPIP
 
  echo "/etc/rc.net"
  echo "  Configuring:"
  #
  echo -n "    loopback:"
  /sbin/ifconfig lo 127.0.0.1
  /sbin/route add 127.0.0.1
  echo " done."
  #
  echo -n "    ethernet:"
  /sbin/ifconfig eth0 154.27.3.20 netmask 255.255.255.0 \
                  broadcast 154.27.3.255 up
  /sbin/route add 154.27.3.20 eth0
  /sbin/route add -net 154.27.3.0 netmask 255.255.255.0 eth0
  echo " done."
  #
  echo -n "    AX.25: "
  kissattach -i 44.136.16.1 -m 512 /dev/ttyS1 4800
  /sbin/ifconfig sl0 netmask 255.255.255.0 broadcast 44.136.16.255
  /sbin/route add -host 44.136.16.1 sl0
  /sbin/route add -net 44.136.16.0 netmask 255.255.255.0 window 1024 sl0
  #
  echo -n "    tunnel:"
  /sbin/ifconfig tunl0 44.136.16.1 mtu 512 up
  #
  echo done.
  #
  echo -n "Routing ... "
  source /etc/ipip.routes
  echo done.
  #
  # end.

  et:

       # /etc/ipip.routes
       #  Ce fichier est généré par le script munge
       #
       /sbin/route add -net 44.134.8.0 netmask 255.255.255.0 tunl0 gw 134.43.26.1
       /sbin/route add -net 44.34.9.0 netmask 255.255.255.0 tunl0 gw 174.84.6.17
       /sbin/route add -net 44.13.28.0 netmask 255.255.255.0 tunl0 gw 212.37.126.3
          ...
          ...
          ...

  /etc/ax25/axports

       # name  callsign        speed   paclen  window  description
       4800    VK2KTJ-0        4800    256     2       144.800 MHz

 Quelques remarques ici:

  .  Le nouveau pilote de tunnel utilise le champs gw dans la table de
     routage au lieu du paramètre pointopoint afin de spécifier l'adresse de la
     passerelle distante IPIP. Ceci explique pourquoi il supporte désormais les
     routes multiples par interface.

  .  Vous pouvez configurer deux unités réseau avec la même adresse. Dans cet
     exemple, les unités sl0 et tunl0 ont été configurées avec l'adresse IP du
     port radio. Ceci est fait de façon à ce que la passerelle distante voit
     l'adresse correcte depuis votre passerelle dans des datagrammes encapsulés.

  .  La commande route utilisée pour spécifier les routes encapsulées peut être
     automatiquement générée par une version modifiée du script munge. Ceci est
     inclus en dessous. La commande route sera alors écrite dans un fichier
     séparé et lu grâce aux commandes du source bash /etc/ipip.routes (En
     supposant que vous ayiez appelé le fichier avec les commandes de routage
     /etc/ipip.routes). Le fichier source doit être dans le format de commande
     de route NOS.

  .  Notez l'utilisation du paramètre window sur la commande route.
     Le fait de mettre une bonne valeur window améliorera les performances
     sur vos liens radio.
 
  Le nouveau script tunnel-munge:

  #!/bin/sh
  #
  # De: Ron Atkinson <n8fow@hamgate.cc.wayne.edu>
  #
  #  Ce script est basiquement le script 'mung' écrit par Bdale N3EUA
  #  pour le démon IPIP et a été modifié par Ron Atkinson N8FOW. Son
  #  but est de convertir un fichier de routage au format KA9Q NOS
  #  (d'habitude appelé 'encap.txt') en une table de routage au format
  #  Linux pour le pilote de tunnel IP.
  #
  #        Usage: Fichier passerelle sur stdin, Fichier de route Linux sur
  #        stdout.
  #               ex.  tunnel-munge < encap.txt > ampr-routes
  #
  # NOTE: Avant d'utiliser ce script, soyez sûrs de vérifier et de changer
  #       les choses suivantes:
  #
  #     1) Changez les 'Local routes' et les 'Misc user routes' pour
  #        les routes qui s'appliquent localement chez vous (enlevez les
  #        miennes, svp!)
  #     2) Sur la ligne fgrep, soyez sûrs de changer l'adresse IP pour votre
  #        propre passerelle Internet. Si vous ne le faites pas, cela va
  #        causer de sérieuses boucles de routage.
  #     3) Le nom par défaut de l'interface est 'tunl0'. Soyez sûrs que ceci
  #        est correct pour votre système.

  echo "#"
  echo "# IP tunnel route table built by $LOGNAME on `date`"
  echo "# by tunnel-munge script v960307."
  echo "#"
  echo "# Local routes"
  echo "route add -net 44.xxx.xxx.xxx netmask 255.mmm.mmm.mmm dev sl0"
  echo "#"
  echo "# Misc user routes"
  echo "#"
  echo "# remote routes"

  fgrep encap | grep "^route" | grep -v " XXX.XXX.XXX.XXX" | \
  awk '{
          split($3, s, "/")
          split(s[1], n,".")
          if      (n[1] == "")    n[1]="0"
          if      (n[2] == "")    n[2]="0"
          if      (n[3] == "")    n[3]="0"
          if      (n[4] == "")    n[4]="0"
          if      (s[2] == "1")   mask="128.0.0.0"
          else if (s[2] == "2")   mask="192.0.0.0"
          else if (s[2] == "3")   mask="224.0.0.0"
          else if (s[2] == "4")   mask="240.0.0.0"
          else if (s[2] == "5")   mask="248.0.0.0"
          else if (s[2] == "6")   mask="252.0.0.0"
          else if (s[2] == "7")   mask="254.0.0.0"
          else if (s[2] == "8")   mask="255.0.0.0"
          else if (s[2] == "9")   mask="255.128.0.0"
          else if (s[2] == "10")  mask="255.192.0.0"
          else if (s[2] == "11")  mask="255.224.0.0"
          else if (s[2] == "12")  mask="255.240.0.0"
          else if (s[2] == "13")  mask="255.248.0.0"
          else if (s[2] == "14")  mask="255.252.0.0"
          else if (s[2] == "15")  mask="255.254.0.0"
          else if (s[2] == "16")  mask="255.255.0.0"
          else if (s[2] == "17")  mask="255.255.128.0"
          else if (s[2] == "18")  mask="255.255.192.0"
          else if (s[2] == "19")  mask="255.255.224.0"
          else if (s[2] == "20")  mask="255.255.240.0"
          else if (s[2] == "21")  mask="255.255.248.0"
          else if (s[2] == "22")  mask="255.255.252.0"
          else if (s[2] == "23")  mask="255.255.254.0"
          else if (s[2] == "24")  mask="255.255.255.0"
          else if (s[2] == "25")  mask="255.255.255.128"
          else if (s[2] == "26")  mask="255.255.255.192"
          else if (s[2] == "27")  mask="255.255.255.224"
          else if (s[2] == "28")  mask="255.255.255.240"
          else if (s[2] == "29")  mask="255.255.255.248"
          else if (s[2] == "30")  mask="255.255.255.252"
          else if (s[2] == "31")  mask="255.255.255.254"
          else                    mask="255.255.255.255"

  if (mask == "255.255.255.255")
          printf "route add -host %s.%s.%s.%s gw %s dev tunl0\n"\
                  ,n[1],n[2],n[3],n[4],$5
  else
          printf "route add -net %s.%s.%s.%s gw %s netmask %s dev tunl0\n"\
                  ,n[1],n[2],n[3],n[4],$5,mask
   }'

  echo "#"
  echo "# default the rest of amprnet via mirrorshades.ucsd.edu"
  echo "route add -net 44.0.0.0 gw 128.54.16.18 netmask 255.0.0.0 dev tunl0"
  echo "#"
  echo "# the end"

Table des matières


21.3.  Passerelle d'encapsulation AXIP

Beaucoup de passerelles radio-amateur-Internet encapsulent de l'AX.25,  du NetRom et du Rose en plus
de tcp/ip. L'encapsulation des paquets AX.25 dans des segments IP est expliquée dans la RFC-1226 de
Brian Kantor. Mike Westerhof a écrit une implémentation d'un daemon d'encapsulation pour unix en 1991.
L'ensemble ax25-utils inclut une version légèrement améliorée de ce daemon pour Linux.

Un programme d'encapsulation AXIP accepte en bout de chemin des trames AX.25, examine leur adresse
AX.25 de destination pour déterminer vers quelle adresse IP ils doivent être acheminés, les encapsule dans
une trame tcp/ip et finalement les transmet vers la bonne destination. Un même programme accepte également
les segments tcp/ip contenant des trames AX.25, les extrait et les gère exactement comme s'ils avaient  été
reçus directement depuis un port AX.25. Afin de distinguer les segments IP contenant des trames AX.25
avec d'autres segments IP,  les segments AXIP sont codés avec un identifiant de protocole égal  à 4 (Ou 94
mais qui est maintenant dépassé). Cette procédure est décrite dans la RFC-1226.

Le programme ax25ipd inclus dans la distribution ax25-utils se présente comme un programme supportant
une interface KISS au travers de laquelle vous passez des trames AX.25 ; de plus il comprend une interface
pour les protocoles tcp/ip. Il est configurable avec un seul fichier de configuration appelé /etc/ax25/ax25ipd.conf.

Table des matières


21.3.1.  Les options de configuration AXIP

Le programme ax25ipd a deux modes majeurs d'opération. Le mode  "digipeater" et le mode "tnc". Dans le
mode "tnc", le daemon est traité comme s'il était un simple TNC en mode KISS, vous y passez des trames
encapsulées en KISS, puis il les transmet, ceci est la configuration habituelle. En mode "digipeater", vous
considérez que le daemon agit comme s'il était un relais AX.25. Il existe une différence subtile entre ces
deux modes.

Dans le fichier de configuration, vous configurez les "routes" ou   les mappages entre les indicatifs AX.25 de
destination et l'adresse IP des machines vers lesquelles vous souhaitez également envoyer des paquets AX.25.
Chaque route a des options qui seront expliquées plus tard.
Les autres options pouvant être configurées sont les suivantes:

  . le tty qui sera ouvert par le daemon ax25ipd ainsi que sa vitesse (d'habitude une terminaison de pipe)

  . l'indicatif que vous souhaitez utiliser en mode "digipeater"

  . l'intervalle de déclenchement la balise ainsi que son texte

si vous choisissez d'encapsuler les trames dans des segments IP ou  UDP/IP. La plupart des passerelles
AXIP utilise l'encapsulation IP, mais quelques passerelles sont derrière des firewalls qui  n'autoriseront pas
que l'IP avec l'identifiant de protocole AXIP puisse passer, en conséquence ils seront obligés d'utiliser UDP/IP.
Suivant ce que vous choisissez, vous devez toujours vous assurer que la machine tcp/ip située à l'autre bout
du circuit a le même lien que le vôtre.

Table des matières


21.3.2.  Un fichier /etc/ax25/ax25ipd.conf typique

  #
  # Fichier de configuration ax25ipd pour la station floyd.vk5xxx.ampr.org
  #
  # Choisissez le transport axip 'ip', il garantit le plus haut niveau de
  # compatibilité avec la plupart des autres passerelles.
  #
  socket ip
  #
  # Détermine le mode d'opération ax25ipd. (digi ou tnc)
  #
  mode tnc
  #
  # Si vous avez choisi digi, vous devez définir un indicatif.  Si avez choisi
  # le mode tnc, l'indicatif est optionnel, mais ceci pourrait bien changer dans le
  # futur! (2 indicatifs si vous utilisez un double port KISS)
  #
  #mycall vk5xxx-4
  #mycall2 vk5xxx-5
  #
  # En mode digi, vous devez utiliser un alias. (2 pour un double port)
  #
  #myalias svwdns
  #myalias2 svwdn2
  #
  # Envoyer une identification toutes les 540 secondes ...
  #
  #beacon after 540
  #btext ax25ip -- tncmode rob/vk5xxx -- Experimental AXIP gateway
  #
  # Port série, ou pipe connecté à un kissattach dans mon cas
  #
  device /dev/ttyq0
  #
  # Fixe la vitesse de l'unité
  #
  speed 9600
  #
  # loglevel 0 - pas de sortie
  # loglevel 1 - seulement les info de la config
  # loglevel 2 - la plupart des événements et des erreurs
  # loglevel 3 - la plupart des événements, erreurs et trace des trames AX25
  # loglevel 4 - tous les événements
  # log 0 pour le moment, syslog ne marche pas encore...
  #
  loglevel 2
  #
  # Si nous sommes en mode digi, nous pouvons avoir un vrai tnc ici, alors nous
  # utilisons param pour indiquer les paramètres tnc ...
  #
  #param 1 20
  #
  # Définition de l'adresse de diffusion. Chacune des adresses listée sera expédiée
  # sur chacune des routes indiquées comme route de diffusion.
  #
  broadcast QST-0 NODES-0
  #
  # définition de route ax.25, définissez en autant que vous le souhaitez.
  # Le format est route (indicatif/joker) (machine IP de destination)
  # tous les SSID de routes sont à 0
  #
  # route <indicatif de destination> <adresse de destination> [drapeaux]
  #
  # Les drapeaux sont:
  #         b  - autorisent la transmission des émissions via cette route
  #         d  - cette route est la route par défaut
  #
  route vk2sut-0 44.136.8.68 b
  route vk5xxx 44.136.188.221 b
  route vk2abc 44.1.1.1
  #
  #

Table des matières


21.3.3.  Exécuter ax25ipd

     Créer votre entrée /etc/ax25/axports:

          # /etc/ax25/axports
          #
          axip    VK2KTJ-13       9600    256     AXIP port
          #

     Exécuter la commande kissattach pour créer ce port:

          /usr/sbin/kissattach /dev/ptyq0 axip

     Exécuter le programme ax25ipd:

          /usr/sbin/ax25ipd &

     Tester le lien AXIP:

          call axip vk5xxx

Table des matières


21.3.4.  Quelques remarques sur les routes et les drapeaux des routes

La commande "route" est l'endroit où vous voulez envoyer vos paquets  encapsulés. Lorsque le daemon ax25ipd
reçoit un paquet depuis cette interface, il compare l'indicatif de destination avec chacun des indicatifs de sa table
de routage. S'il trouve une correspondance alors le paquet AX.25 est encapsulé dans un segment IP et ensuite
transmis vers la machine a l'adresse IP qui a été spécifiée.

Il y a deux drapeaux que vous pouvez ajouter à n'importe quelle commande route du fichier ax25ipd. Les
deux drapeaux sont:

     b :  le trafic avec une adresse de destination correspondant à
           n'importe laquelle des entrées de la liste définie par le mot
           clé "broadcast" devra être transmis via cette route.

     d :  chaque paquet ne correspondant à aucune des routes devra
           être transmis via cette route.

Le drapeau de diffusion est très utile, car il diffuse des informations qui sont normalement destinées à toutes
les stations vers un certain nombre de destinations AXIP.  Normalement les routes AXIP sont en point à point
et incapables de manipuler des paquets de diffusions.

Table des matières


21.4. Lier NOS et Linux grâce à un pipe

Beaucoup de gens aiment utiliser NOS sous Linux car il dispose de plein de choses intéressantes qu'ils ont déjà
utilisé. La plupart de ces personnes aimeraient voir le NOS fonctionnant sur leur machine, capable de dialoguer
avec le noyau Linux de façon à ce qu'ils puissent  faire profiter de certaines des possibilités de Linux aux utilisateurs
via NOS.

Brandon S. Allbery, KF8NH, a contribué aux explications suivantes pour  expliquer comment interconnecter
NOS sur Linux avec le noyau grâce à un  pipe Linux.
 
Puisque Linux et NOS supportent tous les deux le protocole slip, il est  possible de les lier ensemble en créant
un lien slip. Vous pouvez faire  ceci en utilisant deux ports série avec un câble en boucle sur chacun  d'eux,
toutefois cela va s'avérer à la fois coûteux et lent.
Linux fournit une spécificité que les autres systèmes Unix appellent 'pipe'. Il s'agit de pseudo unités qui
ressemblent à des unités standard tty mais  qui en fait bouclent vers une autre unité 'pipe'. Afin d'utiliser ces pipes,
le premier programme doit d'abord ouvrir le pipe maître puis le second  programme ouvrira le pipe esclave.
Lorsque les deux sont ouverts alors les  programmes peuvent communiquer ensemble simplement en écrivant des
caractères vers les pipes exactement comme s'il s'agissait d'unités de  terminal.

Afin d'utiliser cette facilité pour connecter le noyau Linux avec une copie de NOS ou un quelconque autre
programme, vous devez d'abord choisir un  pipe. Vous pouvez en trouver un dans le répertoire /dev.
Les pipes maîtres sont nommés: ptyp[1-f] et les pipes esclaves sont connus comme: ttyp[1-f].
Rappelez-vous que ceux-ci travaillent par paire, alors si vous choisissez /dev/ptypf comme maître, vous devez
choisir /dev/ttypf comme esclave.

Une fois que vous avez choisi une paire de pipe, vous devez allouer le pipe maître au noyau Linux et le pipe
esclave au programme NOS, puisque le noyau  Linux démarre d'abord, le pipe maître doit d'abord être ouvert.
Rappelez-vous aussi que votre noyau Linux doit avoir une adresse IP différente de celle du NOS, alors pensez
à lui allouer une adresse unique si ce n'est pas encore fait.

On configure le pipe exactement comme une unité série, donc pour créer un lien slip depuis votre noyau Linux,
utilisez les commandes suivantes:

       # /sbin/slattach -s 38400 -p slip /dev/ptyqf &
       # /sbin/ifconfig sl0 broadcast 44.255.255.255 pointopoint 44.70.248.67 /
               mtu 1536 44.70.4.88
       # /sbin/route add 44.70.248.67 sl0
       # /sbin/route add -net 44.0.0.0 netmask 255.0.0.0 gw 44.70.248.67

Dans cet exemple, le noyau Linux s'est vu affecté l'adresse IP 44.70.4.88  et le programme NOS l'adresse
IP 44.70.248.67. La commande route sur la dernière ligne indique simplement au noyau de router toutes les
données pour le réseau amprnet via le lien slip qui a été crée par la commande slattach. Normalement vous
placez ces commandes dans votre fichier /etc/rc.d/rc.inet2 une fois que toute votre configuration réseau s'est
bien  déroulée de façon à ce que le lien slip soit crée automatiquement une fois  que vous avez rebooté.
Note: il n'y a aucun avantage à utiliser cslip plutot que slip car celui-ci  réduit les performances puisque le
lien est complètement virtuel et est  suffisamment rapide par rapport au temps que met cslip pour compresser
les entêtes.
 
  Pour finaliser la configuration du lien NOS, utilisez ceci:
 
    # Appelez l'interface comme vous le voulez, j'utilise "linux".
       attach asy ttyqf - slip linux 1024 1024 38400
       route addprivate 44.70.4.88 linux

Ces commandes vont créer un port slip nomme 'linux' via le pipe esclave vers le noyau Linux et une route vers
ce dernier. Une fois que vous avez démarré NOS, vous devriez être capable d'exécuter un ping ou un telnet
vers votre NOS directement depuis votre machine Linux et vice-versa.
Si ce n'est pas le cas, alors vérifiez que vous n'avez pas commis d'erreur et plus particulièrement que vous avez
bien configuré les adresses et que les pipes ont été montés dans le bon ordre.

Table des matières


22.  Où puis-je trouver plus d'informations sur .... ?

Puisque ce document suppose que vous ayiez déjà des notions sur le packet radio et qu'il est tout à fait
envisageable que ce n'est pas le cas,  je vous ai rassemblé tout un ensemble d'autres informations qui
pourront  vous être utiles.

Table des matières


22.1.  Packet Radio

Vous pouvez obtenir des informations généralistes sur le Packet Radio sur ces sites:

American Radio Relay League <http://www.arrl.org/>,

Radio Amateur Teleprinter Society <http://www.rats.org/>

Tucson Amateur Packet Radio Group <http://www.tapr.org/>

Table des matières


22.2.  Documentation sur les protocoles

AX.25, NetRom - Jonathon Naylor a rassemblé une variété de documents  expliquant les protocoles packet radio.
Cette documentation a été  consolidée dans ax25-doc-1.0.tar.gz
 <ftp://ftp.pspt.fi/pub/ham/linux/ax25/ax25-doc-1.0.tar.gz>

Table des matières


22.3. Documentation sur le matériel

De l'information sur les cartes PI2 est fournie par le Ottawa Packet Radio Group <http://hydra.carleton.ca/>.

De l'information sur les Baycom est disponible sur la page web Baycom  <http://www.baycom.de/>.

Table des matières


23.   Discussions en rapport avec les Radios Amateurs et Linux

Il y a beaucoup d'endroits où vous pouvez discuter du radio amateurisme et de Linux. Vous les trouverez
sur les forums comp.os.linux.* ainsi que sur  les listes de distributions de vger.rutgers.edu. Il y a également
d'autres endroits comme la liste tcp-group mailing list chez ucsd.edu (La source des discussions radioamateurs
sur tcp/ip ), et vous pouvez aussi essayer le canal #linpeople sur le réseau irc.

Pour joindre le canal Linux linux-hams sur la liste de distribution,  envoyer un courrier à:

Majordomo@vger.rutgers.edu

avec la ligne:

subscribe linux-hams

dans le corps du message. Le sujet est ignoré.

La liste de distribution linux-hams est archivée à:

  zone.pspt.fi <http://zone.pspt.fi/archive/linux-hams/> et
  zone.oh7rba.ampr.org <http://zone.oh7rba.ampr.org/archive/linux-hams/>.

Veuillez consulter d'abord les archives, car vous y trouverez réponses aux  questions les plus fréquentes.

Pour joindre le groupe tcp-group envoyez un courrier à:

listserver@ucsd.edu

avec la ligne:

subscribe tcp-group

dans le corps du message.

Note: Rappelez-vous que le groupe tcp-group est à l'origine consacré à la discussion avancée des protocoles,
comme tcp/ip. Les questions plus courantes et spécifiques concernant Linux n'y sont habituellement pas
débattues.

Table des matières


24.  Remerciements

Les personnes suivantes ont contribué à la réalisation de ce document d'une manière ou d'une autre, directement ou indirectement. Dans le désordre (lorsqu'ils me viennent à l'esprit):
Jonathon Naylor, Thomas Sailer, Joerg Reuter, Ron Atkinson, Alan Cox, Craig Small, John Tanner,
Brandon Allbery, Hans Alblas, Klaus Kudielka, Carl Makin.

Table des matières


25.  Copyright

Le AX25-HOWTO, une information concernant l'installation et la configuration des distributions supportant
l'AX25 pour Linux est copyright (c) 1996 Terry Dawson.

Ce programme est libre et gratuit; vous pouvez le redistribuer et/ou le modifier en accordance avec les termes
de licence GNU promulgués par Free Software Foundation; que ce soit la version 2 de la licence, ou (suivant
votre option), une autre version plus récente.

Ce programme est distribué avec l'espoir qu'il sera utile, mais SANS AUCUNE GARANTIE; sans même la
garantie de MARCHANDABILITE ou de BON FONCTIONNEMENT  POUR UNE  UTILISATION
PARTICULIERE. Veuillez consulter la licence GNU pour plus de détails.

Vous devriez avoir une copie de la licence publique GNU avec le programme; si ce n'est pas le cas, alors
écrivez à:

Free Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139,   USA.

Table des matières