Strumenti Utente

Strumenti Sito


roberto.alfieri:user:reti:netlab

Laboratorio Virtuale NETLAB 19/20

Server virtualizzazione

Per le attività di laboratorio utilizziamo un cluster di nodi linux, virtualizzati con VMware ESXi

Server: Fujitsu Siemens 2x4 cores @2.33GHz, 18GB ram. DataStore 537 GB.

I nodi sono denominati netlab1, netlab2, ecc e sono connessi ad una rete privata (192.168.0.0/24) e isolata dalla rete di Ateneo tramite il nodo netlab.fis.unipr.it, dotato di due interfacce di rete e del servizio di NAT.

Tutti gli host montano CentOS7

Accesso

Per poter accedere ai nodi occorre essere inseriti in uno specifico DataBase LDAP dedicato al corso.

Una volta abilitati l'accesso avviene via SSH sull'host di login

ssh <uid>@netlab.fis.unipr.it 

Accesso con password

L'accesso con password è consentito solo all'interno della rete di Ateneo (160.78.0.0/16) e della rete del Gruppo Collegato INFN di Parma (192.135.11.0/24). Al di fuori di questo contesto è necessario utilizzare la VPN di Ateneo oppure l'accesso con chiave pubblica.

Accesso password-less tra i nodi

Vedi anche: https://www.hpc.unipr.it/dokuwiki/doku.php?id=calcoloscientifico:userguide#password-less_access_among_nodes

Per utilizzare i nodi interni è necessario eliminare la necessità di utilizzare la password, utilizzando l'autenticazione a chiave pubblica.

Il client che deve autenticarsi genera una coppia di chiavi (chiave pubblica e chiave privata) con un tool opportuno che puo' essere diverso a seconda del tipo di client.

  • La chiave pubblica deve essere riportata sul server nel file authorized_keys.
  • La chiave privata deve restare sul client e deve essere associata alla sessione per la connessione verso il server.

Sul cluster netlab tutti i nodi (netlab, netlab1, ..) condividono la stessa home directory, quindi la configurazione personale di ssh e' sia per client che per server.

Occorre generare su netlab.fis.unipr.it la coppia di chiavi, senza passphrase, e aggiungere la chiave pubblica nel file di autorizzazione (authorized_keys):

Generazione delle chiavi.

ssh-keygen -t rsa

Accettare i default premendo invio piu' volte.

La chiave pubblica viene scritta in un file con nome id_rsa.pub e conterra' un' unica lunga riga del tipo:

 ssh-rsa AAAAB3N[... long string of characters ...]UH0= key-comment 

Questa chiave deve essere inserita nel file authorized_keys:

cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys

La chiave privata si trova gia' nella posizione corretta ( .ssh/id_rsa )

Verifica
 pdsh -w netlab[1-5] hostname
 

Accesso dall'esterno con chiave pubblica

Occorre generare la coppia di chiavi con il client SSH del proprio portatile e aggiungere la chiave pubblica allo stesso file authorized_keys di netlab, che dovra' quindi contenere due chiavi pubbliche del tipo:

ssh-rsa AAAAB3N[... long string of characters ...]UH0= key-comment  # chiave generata da netlab
ssh-rsa AAAAB3N[... long string of characters ...]UH0= key-comment  # chiave generata dal portatile

Se utilizzate il client SSH per Windows PuTTY è necessario generare la coppia di chiavi pubblica e privata con PuTTYgen.

La chiave privata deve essere salvata su file e inserita nella configurazione di Putty (o Winscp) :

Configuration -> Connection -> SSH -> Auth -> Private key file for authentication

La chiave pubblica si trova nel riquadro in alto del tool puttygen e occorre fare copia/incolla di questa chiave nell'authorized_keys di netlab.

Se utilizzate MobaXterm il percorso per generare le chiavi e'

TOOLS -> MOBA KEYGEN -> Generate

La chiave pubblica si trova nel riquadro in alto del tool "SSH key generator" e occorre fare copia/incolla di questa chiave nell'authorized_keys di netlab.

La chiave privata deve essere salvata su file e inserita nella configurazione della sessione :

  • "Da SSH Key Genetator" salvare su file la Private Key
  • Edit Session della sessione interessata , quindi Advanced SSH settings, "Use private key" e selezionare il file con la chiave privata.

Trasferimento di file

SSH è l'unico protocollo per la comunicazione con l'esterno e può essere utilizzato anche per il trasferimento dei file. In ambiente unix-like (Linux, MacOS X) si possono usare i comandi scp o sftp.

Ambiente Windows:

  • Se usate PuTTY e' necessario installare un programma specifico per il file trasnfer, come WinSCP . In fase di installazione di WinSCP è possibile importare i profili di Putty.
  • MobaXterm include un tool per il trasferimento dei file in modalita' drag and drop.

Pubblicazione dati via HTTPS

Sull'host netlab e' installato un server web accessibile dalla rete di Ateneo via https: https://netlab.fis.unipr.it

Per l'accesso dalla rete WiFi di Ateneo o dall'esterno e' necessario usare la VPN di Ateneo.

Il server e' abilitato per la pubblicazione dei dati presenti nella directory html dell'utente ( UserDir public_html ).

Nel propria home su netlab creare la directory public_html/ e la sottodirectory public_html/<nome corso>/, quindi verificare l'accessibilita' all'url

 https://netlab.fis.unipr.it/home/<nome.cognome>/<nome corso>/   oppure
 https://netlab.fis.unipr.it/~<nome.cognome>/<nome corso>/

Nome Corso = RETI1920

priv

Se vogliamo creare una subdir privata, con richiesta di credenziali, possiamo usare l'autenticazione LDAP.

Creare la subdir public_html/<nome corso>/priv/ in cui scrivere il file .htaccess:

AuthName "LDAP Authentication"
AuthType Basic
AuthBasicProvider ldap
AuthLDAPURL ldap://ldap.hpc.unipr.it/ou=Users,ou=netlab,dc=hpc,dc=unipr,dc=it?uid?sub?(objectClass=*)
AuthLDAPBindDN cn=browser,dc=hpc,dc=unipr,dc=it
AuthLDAPBindPassword browzer56
AuthName " Netlab cluster (Studenti: <uid> e password di Appost@PerTe)"
#require valid-user   # qualunque utente autentica puo' accedere
require user roberto.alfieri <uid>    

Modificate solo l'ultima riga sostituendo <uid> con il vostro uid personale.

Il file .htaccess deve essere leggibile dall'utente Apache ( se necessario: chmod o+r .htaccess ).

iptables

Linux_Firewalls_Using_iptables

sudo iptables -nvL        # visualizza stato firewall
sudo iptables -nvL -t nat # visualizza stato NAT
roberto.alfieri/user/reti/netlab.txt · Ultima modifica: 30/09/2019 10:22 da roberto.alfieri