ACA - Aide a la Configuration Ax25

A.C.A Aide a la Configuration Ax25

    Dans cette page je me propose de passer en revue les differents fichiers
    de configuration pour different type de modem, tnc etc ...

    Bien sur des centaines de facon differentes de configurer l'AX25
    existent celle que je vous propose n'a pas la prétention d'être la
    meilleur mais de vous aider à comprendre comment demarrer !

    Je me base sur la distribution Zipham 0.1 ( disponible également sur ce
    site ) mais ca doit marcher avec d'autre

    Nous avons donc pour l'ax25 :
        un noyaux 2.0.xx compiler avec l'ax25
        ax25-utils 2.1.42a
        awznode clone de flexnet
        conversd

    Pour conversd ( htpp-1.22 ) vous trouverez les fichiers dans le repertoire
    /opt/conversd/etc ( il parlent d'eux meme )

    Linpac et ax25-mail possédent leurs aide repportez vous a celle ci pour
    ces logiciels

    On y vas !

    Pour commencer tous les fichiers sont dans le repertoire /etc/ax25

    # /etc/ax25/axports
    #
    # le format est:
    #
    # Speed - entre le PC <-> TNC,Modem,etc ... !!
    # - 1200 pour un baycom
    # - 10000000 pour bpqether ( carte ethernet )
    # - 9600 ou 19200 pour un tnc ( attention a 19200 il doit y avoir
    #   des 16550 comme UART
    #
    # les ports node xnode axip sont interne ! ( des pipes )
    # Dans cette configuration je suppose que vous utilisez le SSID -9 pour
    # les connexions TCP/IP  mettez window a 4 c'est optimiser pour les
    # paramettres de tcp decrit apres
    #
    # name  callsign       speed   paclen window    description
    #
    radio1	F5NLG-9		9600	250	4	voie utilisateur
    node    MKISS-0         38400   250     4       Loopback    (38400 bps)
    xnode   MKISS-1         38400   250     4       Loopback    (38400 bps)
    axip	MKISS-2		19200	250	4	AXIP Link to JNOS
    #fin

    #/etc/ax25/rc.ax25
    #
    #script de lancement de l'AX.25
    #
    # ici je charge les modules dont j'ai besoin
    /sbin/insmod ax25.o
    /sbin/insmod netrom.o
    /sbin/insmod mkiss.o
    #
    # mon adresse IP  Mettez la votre !!!!
    IPADDR="44.151.49.100"
    #
    # mon indicatif pour le port radio1 il doit correspondre a celui defini
    # dans le axports je suppose que vous utilisez le SSID pour le TCP/IP
    MY_CALL="F5NLG-9"
    #
    # l'indicatif du LinuxNode
    NODE_CALL="F5NLG"
    #
    # l'adresse du reseau local
    LOCALNET="44.151.49.0"
    #
    # l'adresse du serveur IP auquel j'accede et qui me fournis l'acces a Hamnet
    GATEWAY="44.151.49.1"
    #
    # l'indicatif du gateway TCP/IP ( celui ou je me connecte )
    GATE_CALL="F5KDW-9"
    #
    # ici on nettoie la table genere par l'auto router et on le lance
    rm -rf /var/ax25/ax25rtd/*
    /usr/sbin/ax25rtd&
    sleep 1
    #
    # rien a changer !
    # mobilenet correspond aux adresse internes de la machine entre
    # les divers applications Jnos etc ...
    MOBILENET="44.128.0.0"
    BROADCAST="44.255.255.255"
    NETMASK="255.0.0.0"
    NETWORK="44.0.0.0"
    #
    #
    # a configurer selon le type de port
    echo " --- Ports"
    #
    # choisisez celui qui convient ! decommenter le morceau que vous voulez
    #
    #
    #		TNC sur port com : -> interface ax0
    # on paramettre le mtu a 991 optimal avec window a 4
    /usr/sbin/kissattach -i ${IPADDR} -m 991 /dev/ttyS0 radio1
    #                                                 ^0 pour COM1 | 1 pour COM2 !!!
    # ----------------------- fin groupe tnc
    #
    #		Modem baycom : -> interface bc0
    # on desactive l'usage normal du port com qu'on veux utilisé
    #
    #/bin/setserial /dev/ttyS0 uart none
    #                       ^0 pour COM1 | 1 pour COM2 !!!
    #
    # on charge les modules hdlcdrv et baycom
    #/sbin/insmod hdlcdrv.o
    #/sbin/insmod baycom.o
    #
    # pour COM1 = ttyS0
    #/usr/sbin/sethdlc -p -i bc0 mode ser12* io 0x3f8 irq 4
    #
    # pour COM2 = ttyS1
    #/usr/sbin/sethdlc -p -i bc0 mode ser12* io 0x2f8 irq 3
    #
    # pour modem type PAR96 sur le port // LPT
    #/usr/sbin/sethdlc -p -i bc0 mode par96* io 0x378 irq 7
    #
    # on paramettre l'interface avec TXDelay 350 slot 10 et ppersist 128
    #/usr/sbin/sethdlc -a -i bc0 txd 350 slot 10 ppersist 128
    #
    #/sbin/ifconfig bc0 up mtu 991
    #
    #/usr/sbin/axparms -setcall bc0 F5NLG-9
    #
    # ----------------------fin groupe modem baycom
    #
    #		Bpqether : -> interface bpq0
    # on charge le module bpq
    #/sbin/insmod bpqether.o
    #/sbin/ifconfig bpq0 hw ax25 F5NLG-9 up
    # fin groupe bpqether le reste de la config se fait apres
    #
    sleep 2
    /usr/sbin/nrattach -i ${IPADDR} netrom -m 236
    #
    # liens virtuels interne
    /usr/sbin/mkiss -s 38400 /dev/ptyp1 /dev/ptyp2 /dev/ptyp3
    /usr/sbin/mkiss -s 38400 /dev/ttyp1 /dev/ptyp4 /dev/ptyp5
    #
    /usr/sbin/kissattach -i ${IPADDR} /dev/ttyp2 node
    /usr/sbin/kissattach -i ${IPADDR} /dev/ttyp4 xnode
    #
    # Démon axip ( lien sur jnos )
    cd /etc/ax25
    /usr/sbin/ax25ipd > /dev/tty8 2>&1 &
    /usr/sbin/kissattach -i ${IPADDR} /dev/ptypf axip
    sleep 2
    #
    # Configure interfaces
    # ATTENTION !remplacer XX0 par [ ax0 pour tnc ]  [ bc0 pour baycom ] [ bpq0 pour bpq ]
    # dans toutes les lignes de tous les fichiers qui suivent
    /sbin/ifconfig XX0 ${IPADDR} hw ax25 ${MY_CALL} broadcast ${BROADCAST} netmask ${NETMASK}
    /sbin/ifconfig nr0 ${IPADDR} hw netrom ${NODE_CALL}
    #
    # demarre le Demon AX25
    echo " --- AX.25"
    /usr/sbin/ax25d &
    #
    # Configurer le TXDelay ( -t 350) et la Persistance ( -r 128) pour un tnc !
    /usr/sbin/kissparms -p radio1 -r 128 -t 350
    #
    #
    # Routing
    /sbin/route add ${GATEWAY} window 1982 XX0
    /sbin/route add -net ${NETWORK} gw ${GATEWAY} netmask ${NETMASK} window 1982
    /sbin/route add -net ${MOBILENET} netmask 255.255.0.0 window 1982 XX0
    /sbin/route add -net ${LOCALNET} netmask 255.255.255.0 window 1982 XX0
    #
    # Vous pouvez definir quelques routes IP
    /sbin/route add -host 44.151.53.2 gw 44.151.49.1 window 1982
    /sbin/route add -host 44.151.72.1 gw 44.151.49.1 window 1982
    #
    /sbin/arp -i XX0 -t ax25 -s ${GATEWAY} ${GATE_CALL}
    #
    #
    # Modification des paramettres AX25
    # backoff
    for dev in /proc/sys/net/ax25/*
    do
      echo "0" > $dev/backoff_type
    done
    #
    # mode VC pour les connexions IP a travers les nodes y a que ca qui marche !
    echo "1" > /proc/sys/net/ax25/ax0/ip_default_mode
    #
    # paclen 250 a travers reseau flexnet
    echo "250" > /proc/sys/net/ax25/ax0/maximum_packet_length
    #
    # frack ( t1 )
    echo "60" > /proc/sys/net/ax25/ax0/t1_timeout
    #
    # resptime ( t2 )
    echo "20" > /proc/sys/net/ax25/ax0/t2_timeout
    #
    # maxframe
    echo "4" > /proc/sys/net/ax25/ax0/standard_window_size
    #
    #
    # associe des indicatifs ax25 à des utilisateurs Linux Attention aux maj/min
    /usr/sbin/axparms -assoc jeanphi f5nlg
    #
    # Nettoie les fichiers de login
    > /var/ax25/node/loggedin
    > /var/ax25/pms/loggedin
    #
    # Monitoring avec ALT+F8
    /usr/sbin/mheardd -n 10
    /usr/bin/listen -r -a -i -8 -c -p radio1> /dev/tty8 2>&1 &
    #
    # Beacon
    echo " --- Beacon"
    #
    # a configurer ( changer le CALL le node est F5NLG sans ssid )
    #
    /usr/sbin/beacon -c F5NLG -t 600 radio1 "TCP/IP Zipham 0.1 Server" &
    #
    # maskage des adresses IP interne
    /etc/ax25/rc.maska
    #
    # demarre le serveur de conference
    /opt/conversd/bin/conversd &
    #
    # demarre le demon pour acceder a F5KDW-9 via le digi F5XXX-12
    # ( c'est un exemple pour passer le trafic via un node )
    /usr/sbin/ax25rtctl -a ax25 F5KDW-9 radio1 0 F5XXX-12
    "
    #demarre le demon flexnet
    /usr/sbin/flexd &
    #
    # fin ouf ! passont au suivant

    pour Linpac seul vous pouvez vous arreter la ! le reste n'est pas necessaire

    # /etc/ax25/ax25ipd.conf
    #
    # ce fichier sera utilise avec le package jnos a venir ...
    # Select axip transport. 'ip' is what you want for compatibility
    # with most other gates ...
    #
    socket ip
    #
    #
    mode tnc
    #
    #
    device /dev/ttypf
    #
    # on configure la vitesse
    #
    speed 19200
    #
    loglevel 0
    #
    #
    #route f?xxx-0 44.128.1.2
    #route vk5asf-15 44.136.188.221
    #
    # l'adresse correspond a celle de jnos
    #
    route default 44.128.1.2
    #fin

    # /etc/ax25/axspawn.conf
    #
    # autorise la creation automatique de comptes utilisateurs
    create    yes
    #
    # guest user if above is 'no' or everything else fails. Disable with "no"
    guest     yes
    #
    # group id ou nom pour l'autoaccount
    group     ax25
    #
    # 1er identifiant utilisateur a utiliser
    first_uid 400
    #
    # maximum user id
    max_uid   2000
    #
    # where to add the home directory for the new user
    home      /home/ax25
    #
    # user shell
    shell     /bin/bash
    #
    # bind user id to callsign for outgoing connects.
    associate yes
    # fin

    #/etc/ax25/rc.maska
    ce fichier masque les adresses internes Jnos
    #
    PATH=/sbin:/bin:/usr/sbin:/usr/bin
    # on charqe les modules ...
    #/sbin/depmod -a
    /sbin/modprobe ip_masq_ftp.o
    /sbin/modprobe ip_masq_raudio.o
    /sbin/modprobe ip_masq_irc.o
    #
    ipfwadm -F -f
    ipfwadm -F -p deny
    ipfwadm -F -a masquerade -W XX0 -S 44.128.1.0/24 -D 0.0.0.0/0
    # fin

    # /etc/ax25/rxecho.conf
    #
    # les packets recu sur le port radio1 sont copié sur link
    # les packets venant de F5NLG sont copié sur radio1 ( pour JNOS )
    #
    radio1	link	F5NLG
    link	radio1	*
    # fin

    # /etc/ax25/pms.motd
    #
               -*-  PMS de Jean-Philippe sous Linux 2.0 avec ZipHam 0.1 -*-

    #fin

    # /etc/ax25/pms.info
    #
    F5NLG Jean-Philippe, Loc: IN97QM QTH: Angers
    cette station tourne avec ZipHam 0.1
    et est en cours d'amelioration
    #fin

    # /etc/ax25/ax25d.conf
    #
    # NE PAS CHANGER LES SSID ! a moins de bien comprendre ce qui se passe
    # ce fichier autorise les connexion venant de l'extérieur
    #
    # AX.25 Ports begin with a '['.
    #---------------------------------------------------------------
    # Connexion au netrom

    NOCALL  * * * * * *  L
    default * * * * * *  -	root  /usr/sbin/node	node
    #
    # ------------------------------------------------------------
    # Connection a la PMS AX25 des ax25-utils
    [F5NLG-1 VIA radio1]
    NOCALL   * * * * * *  L
    default  * * * * * *  - root  /usr/sbin/pms pms -a -o F5NLG
    # ------------------------------------------------------------
    # Connexion au Linux Node
    [F5NLG VIA vhf]
    NOCALL   * * * * * *  L
    default  * * * * * *  -	root  /usr/sbin/node	node
    #
    [F5NLG VIA node]
    NOCALL   * * * * * *  L
    default  * * * * * *  -	root  /usr/sbin/node	node
    #
    [F5NLG VIA xnode]
    NOCALL   * * * * * *  L
    default  * * * * * *  -	root  /usr/sbin/node	node
    #
    #------------------------------------------------------------
    # pour jnos
    #
    [F5NLG-10 VIA axip]
    NOCALL   * * * * * *  L
    default  * * * * * *  -	root  /usr/sbin/node	node
    #--------------------------------------------------------------
    # Connexion au Systeme Linux avec mot de passe vous devez creer
    # les utilisateurs avant qu'il puissent se connecter
    [F5NLG-4 VIA radio1]
    NOCALL   * * * * * *  L
    default  * * * * * *  -	root  /usr/sbin/axspawn axspawn %u
    #
    [F5NLG-4 VIA node]
    NOCALL   * * * * * *  L
    default  * * * * * *  -	root  /usr/sbin/axspawn axspawn %u
    #
    [F5NLG-4 VIA xnode]
    NOCALL   * * * * * *  L
    default  * * * * * *  -	root  /usr/sbin/axspawn axspawn %u
    #---------------------------------------------------------------
    # fin

    # /etc/ax25/node.conf
    #
    # host doit etre identique au /etc/HOSTNAME et doit avoir une entree dans
    # /etc/hosts !!!
    #
    HostName	f5nlg.ampr.org
    #
    # Node ID. remplacer par votre CAll
    #
    NodeId		F5NLG
    #
    # AWZNode Prompt
    #
    Prompt "F5NLG> Cmd:!,?,CONV,NOS,PMS,SYSOP,B,C,D,E,F,H,HO,I,MH,MS,PI,P,Q,S,TA,T,U =>"
    #
    #  L'indicatif sans SSID connecte le JNOS
    #
    Alias           NOS       "connect axip F5NLG"
    #
    Alias		CONVers   "telnet %{2:44.151.49.1} 3600 \"/n %u %{1:0}\""
    Alias           SYSOP     "telnet 44.128.1.2 87"
    #
    # "Local" network.
    #
    LocalNet	44.151.49.0/32
    #
    # Idle timeout (seconds).
    #
    IdleTimeout	9000
    #
    # Timeout when gatewaying (seconds).
    #
    ConnTimeout	9000
    #
    # ReConnect flag.
    #
    ReConnect	on
    #
    # Hidden ports.
    #
    HiddenPorts	xnode
    #
    # External commands. See node.conf(5) for the meaning of the uppercase
    # letters in the name of the extcmd.
    #
    # Flags:	1	Run command through pipe
    #		2	Reconnected flag
    #
    ExtCmd		PMS	1	root	/usr/sbin/pms pms -u %U -o F5NLG
    #
    # Netrom port name. This port is used for outgoing netrom connects.
    #
    NrPort		netrom
    #
    # Logging level
    #
    LogLevel	0
    #
    # The escape character (CTRL-T)
    #
    EscapeChar      ^T
    #
    # Password Prompt
    #
    PassPrompt 	"SYSPassword>"
    # fin

    # /etc/ax25/flexd.conf
    #
    # mon indicatif
    MyCall		F5NLG
    # toutes les 10 minutes
    PollInterval	600
    # Noeud Flexnet sur lequel je vais chercher les destinations
    FlexGate	F5KDW
    # fin

    # /etc/ax25/node.routes
    #
    # AWZNode shows links with this order.
    #
    # Routes Direct
    # route    d 'description'
    route	F5ZZZ		TOTO	radio1	d	'mon pote toto'
    #
    # Routing via digipeaters
    # route 		 	v 	'description'
    #
    route 	F5KDW     KDW	  radio1 v 	'FLEXNET NODE'	 F5XXX-12
    #
    # Routing across another node with sending a string "C "
    # route  	   n 	'description'
    #
    #route 	ik5skv-8 skvbbs	itanet 	n 'BBS ARI Empoli' 	ir5apr
    #fin

    # /etc/ax25/node.perms
    #
    # user	type	port	passwd-md5 passwd-random	perms
    # User f5nlg can login without password from anywhere
    #
    f5nlg	*	*	qwerty	*	95
    #xx0xx	*	*	*	*	95
    #
    # F5KDW est une bbs donc l'escape doit etre devalider.
    #
    f5kdw	*	*	*	*	287
    #
    # Default permissions per connection type.
    #
    *	ax25	*	*	*	31
    *	netrom	*	*	*	31
    *	local	*	*	*	31
    *	ampr	*	*	*	31
    *	inet	*	*	*	0
    *	host	*	*	*	31
    #fin

    # /etc/ax25/node.users
    # Mail & Shell for Sysop and users
    #
    # callsign:password:linux username:settings
    # where  can be mail, shell or both separated by a semicolon
    # xx0xx:password:user:mail,shell
    #
    F5NLG:f5nlg:f5nlg:mail,shell
    # fin

    # /etc/ax25/node.motd
    #
             -*- F5NLG Linux 2.0 QTH: Angers France -*-
                 faites ? pour avoir le plan de vol !
    # fin

    # /etc/ax25/node.info
    #

               -*- F5NLG Linux 2.0 QTH: Angers FRANCE -*-

     f5nlg.ampr.org  - [44.151.49.100] - system Linux 2.0

     F5NLG-0   - Indicatif du LinuxNode

     F5NLG-1   - Indicatif de la PMS AX25

     F5NLG-4   - Indicatif pour se connecter au Systeme Linux ( avec
                 mots de passe )

     F5NLG-9   - Indicatif a utiliser pour les connexions TCP/IP

                      -*- Zipham v 0.1 Kernel 2.0.38 -*-
    # fin

    # /etc/ax25/nrbroadcast
    #
    # The format of this file is:
    #
    # ax25_name min_obs def_qual worst_qual verbose
    #
    radio1	5	192	100	0
    #fin

    # /etc/ax25/nrports
    #
    # Changer le call
    # The format of this file is:
    # name callsign alias paclen description
    #
    netrom	F5NLG	ZipHam	236	Switch Port
    #fin

    # /etc/ax25/ax25rtd.conf
    #
    # For a general discussion of each parameter see ax25rtd/README.
    #
    # General setup
    # =============
    #
    # The size of the caches. When the cache is full, the oldest entry
    # gets removed.
    #
    ax25-maxroutes 256
    ip-maxroutes   256
    #
    # Port config
    # ===========
    #
    # Note that you *must* specify the symbolic port
    # name as defined in axports
    #
    # Here you could specify a digipeater path added to every learned route
    # that has no digipeaters.
    #
    # ax25-add-path oe1xxx
    #
    # Since ax25rtd will learn only frames directed to the interface
    # callsign or one of our listeners we can specify additional mycalls.
    #
    # ax25-more-mycalls oe1xxx
    #
    # We already have a static network route to this interface and don't need
    # to learn any host route.
    #
    # ip-learn-routes no
    #
    # I really don't like to change the mode.
    #
    # ip-adjust-mode no
    #
    # ARP is correctly handled by the kernel on this interface (no digipeaters).
    #
    # arp-add no
    #
    # The nice feature is that the host route overrides the network route to
    # the default interface, allowing this setup to work. Note also that users
    # may access this interface via digipeaters.
    # If a user switches back to the default interface, the IP host route is
    # automatically deleted. The other entries remain, but this is not a
    # problem.
    #
    [radio1]
    #
    ax25-learn-routes yes
    ax25-learn-only-mine yes
    # ip-learn-routes no
    # ip-adjust-mode no
    # arp-add no
    #fin