<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN"> <HTML> <HEAD> <TITLE>Linux AX25-HOWTO, Amateur Radio.: Configurazione del programma node.</TITLE> <LINK HREF="AX25-HOWTO-15.html" REL=next> <LINK HREF="AX25-HOWTO-13.html" REL=previous> <LINK HREF="AX25-HOWTO.html#toc14" REL=contents> </HEAD> <BODY> <A HREF="AX25-HOWTO-15.html">Avanti</A> <A HREF="AX25-HOWTO-13.html">Indietro</A> <A HREF="AX25-HOWTO.html#toc14">Indice</A> <HR> <H2><A NAME="s14">14. Configurazione del programma <EM>node.</EM></A></H2> <P><EM>node</EM> è stato sviluppato da Tomi Manninen <CODE><tomi.manninen@hut.fi></CODE> 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. <P>Node viene normalmente lanciato dal programma <EM>ax25d</EM>, per quanto possa essere eseguito anche da linea di comando oppure lanciato dal programma TCP/IP <EM>inetd</EM> per permettere agli utenti di fare telnet sulla vostra macchina. <P> <H2><A NAME="ss14.1">14.1 Creazione del file <CODE>/etc/ax25/node.conf</CODE>.</A> </H2> <P>Il file <CODE>node.conf</CODE> è dove viene scritta la configurazione principale del nodo. E' un semplice file di testo ed è formattato nel seguente modo: <P> <BLOCKQUOTE><CODE> <PRE> # /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 </PRE> </CODE></BLOCKQUOTE> <P> <H2><A NAME="ss14.2">14.2 Creazione del file <CODE>/etc/ax25/node.perms</CODE></A> </H2> <P><EM>node</EM> 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 <CODE>node.perms</CODE> 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. <P> <DL> <DT><B>utente</B><DD><P>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. <DT><B>metodo</B><DD><P>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: <BLOCKQUOTE><CODE> <PRE> 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. </PRE> </CODE></BLOCKQUOTE> <DT><B>porta</B><DD><P>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. <DT><B>password</B><DD><P>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. <DT><B>permessi</B><DD><P>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: <P> <BLOCKQUOTE><CODE> <PRE> 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. </PRE> </CODE></BLOCKQUOTE> Per stabilire una regola particolare, occorre sommare i valori dei singoli permessi che si vuole dare e mettere il numero risultante nel quinto campo. </DL> <P>Un file <CODE>nodes.perms</CODE> potrebbe essere il seguente: <P> <BLOCKQUOTE><CODE> <PRE> # /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 </PRE> </CODE></BLOCKQUOTE> <P> <H2><A NAME="ss14.3">14.3 Configurazione di <EM>node</EM> per funzionare da <EM>ax25d</EM></A> </H2> <P>Il programma <EM>node</EM> viene lanciato di solito dal programma <EM>ax25d</EM>. Per fare questo occorre aggiungere delle particolari regole al file <CODE>/etc/ax25/ax25d.conf</CODE>. Nella configurazione che adotto, voglio permettere agli utenti di scegliere se connettersi a <EM>node</EM> o ad altri servizi. <EM>ax25d</EM> consente di fare questo attraverso l'intelligente creazione di alias delle porte. Ad esempio, data la configurazione di <EM>ax25d</EM> presentata sopra, si vuole configurare <EM>node</EM> in modo che venga lanciato per tutti gli utenti che si connettono a <CODE>VK2KTJ-1</CODE>. Per fare questo si aggiunge questo al file <CODE>/etc/ax25/ax25d.conf</CODE>: <BLOCKQUOTE><CODE> <PRE> [vk2ktj-1 via radio] default * * * * * 0 root /usr/sbin/node node </PRE> </CODE></BLOCKQUOTE> Questo dice che il kernel di Linux risponderà ad ogni richiesta di connessione al nominativo `<CODE>VK2KTJ-1</CODE>' sulla porta chiamata `<CODE>radio</CODE>' lanciando il programma <EM>node</EM> <P> <H2><A NAME="ss14.4">14.4 Configurazione di <EM>node</EM> per funzionare da <EM>inetd</EM></A> </H2> <P>Se si vuole che i propri utenti siano in grado di fare telnet su una porta della macchina e avere accesso a <EM>node</EM>, lo si può fare piuttosto facilmente. La prima cosa da decidere e a quale porta gli utenti si devono connettere. <P>Occorre modificare due file. <P>In <CODE>/etc/services</CODE> occorre aggiungere: <BLOCKQUOTE><CODE> <PRE> node 3694/tcp #OH2BNS's node software </PRE> </CODE></BLOCKQUOTE> a in <CODE>/etc/inetd.conf</CODE> va aggiunto: <BLOCKQUOTE><CODE> <PRE> node stream tcp nowait root /usr/sbin/node node </PRE> </CODE></BLOCKQUOTE> Una volta fatto questo, facendo ripartire il programma <EM>inetd</EM>, ogni utente connesso via telnet alla porta 3694 della macchina riceverà la richiesta di login, l'eventuale richiesta di password e sarà connesso a <EM>node</EM>. <P> <HR> <A HREF="AX25-HOWTO-15.html">Avanti</A> <A HREF="AX25-HOWTO-13.html">Indietro</A> <A HREF="AX25-HOWTO.html#toc14">Indice</A> </BODY> </HTML>