terry@perf.no.itg.telstra.com.au
,
traduit par Fran�ois Romieu,
romieu@ensta.frLe document trouve son origine dans une annexe du HAM-HOWTO. L'importance de son d�veloppement devint cependant incompatible avec une telle organisation. L'installation et la prise en charge int�gr�e d'AX.25, la gestion NetRom et Rose sous Linux sont d�crites. Quelques exemples de configurations typiques fournissent une base de travail.
La mise en oeuvre des protocoles radioamateurs sous Linux est tr�s souple. Les personnes peu famili�res du syst�me d'exploitation Linux trouveront peut-�tre la configuration un peu obscure. Il vous faudra un certain temps pour ma�triser l'interaction des diff�rents �l�ments. Attendez-vous � une configuration p�nible si vous ne vous �tes pas auparavant familiaris� avec Linux. N'esp�rez pas passer � Linux depuis un autre environnement en faisant l'�conomie de tout apprentissage.
Ajouts: Page ouaibe de Joerg Reuters Section "Informations suppl�mentaires" configuration d'ax25ipd. Corrections/Mises � jour: Pr�vention des conflits dus aux pty Nouvelles versions du module et des ax25-utils A faire: Mettre au point la section SCC qui est s�rement erron�e �toffer la section touchant � la programmation
Les archives du Projet de Documentation Linux (LDP ou Linux Documentation Project) constituent le meilleur emplacement o� trouver la derni�re mouture de ce texte. Le LDP tient � jour un site ouaibe dans lequel figure l'AX.25 HOWTO : AX.25-HOWTO. Le texte est disponible sous diff�rents formats � l'adresse suivante : archive ftp sunsite.unc.edu. La version fran�aise est accessible via : archive Traduc.org.
Vous pouvez me contacter mais comme je transmets directement les nouvelles versions au coordinateur LDP des HOWTO, l'absence d'une nouvelle version indique s�rement que je ne l'ai pas termin�e.
La documentation sur les sujets apparent�s ne manque pas. Bon nombre de textes traitent de l'utilisation g�n�rale de Linux en r�seau et je vous conseille vivement de les lire : ils vous guideront dans vos efforts et offrent une vision �largie � d'autres configurations envisageables.
Par exemple :
et :
Des informations plus g�n�rales sur Linux sont disponibles : Linux HOWTO
Le protocole AX.25 fonctionne aussi bien en mode connect� que non-connect� et s'emploie tel quel pour des liaisons point-�-point ou pour encapsuler d'autres protocoles tels qu'IP ou NetRom.
Sa structure se rapproche de celle du niveau 2 d'X25 avec des extensions qui l'adaptent � l'environnement radioamateur.
Le protocole NetRom a pour objectif de fournir un protocole r�seau complet. Il repose sur AX.25 au niveau liaison de donn�es et procure une couche r�seau d�riv�e d'AX.25. Le protocole NetRom autorise le routage dynamique et la cr�ation d'alias pour les noeuds.
Le protocole Rose a �t� initialement con�u et r�alis� par Tom Moulton alias W2VY. Il constitue une mise en oeuvre du protocole par paquets X25 et peut inter-op�rer avec AX.25 au niveau liaison. Il fournit des services de couche r�seau. Les adresses Roses comportent 10 digits. Les quatre premiers constituent le code d'identification du r�seau de donn�es (DNIC ou Data Network Identification Code) et sont r�f�renc�s dans l'Appendice B de la recommandation X121 du CCITT. Des informations suppl�mentaires sur le protocole Rose sont disponibles sur le site suivant : Serveur Web RATS.
Alan Cox a cr�� les toutes premi�res versions de support noyau pour AX.25.
Jonathon Naylor <g4klx@g4klx.demon.co.uk>
a poursuivi le
d�veloppement, ajout� la gestion de NetRom et de Rose et assure � pr�sent
officiellement la maintenance du code noyau relatif � AX.25. La prise en
compte de DAMA est l'oeuvre de Joerg, DL1BKE, jreuter@poboxes.com
.
Thomas Sailer, <sailer@ife.ee.ethz.ch>
s'est charg� des
mat�riels Baycom et SoundModem. J'assure pour ma part le suivi des
utilitaires AX.25.
Linux g�re les TNC (Terminal Node Controllers) KISS, les cartes Ottawa PI, les PacketTwin Gracilis et autres cartes � base de SCC Z8530 via le pilote SCC g�n�rique ainsi que les modems sur ports s�rie et parall�le de Baycom. Le nouveau pilote pour modems � base de carte son de Thomas accepte les Soundblaster et les cartes � base de composants Crystal.
Le paquetage de programmes applicatifs comprend une messagerie individuelle (PMS ou Personal Message System), une balise, un programme de connexion en mode texte, un exemple de r�cup�ration des trames AX.25 au niveau de l'interface et des utilitaires de configuration du protocole NetRom. Il comprend �galement un serveur de type AX.25 qui g�re les demandes de connexions AX.25 et un d�mon qui se charge de l'essentiel du travail pour le protocole NetRom.
La mise en oeuvre d'AX.25 sous Linux lui est propre de A � Z. Bien qu'elle puisse ressembler � NOS, � BPQ ou � d'autres versions d'AX.25 sur certains points, elle ne se confond avec aucune d'entre elles. La version Linux peut �tre configur�e pour se comporter de fa�on voisine aux autres mais le processus n'en reste pas moins radicalement diff�rent.
Pour vous aider � comprendre la d�marche intellectuelle � suivre lors de la configuration, cette section d�crit les fonctionnalit�s structurelles d'AX.25 et son adaptation au contexte Linux.
Diagramme simplifi� des couches protocolaires
+----------+-----------+-------------+---------+
| AF_AX.25 | AF_NETROM | AF_INET | AF_ROSE |
+==========+===========+=============+=========+
| | | | |
| | | TCP/IP | |
| | +--------+ | |
| | NetRom | | Rose |
| +--------------------+----+---------+
| AX.25 |
+----------------------------------------------+
Le diagramme pr�c�dent illustre simplement le fait que Rose, NetRom, AX.25 et
TCP/IP reposent tous sur AX.25 mais que chacun est trait� comme un protocole
diff�rent au niveau de l'interface de programmation. Les noms
`AF_
' correspondent aux noms donn�s aux `Familles
d'Adresses' de chacun du point de vue du programmeur. On notera ici
l'obligation de configurer la pile AX.25 avant toute configuration des
protocoles NetRom, Rose ou TCP/IP.
Diagramme des modules logiciels de la pile r�seau de Linux
---------------+-----------+-----------------------++----------+--------------- Utilisateur |Programmes | call node || D�mons | ax25d mheardd | | pms mheard || | inetd netromd ---------------+-----------+-----------------------++----------+--------------- |Sockets | open(), close(), listen(), read(), write(), connect() | +----------------------+-------------------+---------- | | AF_AX.25 | AF_NETROM | AF_ROSE | AF_INET +-----------+--------------+-------+-----+-------------+---------- Noyau |Protocoles | AX.25 | NetRom | Rose | IP/TCP/UDP +-----------+--------------+-------------+-------------+---------- |P�riph. | ax0,ax1 | nr0,nr1 | rose0,rose1 | eth0,ppp0 +-----------+--------------+-------------+-------------+---------- |Pilotes | Kiss PI2 PacketTwin SCC BPQ | slip ppp | | modems type son Baycom | ethernet ---------------+-----------+------------------------------------------+----- Mat�riel | Cartes PI2, PacketTwin, SCC, S�rie, Ethernet ----------------------------------------------------------------------------Ce diagramme est plus g�n�ral que le pr�c�dent. Il montre les relations entre les applications, le noyau et le mat�riel ainsi qu'entre l'interface de programmation des sockets, les modules de protocoles, les p�riph�riques r�seau et leurs pilotes. Chaque niveau d�pend de celui sur lequel il repose et, de fa�on g�n�rale, la configuration doit se faire de bas en haut. Par exemple, si vous souhaitez ex�cuter le programme call, vous devez configurer le mat�riel, v�rifier que le pilote ad�quat est inclus dans le noyau, cr�er les p�riph�riques noyaux correspondants et inclure le protocole requis par le programme call. J'ai essay� d'organiser le pr�sent document de cette fa�on.
Le paquetage AX.25 comprend trois volets : les sources du noyau, les outils de configuration r�seau et les applications utilisateur.
Les version 2.0.xx des noyaux Linux incluent les gestionnaires AX.25, NetRom, SCC Z8530, PacketTwin et ceux des cartes PI. Les noyaux 2.1.* les am�liorent substantiellement. L'emploi d'un noyau 2.1.* dans un syst�me de production est vivement d�conseill�. Pour y rem�dier, Jonathon Naylor propose un ensemble de patches pour mettre � niveau la gestion du protocole radio amateur dans un noyau 2.0.28. L'application des patches est tr�s simple et apporte une palette de fonctionnalit�s autrement absentes du noyau tel le support Rose. L'emploi d'un noyau 2.2.x est �galement envisageable.
Les sources du noyau sont disponibles via le r�seau de miroirs de ftp.kernel.org : ftp.xx.kernel.org o� xx d�signe un code pays tel fr, uk, de, us, etc... Les diff�rentes version du noyau se trouvent en :
/pub/linux/kernel/
Version courante de mise � jour d'AX.25 :
ftp.pspt.fi
/pub/linux/ham/ax25/ax25-module-14e.tar.gz
Derni�re version alpha des outils r�seau standard pour Linux g�rant AX.25 et NetRom : ftp.inka.de
/pub/comp/Linux/networking/net-tools/net-tools-1.33.tar.gz
Paquetage ipfwadm : ftp.xos.nl
/pub/linux/ipfwadm/
En 2.2.x, le paquetage ipchains remplace ipfwadm devenu obsol�te.
Il existe deux familles distinctes d'outils AX.25. L'une d�di�e aux noyaux
2.0.*
et l'autre destin�e aussi bien aux version 2.1.*
qu'aux noyaux 2.0.*
patch�s. Le num�ro de version de ax25-utils
indique la version du noyau la plus ancienne � partir de laquelle les outils
fonctionneront. A vous de choisir une version des ax25-utils appropri�e.
Les combinaisons suivantes fonctionnent, utilisez les .
Noyau Linux Utilitaires AX.25
---------------------- -------------------------
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: les versions ax25-utils-2.0.*
identifi�es ci-dessus avec
le symbole '**
' sont � pr�sent obsol�tes. Le document couvre l'emploi
des logiciels conseill�s dans les tables. Bien que les paquetages diff�rent, la
plus grande partie des informations reste valable pour les versions suivantes.
Utilitaires AX.25 : ftp.pspt.fi ou : sunsite.unc.edu
Une mise en oeuvre correcte d'AX.25 dans votre syst�me Linux n�cessite l'installation et la configuration d'un noyau appropri� ainsi que des utilitaires AX.25.
Si vous �tes un habitu� de la compilation du noyau Linux, contentez-vous de v�rifier que vous avez activ� les options ad�quates et sautez cette section. Si ce n'est pas le cas, lisez ce qui suit.
En principe, les sources du noyau sont d�compact�es au niveau du r�pertoire
/usr/src
dans un sous-r�pertoire nomm� linux
. Pour ce faire,
prenez l'identit� du super-utilisateur root
et ex�cutez les
commandes ci-dessous :
# 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
Une fois les sources du noyau d�compact�es et la mise � jour appliqu�e, lancez le script de configuration et activez les options qui correspondent � la configuration mat�rielle dont vous souhaitez disposer. Vous utiliserez la commande :
# make menuconfig
Si vous �tes b�te^H^H^H^Hcourageux, vous pouvez essayer
# make config
Les claviophobes se serviront de :
# make xconfig
Je vais d�crire la m�thode plein-�cran (menuconfig) dont j'appr�cie la facilit� de d�placement mais vous �tes libre d'en utiliser une autre.
Dans tous les cas, vous devrez choisir parmi une s�rie d'options auxquelles il faudra r�pondre par `Y' ou `N' (voire `M' si vous avez recours aux modules, ce sur quoi je fais l'impasse pour simplifier).
Options importantes pour la configuration d'AX.25 :
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 ...Vous devez r�pondre `Y' aux options marqu�es d'un
*
'. Le reste
d�pend de votre configuration mat�rielle et d'options laiss�es � votre choix.
Certaines de ces options sont d�crites un peu plus loin. Si vous ne voyez pas
ce dont il retourne, continuez la lecture et revenez � cette section
ult�rieurement.
Une fois la configuration du noyau achev�e, vous devriez pouvoir compiler proprement un nouveau noyau :
# make dep
# make clean
# make zImage
D�placez ensuite le fichier arch/i386/boot/zImage
et �ditez le
fichier /etc/lilo.conf
en cons�quence avant de relancer lilo
pour �tre s�r que vous d�marrerez bien sur le bon noyau.
Je vous recommande de ne pas compiler quelque pilote que ce soit en tant que module. Dans presque toutes les installations, vous n'y gagnez rien sinon une complexit� accrue. De nombreuses personnes ont des probl�mes avec les modules, non par la faute du code, mais parce que les modules sont plus compliqu�s � installer et � configurer. [NdT:manifestement nous ne faisons pas le m�me arbitrage complexit�/souplesse]
Si vous avez choisi de compiler certains composants en tant que modules, vous devrez �galement utiliser :
# make modules
# make modules_install
afin d'installer vos modules � l'emplacement ad�quat.
Certains ajouts au fichier /etc/conf.modules
sont n�cessaires afin
que kerneld sache g�rer l'interface d'acc�s aux fonctions modularis�es.
Les entr�es suivantes doivent �tre pr�sentes :
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 (or one of the other scc drivers)
alias sm0 soundmodem
alias tunl0 newtunnel
alias char-major-4 serial
alias char-major-5 serial
alias char-major-6 lp
# modprobe -c
vous renverra la configuration courante.
Les noyaux 2.1.*
pr�sentent des am�liorations au niveau de quasiment tous
les pilotes et protocoles. Citons les plus significatives :
tous les protocoles et gestionnaires ont �t� modularis�s de fa�on � �tre g�r�s via insmod et rmmod. La m�moire demand�e par le noyau diminue dans le cas de modules employ�s par intermittence. Le d�veloppement et la mise au point des gestionnaires devient �galement plus facile. Cela �tant, la configuration devient l�g�rement plus compliqu�e.
l'acc�s aux p�riph�riques tels les Baycom, SCC, PI, PacketTwin et autres a maintenant lieu via une interface r�seau usuelle semblable � celle du gestionnaire ethernet. Ils n'apparaissent d�sormais plus comme des TNC KISS. L'utilitaire net2kiss permet de cr�er une interface KISS pour ces p�riph�riques si on le souhaite.
il y a eu de nombreuses corrections et des fonctionnalit�s ont �t� ajout�es tel le protocole Rose.
A pr�sent que le noyau est compil�, vous devez faire de m�me avec les nouveaux outils de configuration du r�seau. Ces outils permettent de modifier la configuration des p�riph�riques r�seau et des tables de routage.
Le nouveau paquetage alpha des net-tools
standard g�re AX.25 et
NetRom. Je l'ai essay� et il semble fonctionner correctement chez moi.
Le paquetage standard net-tools-1.33.tar.gz comporte certains bugs qui affectent AX.25 et NetRom. J'ai produit un correctif qui supporte aussi Rose.
Le patch est disponible � l'adresse suivante : zone.pspt.fi.
Lisez le fichier Release
et suivez les indications qui y sont donn�es.
Je suis pass� par les �tapes ci-dessous :
# 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
Arriv�s � ce point, vous devrez r�pondre � une s�rie de questions de configuration d'une fa�on similaire � ce qui se fait pour le noyau. N'oubliez pas d'inclure tous les protocoles et gestionnaires de p�riph�riques dont vous souhaitez vous servir ult�rieurement. Dans le doute, r�pondez par l'affirmative (``Y'').
Une fois la compilation effectu�e :
# make install
installera les programmes � leur place d�finitive.
Pour disposer des fonctionnalit�s de type pare-feu IP (firewall), vous
aurez besoin des derniers outils d'administration ipfwadm
.
Ils remplacent ipfw
qui ne fonctionne � pr�sent plus.
Pour la compilation d'ipfwadm
:
# 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
Une fois les �tapes de compilation et de red�marrage du noyau men�es � leur terme avec succ�s, il vous reste � compiler les applications AX.25. Les commandes devraient ressembler � ce qui suit :
# 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 sont install�s par d�faut dans les sous-r�pertoires bin
,
sbin
, etc
et man
du r�pertoire /usr
.
S'il s'agit de la premi�re installation des utilitaires AX.25 sur votre
syst�me, vous devrez installer quelques fichiers de configuration type dans
le r�pertoire /etc/ax25/
via :
# make installconf
En cas de messages du type :
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.)v�rifiez encore une fois que les ncurses sont correctement install�es. Le script de configuration tente de localiser les ncurses � certains emplacements usuels mais sur des installations faisant n'importe quoi avec les ncurses, le script �choue � cette �tape.
Chaque port AX.25 et NetRom sur votre syst�me doit se voir allouer un num�ro d'identification (callsign/ssid). Il se configure dans les fichiers dont il va �tre � pr�sent question.
Certaines mises en oeuvre d'AX.25 telles NOS et BPQ permettent l'emploi d'un ssid commun sur un m�me port AX.25 et NetRom. Pour des raisons techniques assez compliqu�es, Linux l'interdit. En pratique, �a ne s'av�re pas un probl�me aussi important qu'on pourrait le croire.
Cela signifie que vous devez garder pr�sents � l'esprit certains �l�ments lorsque vous configurez votre syst�me.
Toutes les piles AX.25 ne sont pas de type TNC2. La nomenclature Linux diff�re sur certains points de celle du monde des TNC. Le tableau ci-dessous vous aidera � �tablir les correspondances entre les diff�rents concepts.
-------+----------+------------------------------------------------
Linux | TAPR TNC | Description
-------+----------+------------------------------------------------
T1 | FRACK | Temps d'attente avant retransmission d'une
| | trame priv�e d'accus� de r�ception.
-------+----------+------------------------------------------------
T2 | RESPTIME | Temps minimum d'attente entre trames avant
| | �mission d'un acquittement.
-------+----------+------------------------------------------------
T3 | CHECK | P�riodicit� d'�mission d'un paquet de
| | v�rification de l'�tat de la connexion.
-------+----------+------------------------------------------------
N2 | RETRY | Nombre de tentatives de retransmission avant
| | de signaler un �chec.
-------+----------+------------------------------------------------
Idle | | Dur�e d'inactivit� d'une connexion avant sa
| | fermeture.
-------+----------+------------------------------------------------
Window | MAXFRAME | Nombre maximal de trames transmises sans
| | acquittement.
-------+----------+------------------------------------------------
Les noyaux 2.1.*
et 2.0.* +moduleXX
permettent la modification
� la vol�e de param�tres auparavant statiques. Un examen attentif de la
structure du r�pertoire /proc/sys/net/
r�v�le de nombreux fichiers
dont les noms correspondent � ceux de param�tres r�seau.
Les fichiers dans le r�pertoire /proc/sys/net/ax25/
repr�sentent
chacun un port AX.25 configur�. Le nom du fichier refl�te celui du port.
La structure des fichiers dans /proc/sys/net/ax25/<portname>/
est
la suivante :
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=�tendu 0 backoff_type Backoff 0=Lin�aire 1=exponentiel 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 D�lai maximal T1 1s <= N <= 30s 10s t2_timeout D�lai maximal T2 1s <= N <= 20s 3s t3_timeout D�lai maximal T3 0s <= N <= 3600s 300s idle_timeout Attente d'inactivit� 0m <= N 20m maximum_retry_count N2 1 <= N <= 31 10 maximum_packet_length Trame AX.25 1 <= N <= 512 256T1, T2, T3 sont donn�s en secondes tandis que la dur�e d'inactivit� est en minutes. Notez que les valeurs employ�es dans l'interface sysctl s'expriment dans une unit� interne multiple par 10 du temps en secondes. La r�solution atteint donc le dixi�me de seconde. Dans le cas d'une alarme qui peut �tre nulle, c'est � dire pour T3 et pour la dur�e d'inactivit�, une valeur nulle �quivaut � une d�sactivation.
La structure des fichiers dans /proc/sys/net/netrom/
est la suivante :
Fichier Valeur par 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 :
Fichier Valeur par 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
Le positionnement d'un param�tre se fait simplement en l'�crivant dans le fichier. Par exemple, pour v�rifier puis modifier la taille de fen�tre Rose, vous pourriez ex�cuter :
# cat /proc/sys/net/rose/window_size
3
# echo 4 >/proc/sys/net/rose/window_size
# cat /proc/sys/net/rose/window_size
4
Chaque application AX.25 n�cessite un fichier de configuration sp�cifique
pour obtenir les param�tres des ports AX.25 d�finis sur votre syst�me.
Pour les ports AX.25, il s'agit du fichier /etc/ax25/axport
. Chaque
port dont vous souhaitez vous servir doit �tre r�pertori� dans ce fichier.
Le p�riph�rique r�seau correspond � ce qui appara�t lorsque vous entrez la commande `ifconfig'. Il s'agit de l'abstraction logicielle par le biais de laquelle le noyau Linux �met et re�oit des donn�es r�seau. Presque tous les p�riph�riques r�seau sont associ�s � une entit� mat�rielle mais il y a certaines exceptions. Le p�riph�rique r�seau se rattache directement � un gestionnaire de p�riph�rique.
Le code AX.25 de Linux inclut un grand nombre de gestionnaires de p�riph�riques. Le pilote KISS est s�rement le plus courant mais on peut �galement citer les pilotes SCC, Baycom et modem-son.
Chacun de ces pilotes cr�e un p�riph�rique lors de son invocation.
Options de configuration du noyau :
General setup --->
[*] Networking support
Network device support --->
[*] Network device support
...
[*] Radio network interfaces
[*] Serial port KISS driver for AX.25
Le TNC KISS sur un port s�rie constitue s�rement la configuration la plus courante. � vous de pr�configurer et de connecter le TNC � un port s�rie. Un programme de communication tel minicom ou seyon vous permettra de configurer le TNC en kiss.
Servez-vous du programme kissattach pour cr�er les p�riph�riques KISS. Par exemple :
# /usr/sbin/kissattach /dev/ttyS0 radio
# kissparms -p radio -t 100 -s 100 -r 25
Les p�riph�riques KISS se retrouvent sous la d�nomination `ax[0-9]
'.
Au premier appel de kissattach, `ax0
' est cr�� ; au second,
`ax1
', etc ... Chaque p�riph�rique KISS est associ� � un port s�rie.
kissparms permet de positionner divers param�tres sur un p�riph�rique KISS.
De fa�on pr�cise, l'exemple pr�c�dent cr�erait un p�riph�rique KISS reposant
sur le p�riph�rique s�rie `/dev/ttyS0
' et le port `radio
'
du fichier /etc/ax25/axports
. Il positionne ensuite txdelay et
slottime � 100 ms et ppersist � 25.
Reportez vous aux pages de man pour davantage d'informations.
L'utilitaire mkiss inclus dans le paquetage ax25-utils permet l'emploi
des modems d'un TNC � doubles ports. La configuration est simple. Elle
consiste � prendre le contr�le du p�riph�rique s�rie connect� au TNC multiports
et � le faire ressembler � une collection de p�riph�riques chacun connect� �
un TNC monoport. Vous devrez le faire avant toute autre configuration
AX.25. Les p�riph�riques que vous configurerez correspondent � des pseudo-TTY
(/dev/ttyq*
) et non aux ports s�rie. Les pseudo-TTY mettent en place
un �quivalent de tuyau via lequel des programmes pr�vus pour dialoguer avec
des p�riph�riques de type tty peuvent communiquer. Chaque tuyau poss�de une
extr�mit� ma�tre (`/dev/ptyq*
') et une esclave
(`/dev/ttyq*
'). Les extr�mit�s sont en relation telles que si
/dev/ptyq0
est l'extr�mit� ma�tre d'un tuyau, alors
/dev/ttyq0
est son extr�mit� esclave. Le c�t� ma�tre doit �tre
ouvert avant le c�t� esclave. mkiss divise un p�riph�rique s�rie gr�ce
� ce m�canisme.
Par exemple, pour un TNC double-port connect� au port s�rie
/dev/ttyS0
en 9600 bps, les commandes suivantes cr�eront deux
pseudo-tty qui se comporteront comme des ports s�ries munis de TNC usuels :
# /usr/sbin/mkiss -s 9600 /dev/ttyS0 /dev/ptyq0 /dev/ptyq1
# /usr/sbin/kissattach /dev/ttyq0 port1
# /usr/sbin/kissattach /dev/ttyq1 port2
/dev/ttyq0
et /dev/ttyq1
se manipulent ensuite avec
kissattach comme d�crit pr�c�demment dans l'exemple relatif �
port1
et port2
. N'utilisez pas directement kissattach sur
le port s�rie car mkiss y acc�de.
mkiss accepte de nombreux arguments optionnels. En voici un r�sum� :
provoque l'ajout d'un octet de contr�le � chaque trame KISS. La plupart des mises en oeuvre de KISS ne le g�rent pas. La rom KISS G8BPG en est capable.
fixe le d�bit du port s�rie.
active la n�gociation mat�rielle sur le port s�rie (inactive par d�faut). La plupart des mises en oeuvre KISS ne la g�rent pas.
d�clenche l'�mission de messages � destination de syslog.
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
Malgr� l'opinion suivant laquelle les modems Baycom ne fonctionneraient pas
tr�s bien sous Linux, Thomas Sailer(<sailer@ife.ee.ethz.ch>
) en
a d�velopp� le gestionnaire. Son pilote g�re les ports s�rie Ser12
et
Par96
ainsi que les modems parall�les PicPar
.
Vous trouverez davantage d'informations concernant les modems � l'adresse :
Baycom Web site.
La premi�re �tape consiste � d�terminer les ports d'entr�e/sortie et les adresses des ports s�rie ou parall�le auxquels se connecte(nt) le(s) modem(s).
Les p�riph�riques BayCom se retrouvent sous la d�nomination bc0
,
bc1
, bc2
etc...
L'utilitaire sethdlc permet de configurer le pilote avec les param�tres pr�c�dents. Si votre syst�me n'est muni que d'un seul modem, vous pouvez �galement les passer en argument lors du chargement du module avec insmod.
Un exemple. D�sactivation du gestionnaire du port s�rie COM1: puis configuration du pilote BayCom pour un modem s�rie Ser12 sur ce m�me port avec activation de l'option logicielle DCD :
# setserial /dev/ttyS0 uart none
# insmod hdlcdrv
# insmod baycom mode="ser12*" iobase=0x3f8 irq=4
Un modem parall�le de type Par96 sur le port LPT1: utilisant la d�tection DCD mat�rielle :
# insmod hdlcdrv
# insmod baycom mode="par96" iobase=0x378 irq=7 options=0
Ce n'est pas la meilleure fa�on de faire. L'utilitaire sethdlc fonctionne �galement avec plusieurs p�riph�riques.
La page de man d'sethdlc est tr�s d�taill�e mais quelques exemples mettront en lumi�re les aspects les plus importants de la configuration. On suppose que le module BayCom a d�j� �t� charg� avec :
# insmod hdlcdrv
# insmod baycom
Vous pouvez �galement avoir incorpor� le gestionnaire en dur dans le noyau.
Configuration de bc0
pour un modem parall�le BayCom sur LPT1 avec
d�tection DCD logicielle :
# sethdlc -p -i bc0 mode par96 io 0x378 irq 7
Configuration de bc1
pour un modem s�rie sur COM1 :
# sethdlc -p -i bc1 mode "ser12*" io 0x3f8 irq 4
Ces param�tres �quivalent � ppersist, txdelay et slottime pour KISS. Ici aussi, vous utiliserez sethdlc.
La page de man relative � sethdlc reste la source d'informations la plus compl�te mais un ou deux autres exemples ne feront pas de mal.
Configuration de bc0
avec TxDelay �gal � 200 ms, SlotTime � 100 ms,
PPersist � 40, en half duplex :
# sethdlc -i bc0 -a txd 200 slot 100 ppersist 40 half
Notez que les param�tres de dur�e sont donn�s en millisecondes.
Le pilote BayCom cr�e des p�riph�riques r�seau standard dont la configuration pour AX.25 est voisine de celle li�e � l'emploi des cartes PI ou PacketTwin.
Tout d'abord il faut donner un num�ro d'identification AX.25 au p�riph�rique. ifconfig le fait tr�s bien :
# /sbin/ifconfig bc0 hw ax25 VK2KTJ-15 up
La commande pr�c�dente affecte l'identit� AX.25 VK2KTJ-15
au
p�riph�rique bc0
. Vous disposez �galement de axparms mais vous
aurez de toute fa�on besoin d'ifconfig pour activer le p�riph�rique :
# ifconfig bc0 up
# axparms -setcall bc0 vk2ktj-15
L'�tape suivante consiste � ajouter une entr�e dans le fichier
/etc/ax25/axports
comme vous le feriez pour tout autre p�riph�rique.
Les donn�es du fichier axports
�tant associ�es aux p�riph�riques
r�seau par l'interm�diaire du num�ro d'identification, la ligne que vous
rajouterez devra comprendre celui de votre BayCom.
La nouvelle interface AX.25 se comporte � pr�sent comme les autres. Vous pouvez la configurer pour IP, la g�rer via ax25d et l'utiliser pour NetRom ou Rose si bon vous semble.
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 d�velopp� un nouveau pilote noyau qui traite une carte son
comme un modem : connectez votre dispositif radio directement sur votre
carte son pour �mettre des paquets ! Thomas conseille au moins un 486DX2 �
66 MHz pour exploiter le logiciel ; tout le traitement num�rique est effectu�
par le microprocesseur.
Actuellement, le pilote �mule les modems AFSK � 1200 bps, HAPN � 4880 et FSK � 9600 (compatible avec G3RUH). Seules les cartes son compatibles SoundBlaster et WindowsSoundSystem sont support�es. Un soup�on d'�lectronique est n�cessaire pour aider la carte son � alimenter le dispositif radio. Des informations sur ce sujet se trouvent sur la page suivante : Thomas's SoundModem PTT circuit web page. Les possibilit�s sont nombreuses : r�cup�ration � la sortie de la carte son, traitement sur les ports parall�le, s�rie ou midi. Des exemples de sch�mas illustrent tout ces cas sur le site de Thomas.
Les p�riph�riques modem-son se retrouvent sous la d�nomination sm0
,
sm1
, sm2
, etc...
Remarque: le pilote SoundModem et le sous-syst�me de gestion du son entrent en comp�tition sous Linux. Assurez-vous que le son est d�sactiv� avant d'utiliser le pilote SoundModem. Vous pouvez bien s�r compiler les deux en tant que modules, les ins�rer et les �ter en fonction de vos besoins.
Le pilote SoundModem n'initialise pas la carte r�seau. Le paquetage ax25-utils comprend l'utilitaire `setcrystal' pour le faire sur les cartes son � base de composants Crystal. Si vous avez un autre mod�le de carte, servez-vous d'un autre logiciel pour l'initialiser. L'emploi de setcrystal est fort simple :
setcrystal [-w wssio] [-s sbio] [-f synthio] [-i irq] [-d dma] [-c dma2]
Par exemple, pour une carte SoundBlaster � l'adresse 0x388 employant
l'interruption 10 et la canal DMA 1, vous entreriez :
# setcrystal -s 0x388 -i 10 -d 1
Pour une carte WindowSoundSystem � l'adresse 0x534 employant l'interruption 5
et la canal DMA 3 :
# setcrystal -w 0x534 -i 5 -d 3
Le param�tre [-f synthio]
correspond � l'adresse du synth�tiseur. Le
param�tre [-c dma2]
d�termine le second canal DMA pour un fonctionnement
simultan� dans les deux sens (full-duplex).
Une fois la carte son configur�e, vous devez sp�cifier au pilote o� la trouver et quelle type de modem il lui faut �muler.
L'utilitaire sethdlc vous permet de passer ces param�tres. Si vous n'avez qu'une seule carte install�e, vous pouvez les passer en arguments � l'insertion du module SoundModem.
Par exemple, avec une seule carte de type SoundBlaster configur�e comme ci-dessus, �mulant un modem 1200 bps :
# insmod hdlcdrv
# insmod soundmodem mode="sbc:afsk1200" iobase=0x220 irq=5 dma=1
Ce n'est pas la meilleure fa�on de faire. L'utilitaire sethdlc
fonctionne �galement avec plusieurs p�riph�riques.
La page de man d'sethdlc est tr�s d�taill�e mais quelques exemples mettront ici encore en lumi�re les aspects les plus importants de la configuration. On suppose que le module modem-son a d�j� �t� charg� avec :
# insmod hdlcdrv
# insmod soundmodem
Vous pouvez �galement avoir incorpor� le gestionnaire en dur dans le noyau.
Configuration du pilote pour �muler un modem G3RUH 9600 sur le p�riph�rique
sm0
avec la carte WindowsSoundSystem pr�c�dente et le port parall�le en
0x378 pour alimenter l'�metteur :
# sethdlc -p -i sm0 mode wss:fsk9600 io 0x534 irq 5 dma 3 pario 0x378
Configuration du pilote pour �muler un modem HAPN 4800 sur le p�riph�rique
sm1
avec la carte SoundBlaster pr�c�dente et le port s�rie en
0x2f8 pour alimenter l'�metteur :
# sethdlc -p -i sm1 mode sbc:hapn4800 io 0x388 irq 10 dma 1 serio 0x2f8
Configuration du pilote pour �muler un modem AFS 1200 sur le p�riph�rique
sm1
avec la carte SoundBlaster pr�c�dente et le port s�rie en
0x2f8 pour alimenter l'�metteur :
# sethdlc -p -i sm1 mode sbc:afsk1200 io 0x388 irq 10 dma 1 serio 0x2f8
Ces param�tres �quivalent � ppersist, txdelay et slottime pour KISS. Ici aussi, vous utiliserez sethdlc.
La page de man relative � sethdlc reste la source d'informations la plus compl�te mais un ou deux autres exemples ne feront toujours pas de mal.
Configuration de sm0
avec TxDelay �gal � 100 ms, SlotTime � 50 ms,
PPersist � 128 en full duplex :
# sethdlc -i sm0 -a txd 100 slot 50 ppersist 128 full
Notez que les param�tres de dur�e sont donn�s en millisecondes.
Il est tr�s important que les niveaux audio soient correctement ajust�s pour qu'un modem-radio fonctionne correctement. Les modem-son n'�chappent pas � la r�gle. Thomas a mis au point des utilitaires pour faciliter cette t�che : smdiag et smmixer.
fournit deux type d'affichage : soit un �cran de type oscilloscope, soit un visuel normal.
permet l'ajustement des niveaux audio de transmission et de r�ception.
sm0
:
# smdiag -i sm0 -e
smmixer avec un p�riph�rique SoundModem en sm0
:
# smmixer -i sm0
Le pilote soundmodem cr�e des p�riph�riques r�seau standard dont la configuration pour AX.25 est voisine de celle li�e � l'emploi des cartes PI ou PacketTwin.
Tout d'abord il faut donner un num�ro d'identification AX.25 au p�riph�rique. ifconfig le fait tr�s bien :
# /sbin/ifconfig sm0 hw ax25 VK2KTJ-15 up
La commande pr�c�dente affecte l'identit� AX.25 VK2KTJ-15
au p�riph�rique
sm0
. Vous disposez �galement de axparms mais vous aurez de toute
fa�on besoin d'ifconfig pour activer le p�riph�rique :
# ifconfig sm0 up
# axparms -setcall sm0 vk2ktj-15
L'�tape suivante consiste � ajouter une entr�e dans le fichier
/etc/ax25/axports
comme vous le feriez pour tout autre p�riph�rique.
Les donn�es du fichier axports
�tant associ�es aux p�riph�riques
r�seau par l'interm�diaire du num�ro d'identification, la ligne que vous
rajouterez devra comprendre celui de votre modem-son.
La nouvelle interface AX.25 se comporte � pr�sent comme les autres. Vous pouvez la configurer pour IP, la g�rer via ax25d et l'utiliser pour NetRom ou Rose si bon vous semble.
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
Les p�riph�riques PI se retrouvent sous la d�nomination `pi[0-9][ab]
'
o� la premi�re carte d�tect�e se verra allouer `pi0
', la seconde
`pi1
', etc... `a
' et `b
' se rapportent � la premi�re et �
la seconde interface physique des cartes PI. Si vous avez inclus le pilote de
cartes PI dans votre noyau et que la d�tection s'est effectu�e correctement,
vous pouvez configurer le p�riph�rique :
# /sbin/ifconfig pi0a hw ax25 VK2KTJ-15 up
La commande pr�c�dente affecte l'identit� AX.25 VK2KTJ-15
au premier port
de la carte PI et l'active. Pour utiliser le p�riph�rique, il vous reste �
ajouter au fichier /etc/ax25/axports
l'entr�e correspondant � son
identit� AX.25.
Le gestionnaire de cartes PI a �t� �crit par :
David Perry, <dp@hydra.carleton.edu>
Options de compilation du noyau :
General setup --->
[*] Networking support
Network device support --->
[*] Network device support
...
[*] Radio network interfaces
[*] Gracilis PackeTwin support for AX.25
Les p�riph�riques PacketTwin se retrouvent sous la d�nomination
`pt[0-9][ab]
' o� la premi�re carte d�tect�e se verra allouer `pt0
',
la seconde `pt1
', etc. `a
' et `b
' se rapportent � la premi�re
et � la seconde interfaces physiques des cartes PacketTwin. Si vous avez inclus
le pilote de cartes PI dans votre noyau et que la d�tection s'est effectu�e
correctement, vous pouvez configurer le p�riph�rique :
# /sbin/ifconfig pt0a hw ax25 VK2KTJ-15 up
La commande pr�c�dente affecte l'identit� AX.25 VK2KTJ-15
au premier port
de la carte PacketTwin et l'active. Pour utiliser le p�riph�rique, il vous
reste � ajouter au fichier /etc/ax25/axports
l'entr�e correspondant
� son identit� AX.25.
Le gestionnaire de cartes PacketTwin a �t� �crit par :
Craig Small VK2XLZ, <csmall@triode.apana.org.au>
.
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 �crit le module g�n�rique
de gestion des cartes � base de SCC Z8530. Son pilote supporte une large gamme
de cartes diff�rentes et offre une interface similaire � un TNC KISS que vous
pouvez traiter comme telle.
Bien que le pilote soit inclus dans les arborescences standard du noyau, Joerg accompagne le paquetage de configuration dont vous aurez besoin des versions les plus r�centes.
Vous trouverez le paquetage des outils de configuration � une des adresses suivantes : Joerg's web page
db0bm.automation.fh-aachen.de
/incoming/dl1bke/
insl1.etec.uni-karlsruhe.de
/pub/hamradio/linux/z8530/
ftp.ucsd.edu
/hamradio/packet/tcpip/linux
/hamradio/packet/tcpip/incoming/
Diff�rentes versions s'offrent � vous. Choisissez la plus adapt�e � votre noyau :
z8530drv-2.4a.dl1bke.tar.gz 2.0.* z8530drv-utils-3.0.tar.gz 2.1.6 et au del�
Voici les commandes que j'ai employ�es lors de la compilation et de l'installation du paquetage pour mon 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 souhaitez modulariser le pilote
# make for_kernel # Si vous pr�f�rez un pilote inclus dans le noyau
# make install
Au terme de ces op�rations, trois nouveaux ex�cutables devraient s'�tre
install�s dans votre r�pertoire /sbin
: gencfg,
sccinit et sccstat. Ces programmes vont vous servir �
configurer le pilote pour votre carte.
De nouveaux p�riph�riques appara�tront �galement dans votre r�pertoire
/dev
sous les noms scc0
-scc7
. Ils joueront plus
tard le r�le de p�riph�riques KISS que vous pourrez employer.
Si vous lancez 'make for_kernel', vous devrez �galement recompiler
votre noyau. Afin que le pilote z8530 soit inclus, v�rifiez que vous avez
bien r�pondu `Y
' � :
`Z8530 SCC kiss emulation driver for AX.25
' durant le
`make config
'.
Si vous avez choisi 'make module', le module scc.o
sera install�
dans le sous-r�pertoire ad�quat de /lib/modules
et il ne vous sera
pas n�cessaire de recompiler tout le noyau. N'oubliez pas d'ex�cuter un
insmod afin de charger le module avant d'essayer de le configurer.
La conception du pilote SCC z8530 vise une flexibilit� maximale ainsi que la gestion du plus grand nombre de cartes possible. Le prix � payer se retrouve au niveau de la configuration.
Le paquetage comprend une documentation plus d�taill�e et vous aurez tout
int�r�t � vous y reporter si vous rencontrez le moindre probl�me.
Int�ressez-vous plus particuli�rement � doc/scc_eng.doc
et � doc/scc_ger.doc
. J'ai repris les points les plus
importants mais de nombreux d�tails sont pass�s sous silence.
Le fichier de configuration principal, lu par le programme sccinit,
se trouve en /etc/z8530drv.conf
. Il se divise en deux
parties : configuration des param�tres mat�riels et configuration du canal.
Une fois ce fichier au point, vous n'aurez plus qu'� ajouter :
# sccinit
au fichier rc
charg� de la configuration du r�seau et le
p�riph�rique sera initialis� conform�ment au contenu du fichier de
configuration. Effectuez ces op�rations avant d'utiliser le gestionnaire.
La premi�re partie se divise en strophes, chacune correspondant � un
composant 8530. Une strophe comprend une liste de mots clefs et d'arguments.
Le fichier peut d�crire jusqu'� quatre composants SCC par d�faut. Si vous avez
besoin d'aller au-del�, modifiez la ligne #define MAXSCC 4
dans le
fichier scc.c
.
Liste des mots-clefs et des arguments :
le terme chip
sert � s�parer les strophes. Il ne
n�cessite pas d'arguments et ceux-ci sont de toute fa�on ignor�s.
adresse du port de donn�es pour le canal `A' du z8530. Un nombre hexad�cimal est attendu en argument (par exemple 0x300).
adresse du port de contr�le pour le canal `A' du z8530. Un nombre hexad�cimal est attendu en argument (par exemple 0x304).
adresse du port de donn�es pour le canal `B' du z8530. Un nombre hexad�cimal est attendu en argument (par exemple 0x301).
adresse du port de contr�le pour le canal `B' du z8530. Un nombre hexad�cimal est attendu en argument (par exemple 0x305).
interruption (IRQ) utilis�e par le SCC 8530. Un entier, 5 par exemple, est attendu.
fr�quence du signal d'horloge sur la broche PCLK du 8530. L'argument est donn� en Hz par un nombre entier (4915200 par d�faut).
mod�le de la munie du 8530 : <<====== ne manque-t-il pas un mot ?
carte SCC PA0HZP
carte Eagle
carte SCC PC100 DRSI
carte PRIMUS-PC (DG9BL)
carte (U)SCC BayCom
optionnel, active la gestion des cartes SCC �tendues (ESCC) telles la 8580, la 85180 ou la 85280. L'argument est une cha�ne de caract�res qui peut prendre les valeurs `yes' ou `no' (`no' par d�faut).
optionnel, donne l'adresse du vecteur d'acquittement pour les cartes PA0HZP. Il est commun � l'ensemble des composants et prend par d�faut la valeur nulle.
optionnel, donne l'adresse du registre sp�cial sur diverses cartes. Nul par d�faut.
optionnel. Nul par d�faut.
Quelques exemples de configuration des cartes les plus courantes :
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
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
chip 1
data_a 0x303
data_b 0x301
ctrl_a 0x302
ctrl_b 0x300
irq 7
pclock 4915200
board DRSI
escc no
gencfg s'invoque simplement avec les m�mes param�tres que ceux employ�s pour le pilote PE1CHL avec NET/NOS. Par exemple, pour obtenir une �bauche de fichier de configuration pour une carte OptopSCC :
# gencfg 2 0x150 4 2 0 1 0x168 9 4915200
Vous pr�ciserez tous les autres param�tres relatifs au port que vous configurez dans la section sp�cifique au canal. Cette section se divise �galement en strophes. Une strophe correspond � un port logique et il y aura donc deux strophes de canal pour une strophe de param�tres mat�riels puisque chaque SCC 8530 inclut deux ports.
Les mots-clefs et leurs arguments s'inscrivent �galement dans le fichier
/etc/z8530drv.conf
, � la suite de la section des param�tres
mat�riels.
L'ordre est tr�s important dans cette section mais tout devrait marcher m�me si vous vous �cartez de celui propos�.
en premi�re position, sp�cifie le nom du p�riph�rique
auquel le reste de la configuration s'applique (par exemple
/dev/scc0
)
d�bit de l'interface en bits par seconde. Un nombre entier
est attendu (par exemple 1200
)
origine de l'horloge de synchronisation des donn�es. Les valeurs possibles sont :
fonctionnement normal monodirectionnel (half-duplex) ;
le modem dispose de sa propre horloge Rx/Tx ;
utilisation du diviseur bidirectionnel (si disponible).
type de codage des donn�es. � choisir entre nrzi
et nrz
nombre de tampons de r�ception � allouer en m�moire. Un nombre entier est attendu (8 par exemple)
nombre de tampons d'�mission � allouer en m�moire. Un nombre entier est attendu (8 par exemple )
taille des tampons d'�mission et de r�ception. La valeur
est donn�e en octets et correspond � la longueur totale d'une trame. Elle
doit donc prendre en compte aussi bien les donn�es que l'en-t�te. Cet
argument est optionnel et prend par d�faut la valeur 384
d�lai d'attente de la transmission KISS. Un nombre entier de ms est attendu
param�tre persist (KISS). Argument de type entier
slot time (KISS). Argument de type entier en ms
the KISS transmit tail value. Argument entier en ms
indicateur de fonctionnement bidirectionnel (KISS), �
choisir entre 1
pour le bidirectionnel et 0
pour le
monodirectionnel
param�tre d'attente (KISS). Argument de type entier en ms
param�tre min (KISS). Argument de type entier en secondes
temps de keyup (?) maximal (KISS). Argument de type entier en secondes
d�lai d'attente sur inactivit� (KISS). Argument de type entier en secondes
param�tre maxdef (KISS). Argument de type entier
param�tre group (KISS). Argument de type entier
valeur de txoff (KISS). Argument de type entier en ms
valeur de softdcd (KISS). Argument de type entier
indicateur slip (KISS). Argument de type entier
Il suffit d'employer les p�riph�riques /dev/scc*
comme on le ferait
avec n'importe quel tty s�rie connect� � un TNC KISS. Par exemple, avec une
carte SCC, vous ex�cuteriez quelque chose du style :
# kissattach -s 4800 /dev/scc0 VK2KTJ
NOS permet �galement d'attacher le p�riph�rique de la m�me fa�on. Avec JNOS, vous entreriez une commande du style :
attach asy scc0 0 ax25 scc0 256 256 4800
Afin de diagnostiquer les probl�mes, sccstat affiche la configuration courante de n'importe quel p�riph�rique SCC. Essayez :
# sccstat /dev/scc0
Vous devriez r�cup�rer une quantit� impressionnante d'informations touchant
� la configuration et � l'�tat du port SCC /dev/scc0
.
sccparam sert � modifier la configuration apr�s l'initialisation du
noyau. La syntaxe est similaire � celle de la commande param
de NOS.
Pour positionner txtail
� 100 ms sur un port :
# sccparam /dev/scc0 txtail 0x8
Options de configuration du noyau :
General setup --->
[*] Networking support
Network device support --->
[*] Network device support
...
[*] Radio network interfaces
[*] BPQ Ethernet driver for AX.25
Linux g�re le BPQ compatible Ethernet. Vous pouvez ainsi dialoguer en AX.25 via un r�seau Ethernet local et interconnecter votre poste Linux avec d'autres machines BPQ sur r�seau local.
Les p�riph�riques BPQ se retrouvent sous la d�nomination `bpq[0-9]
'.
`bpq0
' est associ� � `eth0
', `bpq1
' � `eth1
' etc.
La configuration est simple. Mettez d'abord en place un p�riph�rique Ethernet standard. Pour cela, vous aurez pris soin d'inclure dans le noyau la gestion de votre adaptateur Ethernet. Pour plus de d�tails, reportez vous � : Ethernet-HOWTO.
Avant d'activer la gestion BPQ, le p�riph�rique Ethernet doit s'�tre vu affecter un num�ro d'identification AX.25. Par exemple :
# /sbin/ifconfig bpq0 hw ax25 vk2ktj-14 up
V�rifiez bien que l'identifiant correspond � celui qui figure dans le fichier
/etc/ax25/axports
pour ce port.
Souvent, l'Ethernet BPQ repose sur des adresses de type multicast. Ce n'est pas le cas dans la mise en oeuvre sous Linux qui recourt aux adresses g�n�rales (broadcast) usuelles sur Ethernet. Le fichier NET.CFG du gestionnaire ODI BPQ doit donc �tre modifi� pour ressembler � ce qui suit :
LINK SUPPORT
MAX STACKS 1
MAX BOARDS 1
LINK DRIVER E2000 ; ou tout autre MLID adapt� � votre carte
INT 10 ;
PORT 300 ; selon votre carte
FRAME ETHERNET_II
PROTOCOL BPQ 8FF ETHERNET_II ; requis pour BPQ - peut jouer sur PID
BPQPARAMS ; optionnel - requis seulement pour
; modifier la cible par d�faut
ETH_ADDR FF:FF:FF:FF:FF:FF ; adresse de la cible
/etc/ax25/axports
/etc/ax25/axports
est un fichier texte standard que vous cr�erez avec
n'importe quel �diteur. Son format est le suivant :
portname callsign baudrate paclen window description
avec :
nom affect� au port
identifiant AX.25
vitesse de communication avec le TNC
longueur de paquet maximale applicable au port pour les communications AX.25 en mode connect�
param�tre de fen�tre (K) AX.25. Il s'agit de la m�me
chose que le param�tre MAXFRAME
de nombreux TNC.
champ de commentaire
Chez moi, le fichier ressemble � �a :
radio VK2KTJ-15 4800 256 2 4800bps 144.800 MHz
ether VK2KTJ-14 10000000 256 2 BPQ/ethernet device
Rappelez-vous que vous devez affecter un num�ro d'identification (ssid) unique � chaque port AX.25 que vous cr�ez. Ajoutez une ligne pour chaque p�riph�rique que vous emploierez ; cela concerne les ports KISS, BayCom, SCC, PI, PT et modem-son. Les entr�es dans le fichier sont associ�es aux p�riph�riques r�seau par le biais de l'identificateur AX.25 : au moins une bonne raison de les prendre diff�rents.
Vous pouvez d�cider de mettre en place des routes par d�faut sp�cifiques � certains h�tes, par exemple pour des connexions AX.25 courantes ou des connexions IP. L'utilitaire axparms effectue cette t�che. Sa page de man en donne une description exhaustive. � titre d'exemple :
# /usr/sbin/axparms -route add radio VK2XLZ VK2SUT
Cette commande �tablit une entr�e pour VK2XLZ
via VK2SUT
sur le
port AX.25 nomm� radio
.
Si vous disposez d'interfaces KISS, deux m�thodes s'offrent � vous pour configurer une adresse IP : soit la commande kissattach, soit le recours conventionnel � ifconfig.
Modifiant l'exemple KISS pr�c�dent de fa�on � cr�er une interface AX.25 avec
une adresse IP �gale � 44.136.8.5
et un MTU
de 512
octets :
# /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
Au besoin, vous emploierez ifconfig pour configurer les autres
param�tres.
Si vous disposez d'autre interfaces, utilisez ifconfig pour configurer l'adresse IP et le masque de r�seau du port et ajoutez une route vers le port comme vous le feriez avec n'importe quelle autre interface IP. L'exemple suivant s'appuie sur une carte PI mais fonctionnerait de fa�on similaire avec un p�riph�rique AX.25 quelconque :
# /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 pr�c�dentes correspondent � une configuration famili�re aux
utilisateurs de NOS et de ses variantes ou de toute autre logiciel IP.
Notez que la route par d�faut n'est pas n�cessaire si un autre p�riph�rique
r�seau la met lui-m�me en place.
Pour tester votre configuration, lancez un ping ou un telnet vers votre machine :
# ping -i 5 44.136.8.58
L'argument `-i 5
' force ping � envoyer ses requ�tes ICMP
toutes les 5 secondes et non chaque seconde.
Le protocole NetRom s'appuye sur les ports AX.25 que vous cr�erez. Sa configuration s'effectue par l'interm�diaire de deux fichiers. L'un d�crit les interfaces NetRom et l'autre les ports AX.25 sous-jacents. La proc�dure d�taill�e ci-dessous s'appliquera � toutes les interfaces NetRom que vous souhaiterez d�finir.
/etc/ax25/nrports
Ce fichier est l'analogue pour les ports NetRom du fichier
/etc/ax25/axports
pour les ports AX.25. Tous les p�riph�riques
NetRom que vous souhaitez employer doivent figurer dans le fichier
/etc/ax25/nrports
. Le plus souvent, une station Linux ne comprendra
qu'un seul port NetRom qui utilisera certains des p�riph�riques AX.25. Pour
certains services tels un BBS, le besoin de d�finir plusieurs alias NetRom
peut se manifester ; on ajoute alors des p�riph�riques NetRom en cons�quence.
Le format du fichier est le suivant :
name callsign alias paclen description
Avec :
nom affect� au port.
identifiant pour le trafic NetRom transitant par ce
port. Attention, il ne s'agit pas de l'adresse � laquelle les clients
doivent se connecter pour disposer d'une interface de type noeud
(ce mode sera d�crit un peu plus loin). L'identifiant doit �tre unique et
ne r�appara�tre nulle part dans les fichiers /etc/ax25/axports
et
/etc/ax25/nrports
.
alias NetRom du port.
taille maximale des trames NetRom transmises par le port.
commentaire.
Par exemple, pour cr�er un port NetRom connu du reste du r�seau NetRom
sous l'identit� `LINUX:VK2KTJ-9
' :
netrom VK2KTJ-9 LINUX 236 Linux Switch Port
Des programmes tels call se servent du fichier nrports
.
/etc/ax25/nrbroadcast
Ce second fichier peut contenir une nombre d'entr�es variable, normalement une pour chaque port AX.25 convoyant du trafic NetRom.
Le format du fichier est le suivant :
axport min_obs def_qual worst_qual verbose
Avec :
nom du port tir� du fichier /etc/ax25/axports
.
En l'absence d'entr�e dans le fichier /etc/ax25/nrbroadcasts
pour
un port AX.25, aucun routage NetRom n'aura lieu via ce port et toute
diffusion NetRom sera ignor�e.
param�tre d'obsolescence minimale du port.
qualit� par d�faut.
qualit� minimale admissible. Toute route de qualit� moindre sera ignor�e.
activation de la diffusion des informations de routage globales ou seulement relatives au noeud.
radio 1 200 100 1
Une fois les deux fichiers mis au point, il faut cr�er les p�riph�riques
NetRom. La d�marche est proche du cas AX.25 � ceci pr�s que l'on se sert �
pr�sent de la commande nrattach. Elle constitue un pendant � la commande
axattach et cr�e des p�riph�riques NetRom qui se retrouvent sous la
d�nomination `nr[0-9]
' (la premi�re invocation produit `nr0
', la
seconde `nr1
' etc.) Pour associer un p�riph�rique NetRom au port
d�fini pr�c�demment, on utilise :
# nrattach netrom
Cette commande active le p�riph�rique NetRom (nr0
) nomm�
netrom
configur� conform�ment au contenu du fichier
/etc/ax25/nrports
.
Le noyau Linux g�re le protocole NetRom et assure la commutation mais il ne prend pas en charge certaines fonctions. Le d�mon NetRom maintient les tables de routage NetRom et diffuse les messages de routage NetRom. Il se lance via :
# /usr/sbin/netromd -i
Le fichier /proc/net/nr_neigh
devrait progressivement se
remplir d'informations concernant vos voisins NetRom.
N'oubliez pas d'inclure la commande /usr/sbin/netromd
dans vos
scripts de d�marrage ou d'en cr�er un d�di� � l'automatisation du processus.
Peut-�tre voudrez-vous mettre en place des routes statiques pour certains h�tes
particuliers. La commande nrparms dispose d'une telle fonction. Reportez-vous
� la page de man pour une description compl�te. A titre d'exemple,
pour indiquer sur mon port AX.25 `radio
' une route NetRom vers le
#MINTO:VK2XLZ-10
en passant par mon voisin VK2SUT-9
:
# /usr/sbin/nrparms -nodes VK2XLZ-10 + #MINTO 120 5 radio VK2SUT-9
nrparms permet �galement de cr�er manuellement de nouveau voisins.
La commande suivante cr�e un voisin NetRom VK2SUT-9
d'une qualit� de
120
qui ne sera pas supprim� automatiquement.
# /usr/sbin/nrparms -routes radio VK2SUT-9 + 120
La configuration ressemble � celle d'AX.25 pour TCP/IP.
Soit vous pr�cisez l'adresse IP et le MTU avec nrattach, soit vous utilisez les commandes ifconfig et route. Il vous faudra ajouter � la main les caract�ristiques arp des h�tes concern�s par votre routage puisque votre machine ne dispose d'aucun m�canisme pour d�terminer une adresse NetRom utilisable afin d'atteindre une interface IP particuli�re.
Pour cr�er une interface nr0
d'adresse IP 44.136.8.5
, de
MTU 512
et configur� conform�ment aux sp�cifications du fichier
/etc/ax25/nrports
relatives au port NetRom appel� netrom
:
# /usr/sbin/nrattach -i 44.136.8.5 -m 512 netrom
# route add 44.136.8.5 nr0
Autre m�thode :
# /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
En ce qui concerne le volet arp et le routage, pour joindre l'interface IP
44.136.80.4
� l'adresse NetRom BBS:VK3BBS
via un
voisin NetRom d'identifiant VK2SUT-0
, on ex�cuterait :
# 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 arguments `120
' et `6
' pass�s � la nrparms
fixent les param�tres de qualit� et d'obsolescence NetRom pour la route.
Le protocole de transmission de paquets Rose est semblable � la couche trois des sp�cifications X.25. La gestion Rose du noyau est une version modifi�e de FPAC Rose implementation.
La couche Rose s'appuie sur les ports AX.25 que vous d�finissez. La proc�dure d�taill�e ci-dessous s'appliquera � toutes les interfaces NetRom que vous souhaiterez d�finir.
/etc/ax25/rsports
Ce fichier est l'analogue pour les ports Rose du fichier
/etc/ax25/axports
pour les ports AX.25.
Le format du fichier est le suivant :
name addresss description
Avec :
nom affect� au port.
adresse Rose sur 10 digits.
commentaire.
rose 5050294760 Rose Port
Notez que Rose emploie par d�faut l'identifiant/ssid du port AX.25.
La commande rsparms permet de modifier l'identifiant Rose. Par exemple,
pour que Linux se serve de l'identifiant VK2KTJ-10
pour le trafic Rose
sur tous les ports AX.25 .
# /usr/sbin/rsprams -call VK2KTJ-10
Une fois le fichier /etc/ax25/rsports
mis au point, vous pouvez cr�er
les p�riph�riques Rose en reprenant la d�marche AX.25. Vous emploierez la
commande rsattach qui cr�e des p�riph�riques sous l'appellation
`rose[0-5]
' (la premi�re invocation produit `rose0
', la seconde
`rose1
' etc...). Par exemple :
# rsattach rose
Cette commande active le p�riph�rique Rose (rose0
) nomm� `rose
'
configur� conform�ment au contenu du fichier /etc/ax25/rsports
.
Le protocole Rose ne g�re pour l'instant que le routage statique. Il se d�finit par le biais de la commande rsparms.
Par exemple, pour indiquer une route vers le noeud Rose 5050295502
via un
port AX.25 nomm� `radio
' dans le fichier /etc/ax25/axports
en
passant par le voisin d'identificateur VK2XLZ
:
# rsparms -nodes add 5050295502 radio vk2xlz
Un masque vous permettra �ventuellement de regrouper diff�rentes destinations Rose sur une seule route. Par exemple :
# rsparms -nodes add 5050295502/4 radio vk2xlz
On retrouve l'exemple pr�c�dent � ceci pr�s que toute adresse de destination
dont les quatre premiers digits correspondent (toute adresse commen�ant par
5050
donc) sera rout�e. La variante suivante s'av�re s�rement la moins
ambigu� :
# rsparms -nodes add 5050/4 radio vk2xlz
Maintenant que vos interfaces AX.25, NetRom et Rose sont activ�es, vous devriez �tre capable de proc�der � des essais.
Le paquetage des utilitaires AX.25 comprend le programme `call' qui sert d'interm�diaire pour AX.25, NetRom et Rose.
Un appel AX.25 :
/usr/bin/call radio VK2DAY via VK2SUT
Un appel NetRom vers un noeud d'alias SUNBBS
:
/usr/bin/call netrom SUNBBS
Un appel Rose pour HEARD
au noeud 5050882960
:
/usr/bin/call rose HEARD 5050882960
Remarque : vous devez pr�ciser � call le port � employer, vu que le m�me noeud de destination peut �tre joignable via n'importe lequel des ports que vous aurez configur�s.
call fournit un terminal de contr�le en mode ligne de commande pour
les appels AX.25. Les lignes commen�ant par `~
' sont identifi�es
comme des commandes. La commande `~.
' coupe la communication.
Reportez-vous � la page de man sous /usr/man
pour davantage
d'informations.
Linux est un syst�me d'exploitation puissant qui pr�sente beaucoup de flexibilit� dans sa configuration. Le co�t de cette flexibilit� se retrouve dans la mise au point de la configuration souhait�e. Avant d'�tre en mesure d'accepter les connexions AX.25, NetRom ou Rose, vous devez vous poser un certain nombre de questions. La plus importante : "Que vais-je laisser de visible aux utilisateurs une fois connect�s ?" Des gens ont mis au point de sympathiques petites applications qui fournissent des services aux appelants tels pms ou, plus �volu�, node (tous deux sont compris dans le paquetage des utilitaires AX.25). Vous pouvez �galement souhaiter offrir une invite d'identification afin que les utilisateurs disposent d'un shell ou m�me �crire vos propres programmes tels une base de donn�es maison ou un jeu. Quoi que vous fassiez, il faut sp�cifier � AX.25 le programme � ex�cuter quand une connexion s'�tablit.
Le d�mon ax25d joue un r�le similaire � celui rempli par inetd pour les connexion TCP/IP entre machines UNIX. Il se met � l'�coute des connexions entrantes et lorsqu'il en d�tecte une, il examine par l'interm�diaire d'un fichier de configuration le programme � lancer auquel il transmet la connexion. Puisqu'il s'agit d'un outil standard de gestion des appels AX.25, NetRom et Rose, je vais � pr�sent d�crire les �tapes de sa configuration.
/etc/ax25/ax25d.conf
Ce fichier contient la configuration du d�mon ax25d en charge des connexions AX.25, NetRom et Rose.
Bien que le fichier paraisse un peu cryptique au premier abord, il s'av�re rapidement des plus simples � l'usage, avec quelques pi�ges � �viter.
Le format g�n�ral du fichier est le suivant :
# Je suis un commentaire qu'ax25d ignorera
[nom de port] || <nom de port> || {nom de port}
<interlocuteur1> window T1 T2 T3 idle N2 <mode> <uid> <cmd> <commande> <args>
<interlocuteur2> window T1 T2 T3 idle N2 <mode> <uid> <cmd> <commande> <args>
parametres window T1 T2 T3 idle N2 <mode>
<interlocuteur3> window T1 T2 T3 idle N2 <mode> <uid> <cmd> <commande> <args>
...
default window T1 T2 T3 idle N2 <mode> <uid> <cmd> <commande> <args>
Avec :
en d�but de ligne pour indiquer un commentaire ignor� du programme ax25d
nom du port AX.25, NetRom ou Rose tel
que sp�cifi� dans un des fichiers /etc/ax25/axports
,
/etc/ax25/nrports
ou /etc/ax25/rsports
. Le nom du port
est entour� par `[]
' s'il s'agit d'un port AX.25, `<>
' si
c'est un port NetRom ou `{}
' pour un port Rose. Ce champ admet une
variante qui pr�c�de le nom du port par `callsign/ssid via
' pour
indiquer que vous voulez accepter les appels vers l'identificateur cit� par
l'interm�diaire de cette interface. Un exemple l'illustrera.
est l'identifiant du noeud auquel la configuration s'applique. Si vous ne sp�cifiez pas de ssid, tous seront consid�r�s comme valables.
param�tre de fen�tre AX.25 (K) ou valeur de MAXFRAMDE pour cette configuration.
d�lai de retransmission de trame (T1) exprim� en demi-secondes.
d�lai d'attente par le logiciel AX.25 d'une seconde trame avant de pr�parer une r�ponse. S'exprime en secondes.
d�lai d'inactivit� avant qu'une connexion inactive ne soit coup�e. S'exprime en secondes.
p�riode d'inactivit� en secondes.
nombre d'essais de retransmission avant qu'une connexion ne soit coup�e.
procure un m�canisme d'�tablissement de certains types de permissions. Les modes sont activ�s ou inhib�s gr�ce � une combinaison de caract�res repr�sentant chacun un droit. L'accentuation ne joue pas et les caract�res doivent former un bloc ininterrompu.
UTMP - non-support�
Validate call - non-support�
Quiet - pas d'enregistrement des connexions
check NetRom Neighbour - non-support�
Disallow Digipeaters - les connexions doivent �tre directes
Lockout - connexion interdite
marker - marqueur, pas de mode sp�cifique
userid sous laquelle le programme maintenant la connexion sera ex�cut�.
nom complet de la commande � lancer, sans arguments.
texte qui appara�tra � l'invocation de ps comme commande du programme (en g�n�ral la m�me chose que <cmd> mais sans le chemin d'acc�s).
arguments de ligne de commande pass�s � <:cmd> lorsqu'il est lanc�. Les �l�ments suivants permettent de passer des informations utilis�es :
nom du port recevant la connexion
identificateur AX.25 de l'extr�mit� connect�e, sans ssid, en majuscules
identificateur AX.25 de l'extr�mit� connect�e, sans ssid, en minuscules
identificateur AX.25 de l'extr�mit� connect�e, avec ssid, en majuscules
identificateur AX.25 de l'extr�mit� connect�e, avec ssid, en minuscules
identificateur AX.25 du noeud distant initiateur de la connexion, sans ssid, en majuscules
identificateur AX.25 du noeud distant initiateur de la connexion, sans ssid, en minuscules
identificateur AX.25 du noeud distant initiateur de la connexion, avec ssid, en majuscules
identificateur AX.25 du noeud distant initiateur de la connexion, avec ssid, en minuscules
Ue section au format pr�c�dent est requise pour chaque interface AX.25, NetRom ou Rose que vous voulez voir accepter des connexions.
Le paragraphe comprend deux lignes particuli�res, l'une commen�ant par la
cha�ne `parameters
' et l'autre par la cha�ne `default
'
(il y a une diff�rence).
`default
' couvre tous les cas qui ne sont pas sp�cifi�s ailleurs.
Ainsi, tous les appels sur l'interface <interface_call> ne
disposant pas d'une r�gle sp�cifique se retrouvent dans la rubrique
`default
'. En l'absence d'une telle section, toutes les connexions
hors r�gle sont imm�diatement interrompues sans autre forme de proc�s.
`parameters
' est plus subtil et dissimule le pi�ge mentionn�
pr�c�demment. Si le caract�re `*' est pr�sent dans un champ, une valeur par
d�faut issue de la section `parameters
' est employ�e. Le noyau
poss�de d'ailleurs une liste de valeurs utilis�es en l'absence de
`parameters
'. Le danger r�side en ce que les entr�es sp�cifi�es
via `parameters
' ne s'appliquent qu'aux r�gles qui les suivent.
Une m�me interface peut comporter plusieurs entr�es `parameters
'.
Notez que les r�gles `parameters
' ne permettent pas de positionner
les champs `uid
' et `command
'.
ax25d.conf
# ax25d.conf pour VK2KTJ - 02/03/97
# Ce fichier de configuration utilise le port AX.25 d�fini plus haut.
# <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
Dans cet exemple, toute personne r�clamant une connexion via l'identificateur
`VK2KTJ-0
' du port AX.25 `radio
' se verra appliquer les r�gles
suivantes :
Tout appel depuis un identifiant `NOCALL' se verra rejet�. Notez l'emploi du mode `L'.
La ligne parameters
modifie deux param�tres par d�faut du noyau
(Window et T1) et ex�cutera /usr/sbin/axspawn. Les instances de
/usr/sbin/axspawn appel�es ainsi appara�tront en tant que axspawn
dans un affichage issu de ps. Les deux lignes qui suivent d�finissent deux
stations auxquelles s'appliqueront les permissions.
La derni�re ligne de la section est la r�gle fourre-tout appliqu�e au reste
des connexions (VK2XLZ et VK2DAY inclus d�s lors qu'ils ont recours � un ssid
diff�rent de -1). Tous les param�tres prennent leurs valeurs par d�faut et
le programme pms sera lanc� avec un argument de ligne de commande
sp�cifiant une connexion AX.25 d'identifiant VK2KTJ
(reportez-vous � la
partie `Configuration du PMS' pour davantage de d�tails).
La configuration suivante accepte les appels � VK2KTJ-1
via le port
radio
. Le programme node est ex�cut� � chaque connexion.
Vient ensuite une sp�cification de connexions NetRom (notez l'emploi des
signes inf�rieur et sup�rieur � la place des crochets). Toute personne se
connectant via le port `netrom
' d�clenche le programme node si son
identifiant est diff�rent de `NOCALL
'. Dans le cas contraire, tout acc�s
est refus�.
Les deux derni�res configurations concernent des connexions entrantes Rose,
la premi�re pour ceux qui appellent le `VK2KTJ-0
' sur notre noeud Rose et
la seconde pour ceux qui emploient le `VK2KTJ-1
'. Elles fonctionnent de
la m�me fa�on. Notez l'emploi des accolades qui indiquent des ports Rose.
L'exemple manque un peu de naturel mais je crois qu'il illustre clairement les
propri�t�s importantes de la syntaxe du fichier de configuration. La page de
man explique dans son int�gralit� le contenu du fichier ax25d.conf
.
Le paquetage ax25-utils
inclut un exemple plus d�taill� qui pourrait
�galement vous �tre utile.
Une fois les deux fichiers de configuration mis au point, lancez la commande :
# /usr/sbin/ax25d
� pr�sent, les gens devraient pouvoir se connecter en AX.25 � votre machine.
N'oubliez pas de modifier les fichiers de commande de d�marrage du syst�me
de fa�on que ax25d
soit invoqu� automatiquement � chaque
r�initialisation de la station.
Le logiciel node a �t� d�velopp� par Tomi Manninen
<tomi.manninen@hut.fi>
. Il a �t� con�u � partir du programme PMS
et offre une fonctionnalit� de noeud facilement configurable. Une fois les
utilisateurs connect�s, il leur permet de se servir de telnet, de NetRom, de
Rose et de AX.25 vers l'ext�rieur ainsi que d'obtenir diverses informations
telles finger, la liste des noeuds et des �coutes etc. Le noeud peut �tre
configur� assez simplement pour ex�cuter n'importe quelle commande Linux.
Normalement, le noeud sera invoqu� par ax25d, bien qu'il puisse �galement �tre appel� par le d�mon IP inetd pour permettre aux utilisateurs d'obtenir un acc�s telnet � votre machine. Le lancement depuis la ligne de commande est �galement possible.
/etc/ax25/node.conf
node.conf
est un fichier texte qui sp�cifie la configuration du noeud.
Son format est le suivant :
# /etc/ax25/node.conf
# Fichier de configuration du programme node(8)
#
# Un '#' indique une ligne de commentaire qui sera ignor�e.
# Nom d'h�te de la machine noeud
hostname radio.gw.vk2ktj.ampr.org
# R�seau local
# d�finit ce qui doit �tre consid�r� comme 'local' du point de vue de la
# v�rification des permissions gr�ce � nodes.perms.
localnet 44.136.8.96/29
# Ports cach�s
# rend certains ports invisibles aux utilisateurs. Les ports n'appara�tront pas
# via la commande Ports.
hiddenports rose netrom
# Identification du noeud
# appara�tra � l'invite du noeud
NodeId LINUX:VK2KTJ-9
# Port NetRom
# nom du port NetRom qui employ� pour les connexions NetRom sortant du noeud
NrPort netrom
# D�lai d'inactivit� du noeud
# en secondes
idletimout 1800
# D�lai d'inactivit� des connexions
# en secondes
conntimeout 1800
# Reprise de connexion
# indique si les utilisateurs doivent �tre reconnect�s spontan�ment en cas
# de rupture de la connexion distante ou bien s'ils doivent �tre compl�tement
# d�connect�s.
reconnect on
# Alias
alias CONV "telnet vk1xwt.ampr.org 3600"
alias BBS "connect radio vk2xsb"
# Alias (commandes externes)
# ex�cution de commandes externes au noeud
# extcmd <cmd> <flag> <userid> <commande>
# Flag == 1 pour l'instant
# <commande> a le m�me format que dans ax25d.conf
extcmd PMS 1 root /usr/sbin/pms pms -u %U -o VK2KTJ
# Enregistrement
# le niveau 3 est le plus d�taill�, 0 d�sactive l'enregistrement
loglevel 3
# Caract�re de contr�le
# 20 = (Control-T)
EscapeChar 20
/etc/ax25/node.perms
node affecte des permissions aux utilisateurs. On d�cide ainsi des
utilisateurs qui ont le droit ou non d'employer des commandes telles (T)elnet
ou (C)onnect. node.perms
contient cinq champs. Le caract�re `*' dans
l'un d'eux indique une absence de contraintes pour son application. On
construit ainsi facilement des r�gles applicables par d�faut.
Le premier champ indique l'identifiant d'appel concern� par les permissions. Une �ventuelle partie ssid sera ignor�e.
Chaque protocole et chaque m�thode d'acc�s disposent �galement de permissions. Par exemple, les utilisateurs connect�s via AX.25 ou NetRom peuvent �tre autoris�s � se servir de (C)onnect tandis que ceux issus d'une session telnet depuis un noeud non-local s'en verront refuser l'acc�s. Le deuxi�me champ sp�cifie donc � quelle m�thode d'acc�s les permissions s'appliquent. Voici les classes de m�thodes d'acc�s :
method description
------ -----------------------------------------------------------
ampr session telnet depuis une adresse amprnet (44.0.0.0)
ax25 connexion AX.25
host node invoqu� depuis la ligne de commande
inet session telnet depuis une adresse non locale, de type non amprnet
local session telent depuis un h�te 'local'
netrom connexion NetRom
rose connexion Rose
* n'importe quelle connexion
Vous pouvez �galement contr�ler les permissions pour les utilisateurs AX.25 sur la base des ports employ�s. Le troisi�me champ contient un nom de port si vous d�cidez d'employer cette possibilit� (disponible seulement pour les connexions AX.25).
Un mot de passe peut �galement �tre demand� lors de l'�tablissement de la connexion. Cela s'av�re pratique pour prot�ger des comptes utilisateurs sp�cifiques disposant de privil�ges particuli�rement �lev�s. Si le quatri�me champ est positionn�, il correspond au mot de passe attendu.
Les permissions sont fix�es par le biais du dernier champ de chaque ligne. L'information est cod�e au niveau du bit, chaque service disposant d'un bit qui indique s'il est ou non activ�. Ci-suit la liste des services et la position du champ avec le bit positionn� :
valeur description
------ -------------------------------------------------
1 Login
2 (C)onnect AX.25
4 (C)onnect NetRom
8 (T)elnet vers les h�tes locaux
16 (T)elnet vers amprnet (44.0.0.0)
32 (T)elnet vers les h�tes non-locaux, de type non-amprnet
64 (C)onnect AX.25 pour les ports cach�s
128 (C)onnect Rose
On additionne ensuite les puissances de deux associ�es aux bits des
permissions activ�es. Le r�sultat va dans le cinqui�me champ.
Un exemple de fichier nodes.perms
:
# /etc/ax25/node.perms
#
# L'op�rateur a pour identit� VK2KTJ, s'identifie par le mot de passe 'secret'
# et dispose de toutes les permissions pour toutes les m�thodes de connexion.
vk2ktj * * secret 255
# Les utilisateurs suivants sont exclus
NOCALL * * * 0
PK232 * * * 0
PMS * * * 0
# Les utilisateur d'INET n'ont pas le droit de se connecter
* inet * * 0
# Les utilisateurs AX.25, NetRom, locaux, li�s � l'h�te ou AMPR disposent de
# (C)onnect et de (T)elnet vers les h�tes locaux et ampr mais se voient
# interdire les autres adresses IP.
* ax25 * * 159
* netrom * * 159
* local * * 159
* host * * 159
* ampr * * 159
L'invocation du programme node par le d�mon ax25d
n�cessite l'ajout de r�gles appropri�es au fichier
/etc/ax25/ax25d.conf
. Je souhaitais une configuration telle que les
utilisateurs puissent se connecter soit � node soit � un service
de leur choix. ax25d l'autorise par le biais d'une cr�ation
astucieuse d'alias de ports. Par exemple, partant de la configuration
d'ax25d donn�e plus haut, on veut que tous les utilisateurs se
connectant � VK2KTJ-1
re�oivent le noeud. Pour cela, on ajoute la
r�gle suivante au fichier /etc/ax25/ax25d.conf
:
[vk2ktj-1 via radio]
default * * * * * 0 root /usr/sbin/node node
Linux r�pondra � toute demande de connexion sur le port AX.25 `radio
'
d'identifiant `VK2KTJ-1
' en ex�cutant le programme nde.
Offrir la possibilit� d'ouvrir une session telnet sur votre machine et d'acc�der au programme node est une tache plut�t facile. Commencez par choisir le port auquel les utilisateurs se connecteront. Dans mon exemple, j'ai pris arbitrairement le port 3694 bien que Tomi d�taille dans sa documentation la marche � suivre pour remplacer le d�mon telnet usuel par le programme node.
Il faut modifier deux fichiers.
Ajouter au fichier /etc/services
:
node 3694/tcp #OH2BNS's node software
et au fichier /etc/inetd.conf
:
node stream tcp nowait root /usr/sbin/node node
Une fois inetd red�marr�, tout utilisateur effectuant un telnet vers
le port 3694 de votre machine se verra demander un login et, selon la
configuration, un mot de passe avant d'�tre connect� � node.
axspawn permet aux stations AX.25 qui se connectent d'ouvrir une session
sur votre machine. Il peut �tre lanc� par le programme ax25d d�crit
ci-dessus d'une fa�on similaire � node. Pour ouvrir une session
utilisateur, vous ajouterez une variante de la ligne suivante au fichier
/etc/ax25/ax25d.conf
:
default * * * * * 1 root /usr/sbin/axspawn axspawn %u
Si la ligne s'ach�ve sur le caract�re +
, l'utilisateur devra appuyer sur
la touche d'entr�e avant de pouvoir s'identifier. Par d�faut, il n'y a pas
d'attente. Toutes les configurations d'h�tes qui suivent la ligne pr�c�dente
d�clencheront l'appel d'axspawn lorsqu'ils se connecteront. Quand
axspawn s'ex�cute, il v�rifie tout d'abord que l'argument de ligne de
commande fourni est un identifiant licite, supprime le SSID puis parcourt le
fichier /etc/passwd
pour voir si l'utilisateur dispose d'un compte.
Si c'est le cas et que le mot de passe associ� est ""
(vide) ou +
,
la session utilisateur est ouverte. En pr�sence d'un autre mot de passe,
celui-ci est demand�. Si le compte n'existe pas, axspawn peut �tre
configur� de fa�on � en cr�er un automatiquement.
/etc/ax25/axspawn.conf
Le format du fichier est le suivant :
# /etc/ax25/axspawn.conf
#
# creation automatique de comptes utilisateur
create yes
#
# compte d'invite en l'absence de creation automatique et si tout le reste
# echoue. Se desactive ave "no"
guest no
#
# id ou nom du groupe pour le compte automatique
group ax25
#
# id de depart
first_uid 2001
#
# id maximale
max_uid 3000
#
# emplacement des repertoires utilisateurs crees automatiquement
home /home/ax25
#
# shell utilisateur
shell /bin/bash
#
# lien entre les id utilisateur et le numero d'identification pour les
# connexions sortantes
associate yes
D�tail des huit caract�ristiques configurables de axspawn :
indique un commentaire.
si ce champ est positionn� � yes
alors
axspawn tentera de cr�er un compte pour tout utilisateur qui
n'appara�t pas dans le fichier /etc/passwd
.
fournit le nom du compte � employer pour les utilisateurs
n'en ayant pas lorsque create est positionn� � no
. On y
trouve souvent ax25
ou guest
.
indique le groupe pour les utilisateurs qui n'apparaissent
pas dans le fichier /etc/passwd
.
valeur de d�part des identit�s utilisateur lors de la cr�ation automatique
identit� utilisateur maximale disponible � la cr�ation automatique
r�pertoire dans lequel seront cr��s les comptes utilisateurs
shell de login des nouveaux utilisateurs
indique si les connexions sortantes de l'utilisateur ont lieu avec son identifiant d'appel personnel ou avec celui de votre station
pms fournit un syst�me simple de messagerie personnelle. Il a �t�
�crit � l'origine par Alan Cox. Dave Brown, N2RJT,
<dcb@vectorbd.com>
en a repris le d�veloppement. Les
fonctionnalit�s sont rest�es simples : envoi de courrier �lectronique au
propri�taire de la station et obtention d'informations limit�e. Dave travaille
actuellement � les enrichir.
Il faut tenir � jour quelques fichiers contenant des informations sur le
syst�me et ajouter les entr�es ad�quates au fichier ax25d.conf
de telle
sorte qu'il s'ex�cute pour les utilisateurs connect�s.
/etc/ax25/pms.motd
Le fichier /etc/ax25/pms.motd
contient l'�quivalent du message du jour
affich� aux utilisateurs apr�s qu'ils se sont connect�s et ont re�u
l'en-t�te usuel de BBS. Il s'agit d'un simple fichier texte qui sera transmis
tel quel.
/etc/ax25/pms.info
/etc/ax25/pms.info
est �galement un simple fichier texte dans lequel
vous renseignerez des informations plus d�taill�es relatives � votre station
ou � sa configuration. Ce fichier est transmis aux utilisateurs en r�ponse �
la commande Info
depuis l'invite PMS
.
Lors de l'envoi d'un courrier � destination d'un identifiant d'appel AX.25, pms s'attend � trouver une association avec une identit� d'utilisateur usuelle sur la station. La section suivante d�crit le processus.
/etc/ax25/ax25d.conf
L'ajout de pms au fichier ax25d.conf
est tr�s simple. Il vous
faut n�anmoins garder un �l�ment en t�te : Dave a ajout� la prise en compte
d'arguments de ligne commande � PMS afin de g�rer diff�rentes conventions de
fin de ligne. AX.25 et NetRom requi�rent une fin de ligne et un saut de ligne
tandis que le standard Unix comprend juste le caract�re de fin de ligne.
Par exemple, pour une entr�e correspondant au lancement par d�faut de PMS �
l'ouverture d'une connexion sur un port AX.25, vous ajouteriez :
default 1 10 5 100 5 0 root /usr/sbin/pms pms -a -o vk2ktj
Cette ligne ex�cute pms en lui pr�cisant qu'il s'agit d'une connexion
AX.25 et que PMS a pour propri�taire vk2ktj
. Consultez la page de
man pour l'emploi d'autres m�thodes de connexion.
Ex�cutez depuis la ligne de commande :
# /usr/sbin/pms -u vk2ktj -o vk2ktjEn rempla�ant votre identifiant d'appel par le mien, cela lancera pms en lui imposant l'emploi de la convention unix de fin de ligne et en donnant
vk2ktj
comme identit� � l'utilisateur connect�.
Vous pouvez �galement demander � un autre noeud de se connecter afin de
confirmer le fonctionnement de votre ax25d.conf
.
On trouve derri�re ce nom les programmes ax25_call et netrom_call. Il s'agit de programmes tr�s simples destin�s � �tre lanc�s par ax25d pour automatiser les connexions depuis des h�tes distants. On peut bien s�r les employer dans des scripts ou via d'autres d�mons tels node.
Ils �quivalent au programme call et n'effectuent aucun traitement sur les donn�es, ce qui vous �pargne le probl�me des conversions de fin de lignes.
Un exemple pour commencer. On suppose que vous disposez d'un petit r�seau personnel, d'une station Linux tenant lieu de passerelle radio et d'une autre machine -- on prendra un noeud BPQ -- qui lui est connect�e par un lien ethernet.
En principe, si vous voulez que les utilisateurs radio puissent joindre le noeud BPQ, il leur faudra le faire par l'interm�diaire de votre noeud Linux ou se connecter au d�mon node puis �tablir la connexion. ax25_call peut simplifier le processus s'il est invoqu� par ax25d.
Prenons le cas d'un noeud BPQ d'identifiant VK2KTJ-9
, la station Linux
�tant munie d'un port AX.25/ethernet nomm� `bpq
'. `radio
' d�signera
le port radio de la machine passerelle.
Un enregistrement dans le fichier /etc/ax25/ax25d.conf
du type :
[VK2KTJ-1 via radio]
default * * * * * * *
root /usr/sbin/ax25_call ax25_call bpq %u vk2ktj-9
permet aux les connexions directes � `VK2KTJ-1
' qui n'est autre que
le d�mon Linux ax25d, celui ci les commutant automatiquement sur un
lien AX.25 � `VK2KTJ-9
' via l'interface `bpq
'.
Vous pouvez essayer toutes sortes d'autres configurations. Les utilitaires `netrom_call' et `rose_call' op�rent de fa�on similaire. Un radioamateur en a fait usage pour faciliter l'acc�s � un BBS distant. En principe, on aurait d� entrer � la main une cha�ne de connexion d�mesur�ment longue. Il a donc ajout� une entr�e faisant apparaitre le BBS comme une entit� appartenant au r�seau local, ax25d servant en fait de proxy pour l'acc�s � la machine distante.
Si vous avez l'habitude des r�alisations Rose � base de ROM, vous ne
serez pas d�pays� par la m�thode d'appel AX.25 � travers un r�seau Rose.
Soit un noeud local d'utilisateurs Rose d'identifiant VK2KTJ-5
et
un appelant AX.25 souhaitant se connecter � VK5XXX
au noeud Rose
distant 5050882960
, il lancera la commande :
c vk5xxx v vk2ktj-5 5050 882960
Au niveau du noeud distant, VK5XXX
recevra une connexion avec
l'identifiant des utilisateurs locaux AX.25 digip�t�e par l'interm�diaire
de l'identifiant des noeuds Rose distants.
La couche protocolaire Rose de Linux ne g�re pas cette fonctionnalit� dans le noyau mais les deux applications rsuplnk et rsdwnlnk savent s'en charger.
Afin que votre station Linux accepte un appel Rose et �tablisse une
connexion AX.25 vers une destination � l'�coute de laquelle il n'est pas,
vous devez ajouter un enregistrement � votre fichier
/etc/ax25/ax25d.conf
. En principe, cette ligne correspondra au
comportement par d�faut pour les connexions Rose entrantes. Par exemple,
vous �tes � l'�coute des demandes d'acc�s Rose aux destinations telles
NODE-0
ou HEARD-0
que vous g�rez localement, mais toutes les
autres connexions sont transmises � la commande rsdwnlink sous
l'hypoth�se qu'il s'agit d'utilisateurs AX.25.
Une configuration typique :
#
{* via rose}
NOCALL * * * * * * L
default * * * * * * - root /usr/sbin/rsdwnlnk rsdwnlnk 4800 vk2ktj-5
#
Avec cette configuration, tout appel qui effectue une connexion Rose
sur votre noeud Linux vers une destination � l'�coute de laquelle vous
ne vous tenez pas se verra converti en une connexion AX.25 sur le port
4800
avec VK2KTJ-5
pour chemin.
Pour que votre station Linux accepte les connexions AX.25 d'une fa�on
similaire � celle du noeud Rose, vous ajouterez � votre fichier
/etc/ax25/ax25d.conf
une ligne du type :
#
[VK2KTJ-5* via 4800]
NOCALL * * * * * * L
default * * * * * * - root /usr/sbin/rsuplnk rsuplnk rose
#
Notez la syntaxe particuli�re pour l'identifiant local. Le caract�re
`*
' indique que l'application doit �tre invoqu�e si l'identifiant
est reconnu dans le chemin de r�p�tition d'une connexion.
Avec cette configuration, un appel AX.25 peut �tablir des appels Rose au
moyen de la s�quence pr�sent�e dans l'introduction. Toute personne
demandant un relai via l'identifiant VK2KTJ-5
sur le port AX.25
4800
sera trait� par la commande rsuplnk.
Dans de nombreuses situations, il est fortement souhaitable d'associer un identifiant � compte utilisateur. Par exemple lorsque plusieurs op�rateurs radioamateurs partagent la m�me machine et souhaitent employer leur propre identifiant lorsqu'ils effectuent des appels ou lorsque des utilisateurs de PMS d�sirent dialoguer avec quelqu'un en particulier sur une station.
Les utilitaires AX.25 permettent de r�aliser cette association. On l'a d�j� �voqu� dans la section relative � PMS mais je le r�p�te ici afin de m'assurer que vous ne passerez pas � c�t�.
L'association s'effectue gr�ce � la commande axparms. Par exemple :
# axparms -assoc vk2ktj terry
Cette commande associe l'identifiant AX.25 vk2ktj
� l'utilisateur
terry
. Tout courrier destin� � vk2ktj
sur pms
sera transmis au compte Linux terry
.
Songez � mettre ces correspondances dans vos fichiers rc de d�marrage afin qu'elles soient disponibles � chaque r�initialisation.
Notez que vous ne devez surtout pas associer un identifiant au compte
root
vu que cela pourrait poser des probl�mes de configuration �
d'autres programmes.
/proc/
Le pseudo syst�me de fichiers /proc
contient divers fichiers
sp�cifiques aux programmes AX.25 et NetRom. Ces fichiers sont normalement
employ�s par les utilitaires AX.25 mais leur formatage est tel qu'ils
peuvent vous int�resser. Le format est suffisamment simple pour ne pas
n�cessiter beaucoup d'explications.
: liste des associations entre adresses IP et adresses de niveau MAC, qu'il s'agisse d'ethernet, d'AX.25 ou d'un autre protocole MAC.
: sockets AX.25 ouverts. Elles peuvent �tre en attente de connexion ou actives.
: identifiants AX.25 de type Ethernet BPQ.
: �quivalences entre identit�s d'utilisateurs Linux et identifiants d'appel telles que d�finies par la commande axparms -assoc.
: informations sur les chemins AX.25
: sockets NetRom ouvertes. Elles peuvent �tre en attente de connexion ou actives.
: liste de voisins NetRom
: informations sur les voisins NetRom
: sockets Rose ouvertes. Elles peuvent �tre en attente de connexion ou actives.
: correspondances entre destinations et voisins Rose
: liste de voisins Rose
: connexions Rose en cours
L'avantage le plus important li� � l'utilisation des protocoles par paquets radioamateurs du noyau r�side en la facilit� de d�veloppement des programmes et applications qui les emploient.
Bien que la programmation r�seau sous Unix d�borde du cadre de ce document, je vais d�crire les principaux �l�ments d'utilisation des protocoles AX.25, NetRom et Rose au sein de vos programmes.
La programmation AX.25, NetRom et Rose est assez semblable � la programmation TCP/IP sous Linux. LEs principales diff�rences se font au niveau des familles d'adresses et des structures d'adresse � mettre en place.
Les noms de familles d'adresses pour AX.25, NetRom et Rose sont respectivement
AF_AX.25
, AF_NETROM
et AF_ROSE
.
Incluez toujours les fichiers `ax25.h
', `netrom.h
' ou `rose.h
'
si vous vous servez de ces protocoles. Les d�buts de fichiers-types
ressemblent � quelque chose du style :
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_AX.25
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;
La librairie lib/ax25.a
du paquetage des utilitaires AX.25 contient
des routines de conversion des identifiants. Vous pouvez bien s�r �crire les
v�tres si vous le souhaitez.
Les programmes user_call sont d'excellents exemples � partir desquels travailler. Leur source code est inclus dans les outils AX.25. Si vous passez un peu de temps � les examiner, vous remarquerez rapidement que quatre-vingt-dix pour cent du travail consiste � pr�parer l'ouverture des sockets. En fait la connexion est rapide mais la mise en place prend du temps.
Les exemples sont assez simples pour ne pas pr�ter � confusion. Si vous avez
des questions, adressez-vous directement � la liste de diffusion
linux-hams
o� quelqu'un vous aidera s�rement.
Ci-suivent des exemples de configurations parmi les plus typiques. Il ne s'agit que d'un guide dans la mesure o� il y a autant de fa�ons de configurer un r�seau qu'il y a de r�seaux disponibles mais il peut vous servir de point de d�part.
Nombre d'entre vous disposent de petits r�seaux locaux chez eux et d�sirent connecter les stations de ce r�seau � un r�seau radio local. J'ai ce type de configuration chez moi. J'ai r�ussi � obtenir un bloc d'adresses contigu�s que je g�re par une route unique sur mon Ethernet local. Votre coordinateur IP local vous aidera si vous souhaitez proc�der ainsi. Les adresses du r�seau Ethernet local forment un sous-ensemble des adresses radio. Voici ma configuration personnelle avec le routeur Linux :
. . . . . .
-+- .
| Reseau /---------\ . Reseau
| 44.136.8.96/29| | . 44.136.8/24 \ | /
| | Routeur | . \|/
| | | . |
| eth0 | & | . /-----\ /----------\ |
+---------------+ +-----| TNC |----| Radio |---/
| 44.136.8.97 | serveur | . \-----/ \----------/
| | | sl0
| | Linux | 44.136.8.5
| | | .
| | | .
| \_________/ .
-+- . . . . . .
#!/bin/sh
# /etc/rc.net
# Configuration d'un port AX.25 de type KISS et d'une interface 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
44.136.8.97
.44.136.8.68
correspond � ma passerelle d'encapsulation IP
dans IP et est donc ma route par d�faut.
route add -net 44.0.0.0 netmask 255.0.0.0 \
gw 44.136.8.97 window 512 mss 512 eth0
Les param�tres mss et window me permettent d'obtenir les
meilleures performances possibles aussi bien pour les connexions Ethernet
locales que pour les acc�s radio.L'emploi de Linux comme passerelle d'encapsulation IP est maintenant courant � travers le monde. Le nouveau gestionnaire de tunnel IP accepte les routes multiples encapsul�es et rend obsol�te l'ancien d�mon ipip.
Un sch�ma classique :
. . . . . .
--- .
| Reseau /----------\ . Reseau
| 154.27.3/24 | | . 44.136.16/24 \ | /
| | Linux | . \|/
| | | . |
| eth0 | | . /-----\ /----------\ |
+---------------+Passerelle+-----| TNC |----| Radio |---/
| 154.27.3.20 | | . \-----/ \----------/
| | IPIP | sl0
| | | 44.136.16.1
| | | .
| | | .
| \__________/ .
--- . . . . . .
Voici les fichiers de configuration int�ressants :
# /etc/rc.net
# This file is a simple configuration that provides one KISS AX.25
# radio port, one Ethernet device, and utilises the kernel tunnel driver
# to perform the IPIP encapsulation/decapsulation
#
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
# This file is generated using the munge script
#
/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 points � noter :
sl0
et tunl0
ont tous
deux �t� munis de l'adresse IP du port Radio. La passerelle distante
r�cup�re ainsi la bonne adresse de votre passerelle dans les datagrammes
encapsul�s qu'elle re�oit.source /etc/ipip.routes
de
bash (en supposant que vous employez les m�mes conventions).
Le fichier source doit �tre au format de commande route NOS.Le nouveau script tunnel-munge :
#!/bin/sh
#
# From: Ron Atkinson <n8fow@hamgate.cc.wayne.edu>
#
# This script is basically the 'munge' script written by Bdale N3EUA
# for the IPIP daemon and is modified by Ron Atkinson N8FOW. It's
# purpose is to convert a KA9Q NOS format gateways route file
# (usually called 'encap.txt') into a Linux routing table format
# for the IP tunnel driver.
#
# Usage: Gateway file on stdin, Linux route format file on stdout.
# eg. tunnel-munge < encap.txt > ampr-routes
#
# NOTE: Before you use this script be sure to check or change the
# following items:
#
# 1) Change the 'Local routes' and 'Misc user routes' sections
# to routes that apply to your own area (remove mine please!)
# 2) On the fgrep line be sure to change the IP address to YOUR
# gateway Internet address. Failure to do so will cause serious
# routing loops.
# 3) The default interface name is 'tunl0'. Make sure this is
# correct for your system.
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"
Nombre de passerelles Radio Amateur avec l'Internet encapsulent AX.25, NetRom et Rose dans IP. Le cas des trames AX.25 rel�ve du RFC 1226 �crit par Brian Kantor. Mike Westerhof a r�alis� un d�mon d'encapsulation AX.25 sous Unix en 1991. Le paquetage des utilitaires ax25-utils en contient une version l�g�rement am�lior�e.
Un programme d'encapsulation AXIP re�oit des trames AX.25 d'un c�t�, examine la destination AX.25 afin d'en d�duire l'adresse IP � laquelle les envoyer et les encapsule dans un datagramme TCP/IP avant de les �mettre. Il accepte �galement les datagrammes TCP/IP qui contiennent des trames AX.25, extrait ces derni�res et les traite comme s'il s'agissait de trames AX.25 re�ues depuis un port AX.25. La distinction des trames IP contenant de l'AX.25 se fait par l'interm�diaire d'un identifiant de protocole �gal � 4 (la valeur 94 est possible quoique d�su�te). Le RFC 1226 d�crit tout �a en d�tail.
L'outil ax25ipd inclus dans le paquetage ax25-utils se pr�sente
comme un programme g�rant une interface KISS, au travers de laquelle passeront
des trames AX.25, et une interface d'adaptation TCP/IP. Il se configure par
l'interm�diaire du fichier /etc/ax25/ax25ipd.conf
.
ax25ipd op�re dans deux modes : "digipeater" et "tnc". En mode "tnc", le d�mon agit comme un TNC kiss. Vous lui fournissez des trames d'encapsulation KISS et il les transmet comme dans la configuration normale. En mode "digipeater", le d�mon agit comme un noeud de transmission AX.25. Les diff�rences entre ces deux modes sont subtiles.
Vous configurez dans le fichier � cet effet les "routes" ou correspondances entre les identifiants AX.25 et les adresses IP des machines auxquelles vous d�sirez �galement transmettre des paquets AX.25. Chaque route dispose d'options qui seront expliqu�es un peu plus tard.
Voici les autres options � configurer :
/etc/ax25/ax25ipd.conf
typique
#
# fichier de configuration ax25ipd pour la station floyd.vk5xxx.ampr.org
#
# Transport axip. 'ip' garantit la compatibilite avec la plupart des
# autres passerelles.
#
socket ip
#
# Mode d'operation de ax25ipd (digi ou tnc)
#
mode tnc
#
# Si digi est selectionne, vous devez definir un identifiant. Si vous avez
# choisi tnc, l'identifiant est optionnel mais cela pourrait changer dans le
# futur (2 identifiants pour une kiss double port).
#
#mycall vk5xxx-4
#mycall2 vk5xxx-5
#
# En mode digi, on peut definir un alias (2 etc.).
#
#myalias svwdns
#myalias2 svwdn2
#
# ident toutes les 540 secondes ...
#
#beacon after 540
#btext ax25ip -- tncmode rob/vk5xxx -- Experimental AXIP gateway
#
# Port serie (ou tuyau connecte a kissattach dans mon cas)
#
device /dev/ttyq0
#
# Vitesse du peripherique
#
speed 9600
#
# niveau de log 0 - pas de sortie
# niveau de log 1 - informations de configuration
# niveau de log 2 - evenements majeurs et erreurs
# niveau de log 3 - evenements majeurs, erreurs et suivi des trames AX.25
# niveau de log 4 - tout
# niveau de log 0 pour le moment
#
loglevel 2
#
# En mode digi, on peut avoir un veritable tnc. param permet de passer les
# parametres tnc.
#
#param 1 20
#
# Adresses de broadcast. Chaque adresse figurant dans la liste sera relayee
# vers une des routes munies de l'indicateur idoine.
#
broadcast QST-0 NODES-0
#
# Definition des routes AX.25. Autant que necessaires
# Format :
# route <id destination> <ip destination> [indicateur]
#
# Indicateurs valides :
# b - broadcast
# d - route par defaut
#
route vk2sut-0 44.136.8.68 b
route vk5xxx 44.136.188.221 b
route vk2abc 44.1.1.1
#
#
/etc/ax25/axports
# /etc/ax25/axports
#
axip VK2KTJ-13 9600 256 AXIP port
#
/usr/sbin/kissattach /dev/ptyq0 axip
/usr/sbin/ax25ipd &
call axip vk5xxx
"route
" met en place les destinations d'envoi de vos trames AX.25
encapsul�es. Lorsque le d�mon ax25ipd re�oit un paquet sur son
interface, il compare l'identifiant de destination avec chacun de ceux
pr�sents dans sa table de routage. S'il trouve une correspondance, le paquet
est alors encapsul� dans un datagramme IP et transmis � l'h�te sp�cifi�.
Deux indicateurs peuvent �tre ajout�s � n'importe quelle route du fichier
ax25ipd.conf
:
tout trafic � destination d'une adresse rep�r�e par le mot-clef
"broadcast
" doit transiter par cette route.
tout paquet ne correspondant � aucune autre route doit suivre ce chemin.
L'indicateur de broadcast est tr�s utile puisqu'il permet l'envoi d'informations � destination de toutes les stations vers des stations AXIP : les routes axip fonctionnent normalement en point-�-point et sont incapables de g�rer des paquets de diffusion g�n�rale.
De nombreuses personnes aiment se servir de NOS sous Linux en raison de la richesse fonctionnelle et de la facilit� d'emploi auxquelles il les a habitu�es. La plupart d'entre eux souhaitent que leur version de NOS puisse dialoguer avec le noyau Linux de fa�on � offrir certaines des possibilit�s de Linux aux radio-utilisateurs de NOS.
Brandon S. Allbery, alias KF8NH, a fourni les informations qui suivent relatives � l'interconnexion de NOS avec le noyau Linux par l'interm�diaire de tuyaux (pipe).
Linux et NOS g�rant tous deux le protocole SLIP, il est possible de les relier au moyen d'une liaison slip. Vous pourriez le faire gr�ce � deux ports s�rie et � un c�ble null-modem mais ce serait aussi co�teux qu'inefficace. Comme d'autres syst�mes de type Unix, Linux dispose de tuyaux dits `pipes' (prononcer paillepeu). Il s'agit de pseudo-p�riph�riques qui �mulent le comportement de tty usuels du point de vue des logiciels en redirigeant le flux vers d'autres tuyaux. Pour les utiliser, un programme doit d'abord ouvrir l'extr�mit� ma�tre d'un tuyau apr�s quoi un second programme peut ouvrir la terminaison esclave. Lorsque les deux bouts sont ouverts, les programmes peuvent communiquer l'un avec l'autre en �crivant des caract�res dans les tuyaux comme s'il s'agissait de terminaux usuels.
Pour employer les tuyaux entre NOS et Linux, vous devez d'abord choisir
un tuyau. Le r�pertoire /dev
en regorge : les extr�mit�s ma�tres
se nomment ptyq[1-f]
et celles esclaves ttyq[1-f]
.
Gardez � l'esprit qu'elles fonctionnent par paires et que si vous
utilisez /dev/ptyqf
� un bout, vous devrez employer
/dev/ttyqf
� l'autre.
Une fois le tuyau choisi, vous allouez la terminaison ma�tre � Linux et l'esclave � NOS (le noyau d�marre le premier et l'extr�mit� ma�tre doit �tre la premi�re ouverte). N'oubliez pas que le noyau Linux doit �tre muni d'une adresse IP diff�rente de celle de NOS. A mettre en place si ce n'est pas d�j� le cas.
Le tuyau se configure comme un p�riph�rique s�rie. Pour une liaison slip, les commandes � ex�cuter seront donc du type :
# /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 dispose de l'adresse 44.70.4.88
et NOS de l'adresse 44.70.248.67
. La commande route de
la derni�re ligne indique simplement au noyau Linux qu'il doit router tous
les datagrammes � destination d'amprnet via le lien slip cr�� par la
commande slattach. Vous pouvez par exemple copier ces commandes
dans le fichier /etc/rc.d/rc.inet2
(selon votre installation)
apr�s toutes les autres commandes de configuration r�seau afin que la
liaison slip apparaisse automatiquement � la r�initialisation du syst�me.
Remarque : on ne gagne rien � utiliser cslip au lieu de
slip. Au contraire, les performances diminuent de par la nature
purement virtuelle du lien (on passe plus de temps � compresser les
en-t�tes qu'� transmettre toutes les donn�es).
Essayez les commandes suivantes pour configurer la terminaison du c�t� NOS :
# you can call the interface anything you want; I use "linux" for convenience.
attach asy ttyqf - slip linux 1024 1024 38400
route addprivate 44.70.4.88 linux
Ces commandes cr�ent un port slip nomm� `linux' sur l'extr�mit� esclave du tuyau et ajoutent une route qui y pointe. Une fois NOS d�marr�, vous devriez pouvoir ex�cuter des ping et des telnet de NOS vers Linux et vice-versa. Si ce n'est pas le cas, v�rifiez encore une fois que vous ne vous �tes tromp� nulle part, surtout au niveau des adresses et des tuyaux.
Ce document suppose une certaine exp�rience de la transmission paquets par radio, et, comme ce n'est pas forc�ment le cas, j'ai regroup� un ensemble de r�f�rences � d'autres informations utiles.
Vous trouverez des informations g�n�rales sur la transmission paquets par radio sur les sites suivants :
Il existe plusieurs endroits o� parler de Linux ou de radio amateurisme.
Par exemple dans les groupes de discussion comp.os.linux.*
, sur la
liste de diffusion HAMS
de vger.rutgers.edu
. Mentionnons
�galement la liste tcp-group
sur ucsd.edu
(origine des
discussions TCP/IP radio amateur) et le canal #linpeople
sur le
r�seau irc linuxnet
.
Pour vous abonner � la liste de diffusion Linux linux-hams, envoyez un courrier � :
Majordomo@vger.rutgers.edu
avec dans le corps du message la ligne suivante :
subscribe linux-hams
La ligne de sujet sera ignor�e.
La liste de diffusion linux-hams est archiv�e aux adresses :
zone.pspt.fi et : zone.oh7rba.ampr.org. Les d�butants sont pri�s de commencer par utiliser les archives. Celles-ci contiennent des r�ponses � l'essentiel des questions courantes.
Pour souscrire � la liste tcp-group
, envoyez un courrier � l'adresse :
listserver@ucsd.edu
avec dans le corps du message la ligne :
subscribe tcp-group
Remarque : n'oubliez pas que tcp-group
a pour th�me les
discussions autour de l'emploi des protocoles �volu�s parmi lesquels figure
TCP/IP. Les questions sp�cifiques � Linux n'y ont normalement pas leur
place.
Les personnes dont les noms suivent ont contribu� � l'�laboration de ce document (l'ordre n'a pas d'importance): Jonathon Naylor, Thomas Sailer, Joerg Reuter, Ron Atkinson, Alan Cox, Craig Small, John Tanner, Brandon Allbery, Hans Alblas, Klaus Kudielka, Carl Makin.
Copyright (c) 1996 Terry Dawson.
La distribution de ce document doit se conformer aux termes de la licence LDP tels que d�finis � l'adresse : sunsite.unc.edu/LDP/COPYRIGHT.html.