
Messaggi del kernel in remoto
Il kernel Linux, nella fase di caricamento
del sistema e durante
il suo normale funzionamento, invia
all'utente una serie di messaggi
che, normalmente, all'avvio sono visibili
a video. Molte di queste informazioni
sono relative alla diagnostica dell'hardware
e dei rispettivi moduli, mentre
altri riguardano il funzionamento
vero e proprio del computer. Solitamente
il kernel è impostato in modo
tale da inviare questi messaggi in locale,
ma volendo è possibile modificarne
la configurazione affinché vengano
reindirizzati verso una macchina remota.
Questa caratteristica, sicuramente
poco utile sui computer desktop,
è indispensabile all'interno di un ambiente
di rete perché permette all'amministratore
di monitorare lo stato delle
macchine in remoto, direttamente dalla
propria postazione. Proprio per soddisfare
questa esigenza, l'output del
kernel può essere rediretto verso una
“porta” seriale o, addirittura, alla più
pratica scheda ethernet, quindi alla rete
locale (LAN). In quest'ultimo caso,
il kernel, sfruttando i normali protocolli
di rete (in questo caso UDP), è in
grado di inviare queste informazioni
ad una qualsiasi macchina connessa
alla rete. Basta, infatti, passare al
prompt di boot alcuni particolari parametri.
In particolare, il formato del comando,
decisamente complicato, è
quello seguente:
netconsole=[src-port]@
[src-ip]/[],[tgt
-port]@/[tgt-macaddr]
In pratica, bisogna indicare, nell'ordine,
quanto segue: la porta di rete sorgente
per i dati trasmessi sotto forma
di pacchetti UDP (quella di default è
la 6665), l'indirizzo IP della macchina
sulla quale è installato il kernel che deve
inviare i messaggi e la relativa interfaccia
di rete, la porta da assegnare
al logging agent, cioè la macchina
che riceverà i messaggi, il suo indirizzo
IP e quello MAC (ovvero il codice
identificativo della scheda di rete). Al di
là della apparente complessità, in pratica
è solo necessario caricare il sistema
che deve inviare i messaggi passando
al boot loader (LiLo o Grub) una
direttiva simile a quella seguente:
linux netconsole=
6665@192.168.0.1/eth0,6666@
192.168.0.2/aa:bb:cc:dd:ee:ff
Il trasferimento dei dati avverrà quasi
immediatamente, giusto il tempo che
GNU/Linux attivi il supporto di rete e
la relativa scheda. Dall'altra parte, cioè
sulla macchina alla quale sono destinati
i dati, per visualizzare i messaggi
generati dal kernel basta eseguire il
comando seguente: netcat -u -l -p
.