Gentoo Logo

Gentoo Network Appliance (GNAP) - Guida Utente

Indice:

1.  Le basi di GNAP

Scopo

Lo scopo è quello di sfruttare l'attuale sistema Gentoo dell'utente (chiamato host, ospite) per creare un LiveCD o un disco con un sistema avviabile per dispositivi di rete, completo di file di configurazione personalizzati, che sia possibile usare per l'avvio di un altro sistema (chiamato target, bersaglio).

GNAP fornisce un immagine di sistema pre-confezionata, chiamata GNAP core (letteralmente, nucleo o cuore di GNAP). E' possibile modificare la configurazione predefinita di questa immagine introducendo nuovi file di configurazione che andranno a sovrascriversi all'immagine di sistema stessa durante l'avvio del target.

Lo script gnap_overlay prende una tarball (ovvero un file generato con l'ausilio del programma di compressione tar) di GNAP core e una o più sorgenti overlay (NdR: le sorgenti overlay, letteralmente "copertura", contengono dati che andranno a sovrascrivere i corrispettivi originali, da cui il termine che sarà mantenuto tale per l'intero documento) da cui o produce un file .iso per la realizzazione di un LiveCD avviabile, oppure scrive un filesystem avviabile su un dispositivo di memorizzazione (tipicamente una scheda CompactFlash o DOM):


Figura 1.1: Come funziona gnap_overlay

Fig. 1: Le basi di gnap_overlay

Le sorgenti overlay

Esistono due tipi di sorgenti overlay che si possono usare con gnap_overlay: directory e file conflet.

Le directory overlay sono solamente cartelle contenenti file che saranno copiati sul filesystem principale durante l'avvio del target. La radice della directory corrisponde alla radice del filesystem del target, quindi contiene normalmente una sottodirectory etc/ dove sono presenti file che saranno copiati sulla cartella /etc del target.

I file Conflet non sono nient'altro che tarball compresse .tar.bz2 contenenti una directory overlay. Di solito contengono configurazioni riutilizzabili su cui sono state applicate modifiche diffuse, così da rendere più facile mantenere diverse configurazioni.

Importante: Attualmente solo le directory /etc, /var, /tmp, /home, /root e /mnt del target sono scrivibili all'avvio del target stesso, il che significa che le sorgenti overlay non possono specificare file al di fuori di queste directory.

Il file overlay.conf

Il file overlay.conf controlla la personalizzazione delle opzioni generali sul target, come le opzioni per la localizzazione e quali caratteristiche dovrebbero essere abilititate sulla macchina GNAP target. Il file deve essere presente in una sorgente overlay (come etc/overlay.conf) oppure lo si deve specificare direttamente con il parametro -c allo script gnap_overlay.

2.  Il primo LiveCD GNAP

Installazione di GNAP

GNAP è disponibile attraverso Gentoo Portage. Baste lanciare emerge come segue (da utente root):

Codice 2.1: Installazione di GNAP

# emerge gnap

Avvertenza: GNAP potrebbe essere disponibile solo in "~x86". Dovrà essere modificato il file /etc/portage/package.keywords se necessario.

Nota: Così facendo verrà recuperato il file GNAP core, che è di solito abbastanza grande (circa 14Mb). Si può però impostare la flag USE "minimal" se non si desidera scaricare lo GNAP core, ma semplicemente installare i gli strumenti forniti con GNAP.

Nota: Gli utenti di altre distribuzioni Linux possono fare riferimento alla guida Using GNAP on non-Gentoo hosts (Utilizzare GNAP su sistemi non-Gentoo).

Preparazione del proprio overlay e del file overlay.conf

In questo tutorial, GNAP verrà usato per realizzare un LiveCD avviabile contenente un Firewall che filtri il traffico ed effettui il NAT per una piccola rete LAN. C'è bisogno di attivare queste caratteristiche in overlay.conf e nei file overlay per la configurazione della rete e del firewall.

Nota: Non c'è bisogno dei privilegi di root per realizzare un LiveCD GNAP.

