Introduzione architettura FUSS
Transcript of Introduzione architettura FUSS
16/11/2015 Infrastruttura Tecnica Fuss
Infrastruttura tecnica FUSS
16 Novembre 2015
Christopher R. Gabriel
< cgabriel @ truelite.it >
© 2015 Truelite Srl - La copia letterale e la distribuzione del materiale qui raccolto nella sua integrità sono permesse con qualsiasi mezzo, a condizione che questa nota sia riprodotta.
16/11/2015 Infrastruttura Tecnica Fuss
Agenda
● Componenti e struttura di un ambiente FUSS● Installazione e configurazione● Tool gestionali● Monitoraggio● Troubleshooting
16/11/2015 Infrastruttura Tecnica Fuss
Componenti
● Locali:– Fuss Server– Fuss Client– Octofuss suite
● Remoti:– Repositories– Octomon
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
FUSSSERVER
Rete esterna
LANRouter
WIFI NETWORK
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
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
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
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.
16/11/2015 Infrastruttura Tecnica Fuss
Servizi
DHCP
DNS
HTTP PROXYCACHE
HTTPCONTENT
FILTER
NFS
FIREWALL
LDAP WINDOMAIN
FILESERVER
SSH
WAN LANFUSS SERVER
LINUXCLIENT
WINDOWSCLIENT
WEBSERVER
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
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
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
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.
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
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/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
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
16/11/2015 Infrastruttura Tecnica Fuss
Octofuss Tree$ octofussctl http://192.168.84.9:13400/conf/Username: rootPassword: Welcome to the octofussd client. Queries are sent to http://192.168.84.9:13400/conf//> lscontentfiltersambausersnetpermsfirewallcomputersauthserverinfoclusterhostqueueuserlogupgradesservicesscriptsavahicomputers/> ls /users/users/adminnobody/> ls /computers:actions:workstation1serverubuntu
16/11/2015 Infrastruttura Tecnica Fuss
Octofuss Tree
/> get /users/users/admin
{'uid': 'admin', 'loginShell': '/bin/false', 'enabled': False, 'gidNumber': '0', 'sambaPrimaryGroupSID': 'S-1-5-21-1529128530-807834107-4714568-512', 'sambaSID': 'S-1-5-21-1529128530-807834107-4714568-500', 'gecos': 'Netbios Domain Administrator', 'controllerGroup': None, 'homeDirectory': '/home/admin', 'uidNumber': '0', 'ou': None}
/> set /users/users/admin/loginShell /bin/bash
/> get /users/users/admin
{'uid': 'admin', 'loginShell': '/bin/bash', 'enabled': True, 'gidNumber': '0', 'sambaPrimaryGroupSID': 'S-1-5-21-1529128530-807834107-4714568-512', 'sambaSID': 'S-1-5-21-1529128530-807834107-4714568-500', 'gecos': 'Netbios Domain Administrator', 'controllerGroup': None, 'homeDirectory': '/home/admin', 'uidNumber': '0', 'ou': None}
/> cd /users/users/admin
/users/users/admin> get loginShell
/bin/bash
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
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
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.
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)
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.
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
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.