Una panoramica sulla infrastruttura tecnica dei sistemi FUSS GNU/Linux.
Relatore: Christopher R. Gabriel
Evento: Introduzione architettura FUSS - 16 Novembre 2015
2. 16/11/2015 Infrastruttura Tecnica Fuss
Agenda
● Componenti e struttura di un ambiente FUSS
● Installazione e configurazione
● Tool gestionali
● Monitoraggio
● Troubleshooting
4. 16/11/2015 Infrastruttura Tecnica Fuss
Fuss Server
● Obiettivo: ridurre al minimo complessità, tempo
e difficoltà di installazione di un ambiente
server con tutti i servizi necessari
● Costruito su modello standard per singola
scuola
FUSS
SERVER
Rete esterna
LANRouter
WIFI NETWORK
5. 16/11/2015 Infrastruttura Tecnica Fuss
Requisiti Rete
● La macchina server deve prevedere un minimo
di 2 interfacce di rete fisica (LAN/green,
WAN/red) con l'opzione di una terza per la
gestione dell'ambito WIFI/blue.
● WAN può usare DHCP o indirizzamento statico
● LAN è decisa autonomamente rispetto al
contesto locale, sia per indirizzamento che per
dimensioni
6. 16/11/2015 Infrastruttura Tecnica Fuss
Servizi
● FUSS Server si preoccupa di configurare uno
stack standard di servizi
● Fornisce, tramite le dipendenze, tutto i
pacchetti software necessari
● Wizard di configurazione che genera file di
configurazione, da cui dipendono tutte le
configurazioni successive
7. 16/11/2015 Infrastruttura Tecnica Fuss
Servizi
● LDAP - Autenticazione centralizzata
● DNS - Gestione host rete locale e cache per rete
pubblica
● DHCP - Range configurabile per indirizzamento
dinamico, con auto-update del DNS.
● Network File System - Condivisione sulla rete
LAN delle directory home degli utenti
● Windows Primary Domain Controller
8. 16/11/2015 Infrastruttura Tecnica Fuss
Servizi
● Apache HTTPD Web server
● IP stateful firewall e router
● HTTP Proxy Cache
● HTTP Proxy Content Filter
● Proxy Secure Shell
Tutti i servizi sono implementati con componenti standard
disponibili sul sistema, l'automazione riguarda la
configurazione di questi. Ogni personalizzazione
successiva è permessa per adattarsi al contesto specifico.
9. 16/11/2015 Infrastruttura Tecnica Fuss
Servizi
DHCP
DNS
HTTP PROXY
CACHE
HTTP
CONTENT
FILTER
NFS
FIREWALL
LDAP
WIN
DOMAIN
FILE
SERVER
SSH
WAN LANFUSS SERVER
LINUX
CLIENT
WINDOWS
CLIENT
WEB
SERVER
10. 16/11/2015 Infrastruttura Tecnica Fuss
Fuss Server
# fuss-server create
Avvia il processo di configurazione dei servizi a
partire dal file di configurazione
/etc/fuss-server/fuss-server.conf
Se il file di configurazione non è presente o non
contiene le informazioni richieste, viene avviato
wizard di configurazione
11. 16/11/2015 Infrastruttura Tecnica Fuss
Fuss Client
● Obiettivo: ridurre al minimo complessità, tempo
e difficoltà di installazione di una postazione
client GNU/Linux, per inserirla nel contesto di
una rete gestita da un Fuss Server
● Installa tutti i componenti software necessari
● Esegue la configurazione della macchina a
partire dalle informazioni fornite dal server
FUSS
12. 16/11/2015 Infrastruttura Tecnica Fuss
FUSS Client - Configurazione
● Autenticazione degli utenti tramite server LDAP
● Download e installazione dei certificati SSL
necessari
● Mount delle directory HOME tramite NFS
● Installazione chiavi di autenticazione SSH
● Sincronizzazione NSCD
● Inserimento in configurazione cluster
● Creazione di utente locale di amministrazione
13. 16/11/2015 Infrastruttura Tecnica Fuss
FUSS Client - Configurazione
● Configurazione minimale ambiente desktop
● Registrazione su server DHCP/DNS
● Rimozione di utenze locali di test/installazione
Tutte le operazioni possono essere annullate,
riportando la macchina allo stato iniziale.
14. 16/11/2015 Infrastruttura Tecnica Fuss
FUSS Client - Opzioni
● -n Non utilizzo di HOME condivise, ma
creazione di directory locali
● -a Configurazione della postazione
● -r Annulla la configurazione della postazione
● -g Specifica cluster di inserimento
15. 16/11/2015 Infrastruttura Tecnica Fuss
Cluster?
● Cluster: indica un gruppo di macchine presenti
sulla Lan. Questa configurazione, in parte
automatizzata, permette l'utilizzo di strumenti
(già installati) per facilitare l'amministrazione di
gruppi di macchine. Ad esempio, posso creare
un cluster di macchine per ogni aula presente
nella scuola.
● Oltre agli strumenti integrati, possono essere
gestiti tramite tool di terze parti (es. cluster-
ssh)
16. 16/11/2015 Infrastruttura Tecnica Fuss
Octofuss Suite
● Suite di applicazioni di gestione e raccolta dati
● Componenti client: octofuss, octofuss-
ctl, octofuss-client (, octonet)
● Componente server: octofussd
● Struttura client/server su API HTTP simil-REST
● Strutturato per plugin
● Autorizzazioni per singolo plugin
17. 16/11/2015 Infrastruttura Tecnica Fuss
octofussd
● Installato su FUSS Server, responsabile della
gestione e distribuzione dei dati, e di eseguire
task di amministrazione
● Tutti i plugin vengono inseriti in un albero dati
coerente
● Operazioni simil-REST (xmlrpc + json):
– Navigazione: cd, list, ls
– Gestione: create, delete, get, has, set
– Varie: doc, has, quit
18. 16/11/2015 Infrastruttura Tecnica Fuss
Octofuss Tree
$ octofussctl http://192.168.84.9:13400/conf/
Username: root
Password:
Welcome to the octofussd client. Queries are sent to http://192.168.84.9:13400/conf/
/> ls
contentfilter
samba
users
netperms
firewall
computers
auth
serverinfo
cluster
hostqueue
userlog
upgrades
services
scripts
avahicomputers
/> ls /users/users/
admin
nobody
/> ls /computers
:actions:
workstation1
server
ubuntu
20. 16/11/2015 Infrastruttura Tecnica Fuss
octofuss-client
● Componente installato su tutti le macchine
client, per la comunicazione verso octofussd
in modo trasparente
● Trasmette dati relativi alla macchina per
aggregazione sul server, ed eventuale
trasmissione successiva
● Riceve istruzioni e comandi da octofussd
21. 16/11/2015 Infrastruttura Tecnica Fuss
octofuss
● Accesso a octofussd tramite interfaccia grafica
Gtk/X-Window
● Utilizzabile tramite tunnel di rete
● Componenti attivati sulla base di quanto offerto
dal server e dalle autorizzazioni per l'utente
● Permette facilmente la delega alla gestione di
aspetti della rete
22. 16/11/2015 Infrastruttura Tecnica Fuss
octofussctl
● Accesso a octofussd tramite CLI
● Permette esecuzione di operazioni complesse
in batch, tramite scripts
● Utilizzabile da remoto con minor utilizzo di
banda
● OCTOFUSS_USER / OCTOFUSS_PASSWORD
nell'enviroment per automatizzare il processo
di autenticazione.
23. 16/11/2015 Infrastruttura Tecnica Fuss
Componenti aggiuntive
● fuss-desktop-control: permette il
controllo del desktop remotamente (blocco del
display, invio di messaggi, raccolta
informazioni per inventario relative al monitor)
24. 16/11/2015 Infrastruttura Tecnica Fuss
Componenti Remote
● L'infrastruttura è completata da una struttura
remota ospitata sul server centrale di FUSS
● Repository: repository di pacchetti software
sviluppati e/o realizzati all'interno di Fuss, quali
metapackages per software didattico, fuss-
{server,client}, octofuss, e altro
● Octomon: aggregatore di informazioni relative
alle installazioni di fuss, a fini di inventario e
statistico.
25. 16/11/2015 Infrastruttura Tecnica Fuss
Octomon
● Il pacchetto octomon-sender raccoglie
informazioni relative a server e macchine
collegate ad esso sulla LAN
● Invia i dati, con cadenza settimanale, con
cifratura e firma SSL verso servizio centrale,
octomon.fuss.bz.it
26. 16/11/2015 Infrastruttura Tecnica Fuss
Octomon
● I dati raccolti vengono salvati sul servizio
remoto e processati per analisi
● Permette visualizzazione dello stato dei servizi,
e la consultazione di dati statistici rispetto a
questi
● Permette di creare allarmi sulla base dell'analisi
dei dati
● Fornisce un notebook di appunti relativi alle
singole macchine, e relativo time-tracking.