Prima di tutto, deve essere creata una cartella che verrà utilizzata come radice per la cartella overlay, e le sottodirectory etc/, etc/conf.d/ e etc/firehol:

Codice 2.2: Preparazione delle directory di overlay

$ mkdir myoverlay
$ mkdir myoverlay/etc
$ mkdir myoverlay/etc/conf.d
$ mkdir myoverlay/etc/firehol

Poi creare il file di configurazione della rete (etc/conf.d/net), con un indirizzo verso l'esterno 111.222.111.47 (gateway 111.222.111.254) e verso la LAN 192.168.1.*. Questo file aderisce alla sintassi Gentoo descritta nel file /etc/conf.d/net.example sul sistema dell'utente:

Codice 2.3: Contenuto del file myoverlay/etc/conf.d/net

# Usare la configurazione con la sintassi di iproute2
modules=( "iproute2" )

# L'interfaccia esterna
ipaddr_eth0=( "111.222.111.47/24" )
iproute_eth0=( "default via 111.222.111.254" )

# L'interfaccia interna
ipaddr_eth1=( "192.168.1.254/24" )

Adesso va creato il file di configurazione per il programma firehol che verrà usato come firewall, lasciando passare tutto il traffico in uscita dalla LAN ma non il traffico in ingresso:

Codice 2.4: Contenuto del file myoverlay/etc/firehol/firehol.conf

version 5
interface eth0 internet
interface eth1 lan
router lan2internet inface eth1 outface eth0
  masquerade
  route all accept

Infine, è necessario scrivere un file overlay.conf per indicare a GNAP che dovrà usare due schede di rete, ed eseguire uno script per il firewall firehol all'avvio:

Codice 2.5: Contenuto del file myoverlay/etc/overlay.conf

# Usare due schede di rete
NBCARDS=2

# Avviare lo script del firewall 'firehol' all'avvio
USE_FW=yes
FW_TYPE=firehol

Generazione del file .iso, realizzazione del CD-R

Il prossimo passo è l'uso dello script gnap_overlay per combinare la directory overlay myoverlay e lo GNAP core in modo da produrre un file myfirewall.iso contenente l'immagine del LiveCD per il sistema target. Questo lo si può fare con il comando:

Codice 2.6: Creazione del file .iso

$ gnap_overlay -i myfirewall.iso -o myoverlay/

L'immagine myfirewall.iso risultante deve essere masterizzata in un CD-R (o meglio, un CD-RW) usando il proprio strumento di masterizzazione preferito, per esempio:

Codice 2.7: Masterizzazione del file .iso, YMMV

$ cdrecord -v -eject speed=4 dev=/dev/hdc myfirewall.iso

Test del sistema GNAP risultante

Una volta che il CD-R è pronto, inserirlo nel sistema target e usarlo per l'avvio. Per sistemi meno recenti non dovrebbero esserci problemi, GNAP dovrebbe avviarsi con successo su sistemi 486 con meno di 32Mb di RAM.

Nota: Il BIOS del sistema target dovrebbe ovviamente essere configurato per l'avvio da CD-ROM.

Durante l'avvio, sono visibili i messaggi specifici di GNAP, mentre gli initscript (script d'inizializzazione, presenti sul sistema target in /etc/init.d/overlay) si occupano dei file di overlay e processano le opzioni in overlay.conf. Se la configurazione non è corretta, è possibile variare il contenuto della directory myoverlay/, creare nuovamente l'immagine .iso, masterizzarla, quindi riavviare il sistema target con il nuovo LiveCD.

3.  Ulteriori personalizzazioni

Manutenzione degli overlay

Nella precedente sezione, è stato usata una singola sorgente overlay (la directory myoverlay/), rendendo difficile gestire più configurazioni diverse con caratteristiche comuni condivise. Lo script gnap_overlay accetta opzioni -o multiple, quindi si possono usare cartelle diverse e più file conflet per formare una singola configurazione:

