Questo laboratorio puo' essere svolto in due modi diversi:
- Utilizzando le VM fornite (Consigliato)
- Utilizzando Docker
Sono state fornite delle macchine virtuali con tutti i pacchetti necessari per svolgere il laboratorio. Queste macchine virtuali sono state create per funzionare sia con architetture x86_64 che con architetture ARM64.
Per avviare le macchine virtuali, è necessario utilizzare un provider di virtualizzazione (es. Virtualbox o VMware) e seguire le istruzioni fornite insieme alle macchine virtuali.
- Installare Virtualbox
- Scaricare la macchina virtuale dal questo link.
- Il link è accessibile solo agli studenti del Politecnico di Milano, previa autenticazione con le credenziali istituzionali.
- Se si vuole verificare che il file scaricato sia corretto, verificando l'hash direttamente cosi:
$ if [ "$(sha256sum sdn-labs-amd64.ova | awk '{print $1}')" = "f95c015797924a18600116a1e49ae11b602c5abdb991fefefe3992262b4c350a" ]; then echo "SHA matches"; else echo "SHA does not match"; fi
- Aprire il file
.ova
con Virtualbox e seguire le istruzioni per importare la macchina virtuale. - Avviare la macchina virtuale e attendere che sia completamente avviata.
- Le credenziali di accesso sono:
- Username:
sdn
- Password:
sdn
- Username:
- Una volta dentro la VM, aprire il terminale e clonare il repository con il comando:
$ git clone https://github.com/gverticale/sdn-vm-polimi.git
- Nel caso in cui la cartella sia gia' presente, e' possibile aggiornarla con il comando:
$ cd sdn-vm-polimi $ git pull
- Nel caso in cui la cartella sia gia' presente, e' possibile aggiornarla con il comando:
- Entrare nella cartella ed avviare il docker con il comando:
$ cd sdn-vm-polimi $ make connect-docker
- Installare VMware Fusion
- È necessario avere un account VMWare Customer Connect per procedere al download. È possibile iscriversi mediante l'indirizzo email del Politecnico o tramite quello personale: la licenza per VMWare Fusion Player è gratuita sia per scopi personali che per gli studenti.
- Scaricare la macchina virtuale dal questo link.
- Il link è accessibile solo agli studenti del Politecnico di Milano, previa autenticazione con le credenziali istituzionali.
- Estrarre il file
sdn-labs-arm634.vmwarevm
dall'archivio.zip
e posizionarlo in una cartella a piacere. - Aprire VMware Fusion e selezionare
File
->Apri...
e selezionare il filesdn-labs-arm634.vmwarevm
. - Quando la macchina virtuale si avvia, verrà chiesto se la macchina virtuale è stata spostata o copiata. Selezionare
Copiata
. - Attendere che sia completamente avviata.
- Le credenziali di accesso sono:
- Username:
sdn
- Password:
sdn
- Username:
- Una volta dentro la VM, aprire il terminale e clonare il repository con il comando:
$ git clone https://github.com/gverticale/sdn-vm-polimi.git
- Nel caso in cui la cartella sia gia' presente, e' possibile aggiornarla con il comando:
$ cd sdn-vm-polimi $ git pull
- Nel caso in cui la cartella sia gia' presente, e' possibile aggiornarla con il comando:
- Entrare nella cartella ed avviare il docker con il comando:
$ cd sdn-vm-polimi $ make connect-docker
Docker è una piattaforma per lo sviluppo, la distribuzione e l'esecuzione di applicazioni in container. In questo caso, verrà utilizzato per creare un container con un sistema operativo Ubuntu 20.04 LTS, con tutti i pacchetti necessari per svolgere il laboratorio. Anche in questo caso, in base al sistema operativo dell'host ed all'architettura del processore, e' necessario eseguire delle istruzioni diverse.
Il supporto a Docker su Windows è limitato. È possibile installare Docker Desktop, ma non è garantito che funzioni correttamente. Si consiglia di utilizzare il primo approccio.
-
Installare Docker:
# Add Docker's official GPG key: sudo apt-get update sudo apt-get install ca-certificates curl sudo install -m 0755 -d /etc/apt/keyrings sudo curl -fsSL https://download.docker.com/linux/ubuntu/gpg -o /etc/apt/keyrings/docker.asc sudo chmod a+r /etc/apt/keyrings/docker.asc # Add the repository to Apt sources: echo \ "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/ubuntu \ $(. /etc/os-release && echo "$VERSION_CODENAME") stable" | \ sudo tee /etc/apt/sources.list.d/docker.list > /dev/null sudo apt-get update
# Install Docker sudo apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
-
Nel caso in cui si voglia utilizzare Docker senza
sudo
, aggiungere l'utente al gruppodocker
:sudo usermod -aG docker $USER newgrp docker
- Installare Docker dal sito web.
-
Una volta installato Docker Engine, verificare che questo funzioni correttamente eseguendo il comando:
$ sudo docker run hello-world
-
Entrare nella cartella del laboratorio.
-
Avviare il container con il comando:
$ make connect-docker
- La prima volta che viene eseguito, questo comando proverà a scaricare l'immagine del Docker per il laboratorio. Questo potrebbe richiedere del tempo.
- Una volta avviato, si aprirà una nuova shell all'interno del container e sara' possibile svolgere il laboratorio.
-
Per aprire altre shell all'interno del container, eseguire, su un altro terminale, il comando:
$ make connect-docker
Nel caso in cui non si voglia utilizzare ne' le VM ne' Docker, è possibile utilizzare Vagrant per creare una macchina virtuale con un sistema operativo Ubuntu 20.04 LTS, con tutti i pacchetti necessari per svolgere il laboratorio. Nota: Questa modalità non è stata testata e potrebbe non funzionare correttamente.
Vagrant è uno strumento per la creazione e la gestione di macchine virtuali. In questo caso, verrà utilizzato per creare una macchina virtuale con un sistema operativo Ubuntu 20.04 LTS, con tutti i pacchetti necessari per svolgere il laboratorio. In base al sistema operativo dell'host ed all'architettura del processore, e' necessario eseguire delle istruzioni diverse.
- Installare Virtualbox
- Installare Vagrant per Windows
- Installare Virtualbox
- Installare Vagrant per Linux
$ wget -O- https://apt.releases.hashicorp.com/gpg | sudo gpg --dearmor -o /usr/share/keyrings/hashicorp-archive-keyring.gpg $ echo "deb [signed-by=/usr/share/keyrings/hashicorp-archive-keyring.gpg] https://apt.releases.hashicorp.com $(lsb_release -cs) main" | sudo tee /etc/apt/sources.list.d/hashicorp.list $ sudo apt update && sudo apt install vagrant
- Installare VMware Fusion
- È necessario avere un account VMWare Customer Connect per procedere al download. È possibile iscriversi mediante l'indirizzo email del Politecnico o tramite quello personale: la licenza per VMWare Fusion Player è gratuita sia per scopi personali che per gli studenti.
- Installare Vagrant per MacOS
$ brew tap hashicorp/tap $ brew install hashicorp/tap/hashicorp-vagrant
- Aprire il provider di virtualizzazione (es. Virtualbox o VMware) e verificare che sia installato correttamente. Tenere la finestra aperta mentre vengono eseguiti gli altri comandi.
- Copiare i file di configurazione in una cartella vuota. Se si vuole si può usare git.
- Nel caso di git, il comando da eseguire e' il seguente:
$ git clone https://github.com/gverticale/sdn-vm-polimi.git
- Nel caso di git, il comando da eseguire e' il seguente:
- Aprire una finestra del teminale in questa nuova cartella.
- Istanziare e avviare la macchina con
vagrant up
- Una volta avviata, si aprira' una nuova finestra del provider di virtualizzazione, che mostrera' la macchina virtuale in esecuzione.
- Attendere fino a quando la macchina virtuale non e' completamente avviata e tutti i pacchetti non sono stati installati.
- E' possibile utilizzare direttamente la macchina virtuale tramite il provider di virtualizzazione, oppure collegarsi ad essa tramite
vagrant ssh
- La macchina virtuale e' gia' configurata con un utente
vagrant
con passwordvagrant
- La macchina virtuale e' gia' configurata con un utente
- Il disco della macchina host è montato nella cartella
/vagrant
- Per spegnere la macchina, uscire dalla macchina (
exit
) e fermarla (vagrant halt
) - Per cancellare la macchina, uscire dalla macchina (
exit
) e cancellarla (vagrant destroy
)