Avanti Indietro Indice

14. Configurazione del programma node.

node è stato sviluppato da Tomi Manninen <tomi.manninen@hut.fi> e si basa sul programma PMS. Rende disponibili le funzionalità di nodo in modo piuttosto completo e flessibile, permettendo agli utenti, una volta connessi, di fare connessioni in uscita di tipo Telnet, AX.25, NetRom e Rose, nonchè di ottenere informazioni con Finger, Nodes, Heard eccetera. Si può inoltre configurare il nodo in modo da far eseguire qualunque comando Linux in modo piuttosto semplice.

Node viene normalmente lanciato dal programma ax25d, per quanto possa essere eseguito anche da linea di comando oppure lanciato dal programma TCP/IP inetd per permettere agli utenti di fare telnet sulla vostra macchina.

14.1 Creazione del file /etc/ax25/node.conf.

Il file node.conf è dove viene scritta la configurazione principale del nodo. E' un semplice file di testo ed è formattato nel seguente modo:

# /etc/ax25/node.conf
# file di configurazione del programma node(8).
#
# Le linee che iniziano con '#' sono commenti e vengono ignorate.
# Hostname
# Specifica il nome della macchina che fa da nodo.
hostname        radio.gw.vk2ktj.ampr.org

# Rete Locale
# Permette di specificare cosa dev'essere considerato 'locale' 
# per il controllo dei permessi usando nodes.perms.
localnet        44.136.8.96/29

# Occultamento di porte
# Se viene specificato, questo parametro permette di rendere le porte
# invisibili agli utenti. Le porte qui elencate non saranno riportate 
# dal comando (P)orts.
hiddenports     rose netrom

# Identificazione del nodo.
# Questo apparirà al prompt del nodo.
NodeId          LINUX:VK2KTJ-9

# Porta NetRom
# Questo è il nome della porta NetRom che verrà usata per
# le connessioni NetRom in uscita dal nodo.
NrPort          netrom

# Node Idle Timeout
# Specifica il tempo di idle in secondi per le connessioni fatte
# a questo nodo (cioè quanto possono rimanere inattive prima che la
# connessione venga interrotta.
idletimout      1800

# Connection Idle Timeout
# Specifica il tempo di idle in secondi per le connessioni fatte
# attraverso questo nodo.
conntimeout     1800

# Riconnessione
# Specifica se gli utenti debbano essere riconnessi al nodo
# se la loro connessione remota si interrompe, o se debbano essere
# definitivamente disconnessi.
reconnect       on

# Alias dei comandi
# Permette di rendere semplici dei comandi di nodo più articolati.
alias           CONV    "telnet vk1xwt.ampr.org 3600"
alias           BBS     "connect radio vk2xsb"

# Aliases dei comandi esterni
# Permette di eseguire dei comandi esterni all'interno del nodo.
# La sintassi è:
# extcmd <nomecmd> <flag> <userid> <comando>
# Flag == 1 è l'unica funzione implementata.
# <comando> è formattato sullo stile di ax25d.conf
extcmd          PMS     1       root    /usr/sbin/pms pms -u %U -o VK2KTJ

# Logging
# Stabilisce la quantità di informazioni che vengono scritte nel log.
# 3 per il maggior numero di informazioni, 0 per disabilitare il log.
loglevel        3

# Il carattere di escape
# 20 = (Control-T)
EscapeChar      20

14.2 Creazione del file /etc/ax25/node.perms

