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.
Hosting by: Hurra Communications GmbH
Generated: 2007-01-26 18:01:29