Codice 3.1: Utilizzo di diverse sorgenti overlay

$ gnap_overlay -i myfirewall.iso -o common/ -o specific/ -o mypublickey.tbz2

Piuttosto che includere un file etc/overlay.conf in una delle sorgenti overlay, è possibile specificare il nome di un file da usare come overlay.conf nel proprio sistema GNAP, sfruttando l'opzione -c:

Codice 3.2: Utilizzo di un file overlay.conf separato

$ gnap_overlay -i myfirewall.iso -c firewall.conf -o overlay2/

Per tenere traccia dei cambiamenti alla configurazione, è possibile usare direttamente CVS sulle cartelle overlay. Lo script gnap_overlay ignorerà automaticamente le directory di controllo di CVS e non le copierà sul sistema target.

Internazionalizzazione

Due opzioni nel file overlay.conf controllano il timezone, ovvero il fuso orario (impostato in modo predefinito su UTC), e la keymap, ovvero la mappa dei caratteri (che assume in modo predefinito il layout di tastiera 'us'), usati sul sistema target:

  • TIMEZONE: Se si desidera usare un altro timezone piuttosto che UTC, sarebbe necessario leggere questa pagina per determinare il codice timezone appropriato compatibile con uclibc.
  • KEYMAP: Se si vuole potere effettuare il login in locale, potrebbe essere necessario cambiare il layout predefinito della tastiera ('us') in qualcosa di più appropriato. Esiste un completo albero di keymap in /usr/share/keymaps da cui scegliere.

Codice 3.3: Esempio di opzioni per l'internazionalizzazione in overlay.conf

# Usare il fuso orario dell'Europa Centrale (UTC+1) con le normali regole dell'orario estivo
TIMEZONE=CET-1CEST

# Usare un layout di tastiera francese
KEYMAP=fr

Configurazione di rete

È stata già discussa l'opzione NBCARDS in overlay.conf, la quale specifica quante schede di rete devono essere avviate, e si è parlato della necessità di fornire un file etc/conf.d/net nei propri overlay per fornire i dettagli della configurazione statica per la rete. Saranno ora discusse le altre opzioni e i file overlay tipici che possono essere usati per raffinare ulteriormente la configurazione di rete:

  • IP_RELAY: Dovrebbe essere impostato a yes (si) se si vuole trasmettere gli IP alle proprie schede di rete. Utile nei casi in cui si voglia eseguire un gateway senza uno script di firewall.
  • NTPSERVER: Permette di specificare il nome di un server NTP da utilizzare come riferimento temporale per poter trattare in modo corretto il tempo sul sistema target.
  • USE_PPPOE: Indica che si dovrebbe eseguire rp-pppoe durante l'avvio.
  • etc/resolv.conf: Questo file può contenere la configurazione per i DNS relativa al sistema.
  • etc/hosts: File complementare o alternativo rispetto a etc/resolv.conf, contiene informazione statiche per la risoluzione dei nomi.
  • etc/conf.d/hostname: Questo file può essere usato appositamente per assegnare un nome specifico al sistema target. Il file etc/hosts dovrebbe essere adattato appositamente.

Nota: Se non viene specificata una configurazione in etc/conf.d/net, il sistema userà il DHCP per ottenere la configurazione di rete relativa alle interfacce mancanti.

Firewall, controllo del traffico

L'abilitazione dello script di firewall è controllata dall'opzione USE_FW=yes. Di base, GNAP utilizzerà Shorewall, un programma di supporto eccellente e completo per iptables. È possibile impostare l'opzione FW_TYPE=firehol per utilizzare Firehol, uno script semplice ma efficente.

Se si decide di usare Shorewall, andrebbero sovrascritti i file nella directory etc/shorewall per personalizzarne il comportamento, in particolare di dovrebbe pensare di modificare i file interfaces, zones, policy e shorewall.conf . Se invece si decide di usare Firehol, deve essere personalizzato il file etc/firehol/firehol.conf.