node consente di assegnare permessi agli utenti. Questi permessi permettono di stabilire quali utenti, ad esempio, sono autorizzati a far uso di opzioni come i comandi (T)elnet e (C)onnect. Il file node.perms viene usato per stabilire questo genere di permessi e contiene cinque campi chiave; in ognuno di questi un asterisco `*' serve per indicare qualunque cosa e viene usato per creare le regole di default.

utente

Il primo campo rappresenta il nominativo o l'utente al quale devono applicarsi i permessi. Ogni ssid viene ignorato, quindi basta mettere il nominativo semplice.

metodo

Vengono concessi permessi anche ai protocolli o ai metodi di accesso. Per esempio si può permettere l'uso dell'opzione (C)onnect agli utenti connessi via AX.25 o NetRom, ma impedirlo agli altri. Il secondo campo perciò, permette di selezionare a quale metodo di accesso deve applicarsi la regola di accesso. I metodi di accesso sono i seguenti:

metodo  descriztione
------  -----------------------------------------------------------
ampr    L'utente è connesso via telnet da un indirizzo amprnet (44.0.0.0)
ax25    L'utente è connesso tramite AX.25
host    L'utente ha lanciato node dalla linea di comando
inet    L'utente è connesso via telnet da un indirizzo non-locale e non-amprnet
local   L'utente è connesso via telnet da un host 'locale'
netrom  L'utente è connesso tramite NetRom
rose    L'utente è connesso tramite rose
*               L'utente è connesso in un modo qualunque.
porta

Volendo è possibile controllare i permessi per gli utenti AX.25 porta per porta; questo permette di determinare cosa gli utenti sono in grado di fare a seconda della porta alla quale sono connessi. Se si sfrutta questa funzionalità (che funziona solo per le connessioni AX.25), il terzo campo contiene il nome della porta.

password

Si può opzionalmente configurare il nodo in modo che chieda una password alla connessione. Questo può essere utile per proteggere utenti con un livello di accesso particolarmente elevato; in questo campo, se presente, è contenuto il valore della password che dev'essere fornita.

permessi

Il campo permessi è l'ultimo per ciascuna voce nel file. Il valore che contiene è a campi di bit (ogni opzione è rappresentata da un bit più o meno settato a seconda che venga più o meno concesso il permesso per essa). La lista delle opzioni che possono essere controllate, e del relativo valore in bit è il seguente:

valore  descrizione
-----   -------------------------------------------------
 1      Login consentito.
 2      (C)onnessione AX25 consentita.
 4      (C)onnessione NetRom consentita.
 8      (T)elnet verso host locali consentiti.
 16     (T)elnet verso host amprnet (44.0.0.0) consentiti.
 32     (T)elnet verso host non-locali e non-amprnet consentiti.
 64     (C)onnessione AX25 consentita anche su porte occultate.
 128    (C)onnessione Rose consentita.
Per stabilire una regola particolare, occorre sommare i valori dei singoli permessi che si vuole dare e mettere il numero risultante nel quinto campo.

Un file nodes.perms potrebbe essere il seguente:

# /etc/ax25/node.perms
#
#L'operatore del nodo è VK2KTJ, ha password 'secret' e ha tutti
#i permessi per tutti i tipi di connessione
vk2ktj  *       *       secret  255

# Ai seguenti nominativi è impedito connettersi
NOCALL  *       *       *       0
PK232   *       *       *       0
PMS     *       *       *       0

# Agli utenti INET è impedito connettersi.
*       inet    *       *       0

# Gli utenti AX.25, NetRom, Local, Host e AMPR possono fare (C)onnect
# e (T)elnet a host locali e ampr, ma non ad altri indirizzi IP.
*       ax25    *       *       159
*       netrom  *       *       159
*       local   *       *       159
*       host    *       *       159
*       ampr    *       *       159

14.3 Configurazione di node per funzionare da ax25d

Il programma node viene lanciato di solito dal programma ax25d. Per fare questo occorre aggiungere delle particolari regole al file /etc/ax25/ax25d.conf. Nella configurazione che adotto, voglio permettere agli utenti di scegliere se connettersi a node o ad altri servizi. ax25d consente di fare questo attraverso l'intelligente creazione di alias delle porte. Ad esempio, data la configurazione di ax25d presentata sopra, si vuole configurare node in modo che venga lanciato per tutti gli utenti che si connettono a VK2KTJ-1. Per fare questo si aggiunge questo al file /etc/ax25/ax25d.conf:

[vk2ktj-1 via radio]
default    *     *    *   *   *   0    root /usr/sbin/node node
Questo dice che il kernel di Linux risponderà ad ogni richiesta di connessione al nominativo `VK2KTJ-1' sulla porta chiamata `radio' lanciando il programma node

14.4 Configurazione di node per funzionare da inetd

Se si vuole che i propri utenti siano in grado di fare telnet su una porta della macchina e avere accesso a node, lo si può fare piuttosto facilmente. La prima cosa da decidere e a quale porta gli utenti si devono connettere.

Occorre modificare due file.

In /etc/services occorre aggiungere:

node    3694/tcp        #OH2BNS's node software
a in /etc/inetd.conf va aggiunto:
node    stream  tcp     nowait  root    /usr/sbin/node node
Una volta fatto questo, facendo ripartire il programma inetd, ogni utente connesso via telnet alla porta 3694 della macchina riceverà la richiesta di login, l'eventuale richiesta di password e sarà connesso a node.


Avanti Indietro Indice