introduzione architettura fuss

26
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.

Upload: truelite

Post on 25-Jan-2017

59 views

Category:

Software


0 download

TRANSCRIPT

Page 1: 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.

Page 2: Introduzione architettura FUSS

16/11/2015 Infrastruttura Tecnica Fuss

Agenda

● Componenti e struttura di un ambiente FUSS● Installazione e configurazione● Tool gestionali● Monitoraggio● Troubleshooting

Page 3: Introduzione architettura FUSS

16/11/2015 Infrastruttura Tecnica Fuss

Componenti

● Locali:– Fuss Server– Fuss Client– Octofuss suite

● Remoti:– Repositories– Octomon

Page 4: Introduzione architettura FUSS

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

Page 5: Introduzione architettura FUSS

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

Page 6: Introduzione architettura FUSS

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

Page 7: Introduzione architettura FUSS

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

Page 8: Introduzione architettura FUSS

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.

Page 9: Introduzione architettura FUSS

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

Page 10: Introduzione architettura FUSS

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

Page 11: Introduzione architettura FUSS

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

Page 12: Introduzione architettura 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

Page 13: Introduzione architettura FUSS

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.

Page 14: Introduzione architettura FUSS

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

Page 15: Introduzione architettura FUSS

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)

Page 16: Introduzione architettura FUSS

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

Page 17: Introduzione architettura FUSS

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

Page 18: Introduzione architettura FUSS

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

Page 19: Introduzione architettura FUSS

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

Page 20: Introduzione architettura FUSS

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

Page 21: Introduzione architettura FUSS

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

Page 22: Introduzione architettura FUSS

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.

Page 23: Introduzione architettura FUSS

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)

Page 24: Introduzione architettura FUSS

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.

Page 25: Introduzione architettura FUSS

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

Page 26: Introduzione architettura FUSS

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.