È possibile abilitare lo script di controllo del traffico usando l'opzione USE_TC=yes. In modalità predefinita, GNAP userà cbqinit, un semplice ma talvolta inefficiente programma di supporto al controllo del traffico. Piuttosto è possibile utilizzare htbinit, uno script più complesso ma anche più efficiente, impostando l'opzione TC_TYPE=htbinit.

Se si utilizza cbqinit, devono essere sovrascritti i file nella directory etc/cbqinit per personalizzarne il comportamento, seguendo le istruzioni riportate da /usr/sbin/cbqinit. Se si decide invece di utilizzare htbinit, devono essere creati dei file in etc/htbinit seguendo le istruzioni riportate da /usr/sbin/htbinit.

Servizi di GNAP

Gnap offre diversi servizi standard. Il primo è il server SSH Dropbear, che permette il controllo da remoto del sistema GNAP. Viene abilitato utilizzando l'opzione USE_SSH=yes. Le funzioni di Dropbear sono controllate attraverso il file etc/conf.d/dropbear. È consigliabile sovrascrivere le chiavi RSA/DSS fornite per il server in etc/dropbear (in modo che non vengano ricreate dopo ogni avvio).

Un altro servizio è la cache DNS / il server DHCP DnsMasq, che mette a disposizione un risolutore DNS (per mappare nomi in indirizzi) e capacità di DHCP sulla LAN (per l'assegnamento automatico degli indirizzi agli host). È attivabile usando l'opzione USE_DNSDHCP=yes, e configurandolo attraverso il file etc/dnsmasq.conf.

Un ulteriore servizio che GNAP mette a disposizione è la soluzione VPN OpenVPN. Questo altro non è che una soluzione per VPN semplice ma completa di ogni caratteristica che potrà aiutare nella realizzazione di un connessione sicura (detta bridge, o ponte) fra LAN attraverso reti insicure, non fidate. La si può abilitare usando l'opzione USE_VPN=yes, nel cui caso andrebbero sovrascritti i file nella directory etc/openvpn con la configurazione desiderata per OpenVPN.

Infine, esiste la possibilità di definire servizi extra da utilizzare all'avvio di GNAP. Ci sono due modi per farlo: usando l'opzione START_SERVICES in overlay.conf o utilizzando il file etc/gnap/start_services:

Codice 3.4: Definizione dei servizi iptables e boa tramite overlay.conf

# Avviare iptables e boa all'avvio
START_SERVICES="iptables boa"

Codice 3.5: Esempio di etc/gnap/start_services per l'avvio di iptables e boa

iptables boa

Account e password

GNAP opera più o meno come un'applicazione a scatola chiusa nella modalità predefinita. In ogni caso, potrebbe esserci la necessità di loggarsi al suo interno. Di norma, non sono definiti account utente, e l'account per l'amministratore (utente root) ha una password impossibile, il che rende impossibile loggarsi. Ci sono diversi modi per cambiare questo comportamento:

È possibile impostare una password di root vuota, utile per esempio in configurazioni di test, sfruttando l'opzione EMPTY_ROOTPASS=yes.

Il modo più sicuro per accedere all'interno di GNAP è quello di eseguire il server SSH Dropbear in modalità a chiave pubblica. Sarà necessario configurare Dropbear per disabilitare il login con password (in etc/conf.d/dropbear) e aggiungere la propria chiave pubblica al file root/.ssh/authorized_keys:

Codice 3.6: Contenuto di etc/conf.d/dropbear per disabilitare l'autenticazione con password

DROPBEAR_OPTS="-s"

Nota: Il file /usr/lib/gnap/examples/conflets/dropbear_nopasswd.tbz2, aggiunto durante l'installazione di GNAP, è un file conflet contenente il sostituto necessario per sovrascrivere etc/conf.d/dropbear.

Se si vuole anche cambiare la password per gli utenti di sistema, lo si può fare sovrascrivendo un file etc/gnap/chpasswd contenente linee nome_utente:password_cifrata che verranno aggiunte con chpasswd -e durante l'avvio. Leggere man chpasswd per i dettagli sul formato di questo file.

Supporto per il salvataggio dei cambiamenti alla configurazione durante una sessione dal vivo

Un problema che potrebbe essere riscontrato con i sistemi GNAP usando configurazioni dinamiche (come quelle dei firewall) è che tutti i cambiamenti fatti durante una sessione dal vivo saranno persi al prossimo riavvio. Una possibile soluzione è quella di riportare tutti questi cambiamenti sulle directory di overlay del sistema host e assicurarsi di masterizzare un nuovo CD-R con la nuova configurazione prima del prossimo riavvio, ma non è molto pratico. Un'alternativa è l'uso di una partizione in lettura/scrittura e del sistema RW_SYNC per il backup dei cambiamenti così da poterli recuperare automaticamente da un dato account al prossimo riavvio.

Per abilitare questo sistema, è necessario aggiungere l'opzione RW_SYNC al proprio file overlay.conf, così da farla puntare alla partizione r/w che si desidera utilizzare. GNAP supporta le partizioni FAT ed ext2:

Codice 3.7: Contenuto di RW_SYNC per il backup su floppy disk

RW_SYNC=/dev/fd0

Durante il primo avvio, quando l'opzione risulta attivata ma nessun file di backup è presente ancora sulla partizione puntata da RW_SYNC, l'utente riceverà il seguente errore durante l'inizializzazione del sistema target, messaggio che si può ignorare senza problemi:

Codice 3.8: Errore innocuo ricevuto al primo avvio con l'opzione RW_SYNC

* Sync rw-sync changes to /dev/fd0 ...
* Missing gnap_sav.tgz or gnap_md5.sum file : aborting             [ !! ]

Una volta che l'opzione RW_SYNC è abilitata, è possibile sfruttare lo script di supporto rw-sync.sh sul sistema GNAP target per specificare quali file salvare. C'è bisogno solamente di indicare i file una volta così che questi vengano aggiunti al file rw-sync.cfg per i backup successivi.

Importante: Non dimenticare di aggiungere il file /etc/rw-sync.cfg alla lista di backup così da poterlo recuperare al prossimo riavvio.

Codice 3.9: Indicazione dei file e delle directory per il backup

# rw-sync.sh -a /etc/rw-sync.cfg
# rw-sync.sh -a /etc/shorewall/

Adesso è possibile effettuare il backup dei file ogni volta dopo una modifica usando il comando seguente:

Codice 3.10: Backup sulla partizione in lettura/scrittura

# rw-sync.sh -w

Per maggiori informazioni su rw-sync.sh, basta eseguirlo senza alcuna opzione in modo da visualizzare le istruzioni.

4.  Output su disco

Obiettivi e requisiti

Nel capitolo precedente, è stato usato GNAP per produrre un LiveCD avviabile con un sistema per dispositivi di rete su di esso. GNAP può anche essere usato per inizializzare un disco con un filesystem personalizzato per dispositivi di rete, pronto per essere montato su un sistema target e avviato.

Questa modalità di utilizzo può essere sfruttata per inizializzare dischi rigidi che possono così essere montati su sistemi con basse prestazioni, ma sono particolarmente utili per piccoli dispositivi target come gli strumenti forniti da Soekris che possono essere avviati da una scheda CompactFlash, o altri sistemi embedded che verranno avviati da un bus IDE (Disk-On-Module, Disk-On-Chip...).

Per questa modalità di utilizzo, è necessario eseguire gnap_overlay con i privilegi di root per poter così manipolare i dispositivi di memorizzazione a basso livello. È anche leggermente più complicato e pericoloso da utilizzare, quindi fare attenzione ed usare questo metodo a proprio rischio e pericolo.

Preparazione dei dispositivi

Precedentemente all'esecuzione di gnap_overlay per la prima volta su un componente, bisogna preparare il dispositivo target. Si dovrebbe collegare il disco rigido, la scheda CF (CompactFlash) o altri componenti che si desidera usare sul sistema host e determinare qual'è il nome dell'elemento montato (i log di sistema possono risultare utili in questo caso). Non c'è bisogno di montare i componenti. Negli esempi che seguono si suppone che il disco target risulti disponibile sul sistema host come /dev/sdb.

Se non lo si ha ancora fatto, è necessario partizionare il dispositivo. La partizione dove GNAP installerà il filesystem dovrebbe essere marcata come "attiva" ed essere grande abbastanza da contenere GNAP stesso. In caso di dubbi, creare una singola partizione di 16Mb, e attivarla.

Codice 4.1: Partizionamento del disco target /dev/sdb

# fdisk /dev/sdb

Il disco potrebbe anche avere un Master Boot Record (MBR) installato, che permetterà al sistema di avviarsi. Se non si è sicuri, è possibile installare un MBR utilizzando il seguente comando:

Codice 4.2: Installazione di un MBR sul disco target /dev/sdb

# dd if=/usr/lib/gnap/mbr/mbr.bin of=/dev/sdb bs=512 count=1

Nota: Sarà sufficiente preparare il dispositivo una sola volta, sarà possibile poi eseguire più volte il comando gnap_overlay su di esso dal momento in cui è stato preparato.

Utilizzo di gnap_overlay per la scrittura su disco

In modalità disco, bisogna passare due opzioni a gnap_overlay. Una è il nome completo della partizione del disco target così come viene indicata sul sistema host (opzione -d), l'altra è lo short-name (identificativo) della partizione sul disco target così come viene indicata dal sistema target all'avvio (opzione -r). La distinzione risulta abbastanza importante, di seguito viene riportato un esempio.

Supponiamo di voler installare un sistema GNAP su una scheda CF, così da usarla per avviare un dispositivo Soekris. Inserendola nel sistema host (quello su cui verrà eseguito gnap_overlay), sarà riconosciuta come /dev/sdb, per cui creareuna singola partizione su di essa, /dev/sdb1. Quindi nel caso di questo esempio, il nome completo della partizione sul disco target così come indicato sul sistema host è /dev/sdb1.

D'altro canto, è risaputo, da test o specifiche, che il componente Soekris riconoscerà la scheda CF inserita al suo interno come /dev/hda. Quindi l'identificativo della partizione sul disco target così come indicato sul sistema target durante l'avvio è "hda1".

Per inizializzare un disco con una configurazione GNAP, si deve semplicemente sostituire l'opzione -i (utilizzata per costruire un file iso per LiveCD) con le giuste opzioni -d e -r:

Codice 4.3: Inizializzazione della partizione /dev/sdb1

# gnap_overlay -d /dev/sdb1 -r hda1 -o myoverlay/

Nota: La partizione sul disco target (opzione -d) potrebbe non risultare montata. Lo script gnap_overlay la monterà quando necessario.

Opzioni specifiche

Due opzioni possono essere utili in caso di sistema target embedded (per sistemi embedded, o incapsulati, si indicano sistemi specifici inseriti ed integrati con il sistema che li ospita). Una è data dal parametro opzionale -m che può venire utilizzato per indicare a GNAP di riportare in memoria il filesystem una volta all'avvio per evitare accessi multipli in lettura che possono usurare il dispositivo (o renderlo troppo lento).

L'altra consiste nel parametro -s che può essere utilizzato per indicare a GNAP di inviare la console alla porta seriale, con uno specifico baudrate. Risulta essere particolarmente utile per dispositivi con sola porta seriale come appunto i dispositivi Soekris.

Codice 4.4: Riduzione degli accessi in lettura e utilizzo di una console seriale con baudrate pari a 19200

# gnap_overlay -d /dev/sdb1 -r hda1 -o myoverlay/ -m -s 19200

Scrittura file immagine del disco

Si potrebbe volere scrivere su un file immagine del disco piuttosto che lavorare direttamente su quest'ultimo. Ciò è reso possibile dall'opzione -l: questa permette di specificare il nome del file immagine del disco su cui scrivere. Le opzioni della modalità disco (ad eccezione dell'opzione -d) saranno applicate in modalità immagine.

Codice 4.5: Scrittura su un pre-esistente file immagine del disco nominato myimagefile.img

# gnap_overlay -l myimagefile.img -r hda1 -o myoverlay/ -m -s 19200

Avvertenza: Sul file immagine del disco è supportato l'uso di una sola partizione.

Alternativamente si può chiedere a GNAP di creare un file immagine del disco usando l'opzione -L. Il file immagine ha dimensione predefinita pari a 15 Mb, ma si può specificarne una alternativa usando l'opzione -S:

Codice 4.6: Scrittura su una nuova immagine del disco chiamata newimagefile.img

# gnap_overlay -L newimagefile.img -S 14 -r hda1 -o myoverlay/

5.  Uso delle estensioni

Estensioni e nuova realizzazione

si potrebbe volere aggiungere caratteristiche particolari al proprio sistema GNAP per dispositivi di rete. Il modo più semplice per farlo è l'uso delle estensioni, piccoli pacchetti software che aggiungono funzionalità ad un sistema GNAP.

L'estensioni sono file compressi .tar.bz2 con nomi standardizzati. Vengono installati in /usr/lib/gnap/extensions e sono chiamati gnapext_[nome].tbz2. L'estensione boa, per esempio, è in realtà il file /usr/lib/gnap/extensions/gnapext_boa.tbz2.

Il programma gnap_remaster combina un file contenente un filesystem GNAP di base, uno file GNAP core esistente e estensioni per creare un nuovo file GNAP core che contenga le estensioni scelte dall'utente. Quindi, sarà possibile usare il file GNAP core esteso ottenuto con gnap_overlay per creare sistemi specifici che facciano uso di funzionalità extra.


Figura 5.1: Come funziona gnap_remaster

Fig. 1: Principi di gnap_remaster

Installazione del pacchetto di estensione per GNAP

Il pacchetto di estensione per GNAP, che installa il programma gnap_remaster, il file basefs di GNAP e le estensioni predefinite (tutto il necessario per lavorare con le estensioni), è disponibile attraverso Portage. Si raccomanda di installare la versione corrispondente alla propria versione del pacchetto GNAP.

Codice 5.1: Installazione del pacchetto di estensione per GNAP

# emerge gnap-ext

Avvertenza: Il programma gnap-ext potrebbe essere disponibile solamente in "~x86". Se necessario modificare il proprio file /etc/portage/package.keywords.

Nota: Verrà recuperato così il file basefs di GNAP, che ha dimensioni abbastanza grandi (circa 9Mb). È possibile impostare la USE flag "minimal" se non si desidera scaricare il file basefs e il pacchetto di estensioni predefinito, ma solamente il programma gnap_remaster.

Generazione di un file GNAP core con estensioni

Si può invocare gnap_remaster con i nomi delle estensioni necessarie, da utente root. Questo porterà alla creazione di un file core rimaneggiato dal nome mynewcore.tar con in aggiunta le estensioni richieste:

Codice 5.2: Generazione del file GNAP core, con aggiunta l'estensione per boa

# gnap_remaster -e boa -o mynewcore.tar

Nota: Si deve utilizzare il nome delle estensioni, non il nome del file. È possibile combinare opzioni -e multiple contemporaneamente.

Utilizzo di gnap_overlay su un file GNAP core specifico

È facile fare in modo che gnap_overlay utilizzi il file core appena creato invece che quello predefinito. Basta usare l'opzione -g:

Codice 5.3: Imporre a gnap_overlay l'utilizzo del file core creato a mano

$ gnap_overlay -g mynewcore.tar -i myfirewall.iso -o myoverlay/

Nota: Il programma gnap_remaster può essere usato anche su moduli creati dall'utente: estensioni, minkernpackages e modulespackages. Per favore si legga la GNAP Guida Utente Avanzata (ndT: in inglese( per maggiori informazioni in merito all'argomento.

6.  Riferimenti per GNAP

overlay.conf

Opzioni Valori Valore predefinito
EMPTY_ROOTPASS Se impostato a yes (si), la password dell'utente root sarà vuota e chiunque tramite terminale potrà accedere al sistema come tale utente. Dovrebbe essere usata principalmente per scopi di test del sistema. no
FW_TYPE Impostare su shorewall o firehol in merito a quale sistema firewall si desidera utilizzare. shorewall
IP_RELAY All'avvio deve essere attiva la trasmissione degli IP ? no
KEYMAP Valore per la mappa dei caratteri su console. us
NBCARDS Numero di schede di rete connesse che si vogliono avviare. 1
NTPSERVER Nome del server NTP da usare come sorgente per la sincronizzazione temporale. vuoto (il tempo non è sincronizzato tramite NTP)
RW_SYNC Percorso della partizione in lettura/scrittura da usare per il salvataggio dei file di configurazione modificati utilizzando rw_sync.sh vuoto (non è usato il sistema di backup RW_SYNC)
START_SERVICES Lista dei servizi extra da eseguire all'avvio. Utile per avviare servizi dalle estensioni (come boa). vuoto (nessun servizio extra)
TC_TYPE Impostare su cbqinit o htbinit in merito al sistema di controllo del traffico che si desidera usare. cbqinit
TIMEZONE Il codice di fuso orario compatibile con uclibc. vuoto (UTC)
USE_DNSDHCP Impostare a yes per avere il demone DNSMasq esguito all'avvio. no (non eseguito)
USE_FW Impostare a yes per avere lo script del firewall eseguito all'avvio. Vedere l'opzione FW_TYPE. no (non eseguito)
USE_PPPOE Impostare a yes per avere il demone rp-pppoe eseguito all'avvio. no (non eseguito)
USE_SSH Impostare a yes per avere il demone Dropbear eseguito all'avvio. no (non eseguito)
USE_TC Impostare a yes per avere lo script di controllo del traffico eseguito all'avvio. Vedere l'opzione TC_TYEP. no (non eseguito)
USE_VPN Impostare a yes per avere il demone OpenVPN eseguito all'avvio. no (non eseguito)

File specifici di GNAP da sovrascrivere sul sistema target

Oltre al file etc/overlay.conf, GNAP usa diversi file aggiuntivi sul sistema target, di cui una lista è sotto riportata:

File sovrascritti Scopo Esempio di contenuti
etc/rw_sync.conf Il file di controllo di rw_sync.sh, contiene i file e le directory di cui dovrebbe essere fatto il backup. Probabilmente, si vorrà usare rw_sync.sh per modificarne il contenuto.
etc/gnap/start_services Contiene una lista di nomi di servizi (separati da spazi bianchi) che il sistema target dovrebbe in aggiunta eseguire al proprio avvio. Questi servizi devono esistere come script in /etc/init.d sul sistema target. iptables
etc/gnap/chpasswd Rappresenta un file che sarà riempito da chpasswd -e all'avvio per inizializzare le password nel sistema. Dovrebbe contenere una lista di linee nome_utente:password_cifrata. root:$1$o0YB.OW/$llYLxHFYX5DQrZF7FZicJ0

Opzioni di gnap_overlay e gnap_remaster

Si prega di fare riferimento alla pagina di manuale per informazioni su tutte le opzioni disponibili con questi comandi:

Codice 6.1: Recupero di maggiori informazioni su gnap_overlay o gnap_remaster

$ man gnap_overlay
$ man gnap_remaster


Stampa

Aggiornato il 20 aprile 2006

Oggetto: Questo documento descrive come usare GNAP, uno strumento con cui realizzare sistemi per dispositivi di rete basati su Gentoo.

Thierry Carrez
Autore

Michele Caini
Traduzione

Donate to support our development efforts.

Copyright 2001-2014 Gentoo Foundation, Inc. Questions, Comments? Contact us.