Isard és una plataforma de virtuatlització en el núbol que proporciona màquines virtuals als centres educatius.

Introducció

La plataforma está disponible a la següent URL: https://elmeuescriptori.gestioeducativa.gencat.cat.

Per defecte les màquines virtuals poden sortir a internet, però no tenen IP pública.

Has d'accedir amb les credencials que t'ha donat el teu professor:

Box

La manera més fàcil de gestionar màquines virtual és amb l'eina Box.

Un cop has instal.lat "box" tens aquests cmdlets per gestionar Isard:

  • Connect-Isard. Per conectar-te a una màquina
  • Get-Isard. Per veure totes les màquines que tens
  • New-Isard. Per crear una màquina Ubuntu o Windows
  • Start-Isard. Per arrencar una màquina
  • Stop-Isard. Per parar una màquina

L'usuari de les màquines és isard i la contrasenya pirineus.

Crea una màquina Ubuntu amb el nom esther:

> new-isard esther
Inciar Sessió:
Nom d'usuari []: 
...

Has d'introduïr el teus usuari i contrasenya d'Isard.

Et pots connectar a la màquina amb un Visor Spice:

> connect-isard esther
mars: Engegant la màquina ................. Fet
mars: Obtenint el fitxer de configuració ... Fet.

Pots veure com s'obre una finestra nova amb la interfície gràfica de la màquina esther:

Si vols pots crear i connectar-te a la vegada a la màquina (igual que pots fer en Windows Subsytem for Linux (WSL)):

> connect-isard raquel -new

Si vols crear una màquina Windwos 11, has he passar el paràmetre -os windows.

Crea la màquina laura amb sistema operatiu Windows:

> new-isard laura -os windows
> get-isard

Nom     Estat     IP
---     -----     --
laura   Stopped
esther  Started   10.2.71.92
raquel  Started   10.2.112.92

Si vols pots arrancar la màquina laura i esperar que estigui arrencada amb el flag -wait:

> start-isard laura -wait
mars: Arrencant la màquina ............. Fet

Si vols pots consultar l'estat d'una sola màquina:

> get-isard laura

Nom   Estat   IP
---   -----   --
laura Started 10.2.156.92

Pots parar la màquina laura (també pots utilitzar el flag -wait si vols):

> stop-isard laura

Xarxa

Les màquines virtuals tenen per defecte una interfície de xarxa Default.

Aquesta interfície proporciona una adreça dinàmica (DHCP) amb DNS i passarel·la a través d'un encaminador NAT.

Té connexió a Internet i està aïllat d'altres màquines virtuals del sistema.

Wireguard

Les màquines virtuals també poden tenir una interície Wireguard.

Aquesta interfície està vinculada a una xarxa del sistema que assigna una adreça IP fixa a la màquina virtual i permet connectarse desde una màquina que està fora d'Isard mitjançat una xarxa privada virtual (VPN).

Crea una màquina Ubuntu 22.04 Desktop a Isard i verifica que la màquina virtual té habilitada la interfície Wireguard VPN.

Accedeix al menú desplegable de l'usuari i selecciona l'opció VPN, que descarregarà el fitxer isard-vpn.conf a l'equip amfitrió.

Recorda d'arrencar la màquina i mirar quina IP té !

Linux

Arrenca una màquina virtual Linux amb Windows Subsytem for Linux (WSL).

Instal.la i configura wireguard:

$ sudo apt install -y wireguard
$ sudo cp /mnt/c/Users/david/Downloads/isard-vpn.conf /etc/wireguard
$ wg-quick up isard-vpn
[#] ip link add isard-vpn type wireguard
[#] wg setconf isard-vpn /dev/fd/63
[#] ip -4 address add 10.0.29.109 dev isard-vpn
[#] ip link set mtu 1420 up dev isard-vpn
[#] ip -4 route add 10.2.0.0/16 dev isard-vpn
[#] :

Prova que el tunel funciona fent un ping a la màquina virtual.

Important! Fes servir la IP de la teva màquina, no la de la meva.

$ ping -c 1 10.2.76.37
PING 10.2.76.37 (10.2.76.37) 56(84) bytes of data.
64 bytes from 10.2.76.37: icmp_seq=1 ttl=63 time=47.4 ms
...

Per connectar-te a la màquina d'Isard amb SSH primer has d'habilitar el servidor ssh a la màquina d'Isard:

# Isard
$ sudo apt install -y openssh-server
$ sudo systemctl enable ssh --now

Conecta't amb ssh a la màquina virtual:

$ ssh isard@10.2.76.37
The authenticity of host '10.2.76.37 (10.2.76.37)' can't be established.
ED25519 key fingerprint is SHA256:vpy4I5ST/WcgU6jQOA8AIlC2EHHfnO3Hg5tvY0Qfk5s.
This key is not known by any other names
Are you sure you want to continue connecting (yes/no/[fingerprint])? yes
Warning: Permanently added '10.2.76.37' (ED25519) to the list of known hosts.
isard@10.2.76.37's password: 
Welcome to Ubuntu 22.04.2 LTS (GNU/Linux 5.19.0-46-generic x86_64)

 * Documentation:  https://help.ubuntu.com
 * Management:     https://landscape.canonical.com
 * Support:        https://ubuntu.com/advantage
Last login: Fri Apr 28 12:28:56 2023
isard@ubuntu:~$

Arrenca un servidor nginx a la màquina virtual i surt de la màquina virtual:

# Isard
$ sudo apt install -y nginx
...
$ exit
Connection to 10.2.76.37 closed.

Prova que pots accedir al servidor nginx:

$ curl 10.2.76.37 | head -n 10
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100   612  100   612    0     0   7965      0 --:--:-- --:--:-- --:--:--  8052
<!DOCTYPE html>
<html>
<head>
<title>Welcome to nginx!</title>
<style>
    body {
        width: 35em;
        margin: 0 auto;
        font-family: Tahoma, Verdana, Arial, sans-serif;
    }

Instal.la Google Chrome tal com s'explica a Windows Subsytem for Linux (WSL).

Arrenca Google Chrome dins de la màquina WSL i accedeix des del navegador:

Windows

Important! Aquesta activitat només es pot fer en un ordinador en que tinguis permisos d'administrador.

En el teu ordinador personal descarrega WireGuard per a Windows a través d'aquest enllaç.

Obre el programa i importa l'arxiu isard-vpn.conf que has descarregat al principi.

Activa el túnel:

Pots veure que el tunel està actiu:

Important! Fes servir la IP de la teva màquina, no la de la meva.

> ping 10.2.76.37

Pinging 10.2.76.37 with 32 bytes of data:
Reply from 10.2.76.37: bytes=32 time=37ms TTL=63
...

Obre un terminal de Powershell i verifica que et pots connectar per ssh amb la màquina virtual:

> ssh isard@10.2.76.37
isard@10.2.76.37's password:
Welcome to Ubuntu 22.04.2 LTS (GNU/Linux 5.19.0-46-generic x86_64)
Last login: Sun May 26 12:38:16 2024 from 10.0.29.109
isard@ubuntu:~$

Prova que pots accedir al servidor nginx des del terminal del Powershell:

> curl 10.2.76.37

StatusCode        : 200
StatusDescription : OK
...

Prova que pots accedir al servidor nginx des del navegador:

Personal

Les interfícies Personal et permeten configurar un entorn de xarxa privat per a un conjunt de màquines virtuals on es poden assignar les seves pròpies adreces IP, crear la configuració de la xarxa i controlar l'accés a la xarxa.

Ubuntu Server

Crea una màquina Ubuntu 22.04 Desktop_Isardvdi_v1.1 amb el nom ubuntu-1, dos CPUs, 4GB de RAM i una interfície Personal1:

Nota Les imatges server, com la Ubuntu 22.04 Server_Isardvdi_v1.3, no funcionen amb una interfície Wireguard VPN.

Com que és una màquina client has d'activar el servidor ssh des d'un escriptori.

Inicia la màquina i desde el teu ordinador connecta't a la màquina ubuntu-1:

> ssh isard@10.2.127.123
The authenticity of host '10.2.127.123 (10.2.127.123)' can't be established.
...
isard@10.2.127.123's password:
$

Observa que la màquina té 3 interfícies:

$ ip -brief addr
lo               UNKNOWN        127.0.0.1/8 ::1/128
enp1s0           UP             192.168.122.214/22 fe80::cc46:102:1f0f:c495/64
enp2s0           UP             10.2.127.123/16 fe80::3198:1530:28f9:3bff/64
enp3s0           UP
  • La enp1s0 és la Default i té sortida a internet.
  • La enp2s0 és la Wireguard VPN
  • La enp3s0 és la Personal1.

Hem de configurar la IP de la interfície enp3s0 amb la xarxa privada que escollim.

En el nostre cas farem servir la 10.1.1.0/24 i el host tindrà la IP 10.1.1.101.

Com que és un ubuntu farem servir

$ sudo nano /etc/netplan/50-personal.yaml

El contingut del fitxer 50-personal.yaml és el que es mostra a continuació:

network:
  version: 2
  ethernets:
    enp3s0:
      dhcp4: no
      addresses: [10.1.1.101/24]

A continuació ja podem aplicar la nova configuració:

$ sudo netplan apply

I verificar que funciona:

$ ip --brief addr

lo               UNKNOWN        127.0.0.1/8 ::1/128
enp1s0           UP             192.168.122.214/22 fe80::cc46:102:1f0f:c495/64
enp2s0           UP             10.2.127.123/16 fe80::3198:1530:28f9:3bff/64
enp3s0           UP             10.1.1.101/24 fe80::5054:ff:fe54:ff35/64

$ ping -c 1 10.1.1.101

PING 10.1.1.101 (10.1.1.101) 56(84) bytes of data.
64 bytes from 10.1.1.101: icmp_seq=1 ttl=64 time=0.022 ms

--- 10.1.1.101 ping statistics ---
1 packets transmitted, 1 received, 0% packet loss, time 0ms
rtt min/avg/max/mdev = 0.022/0.022/0.022/0.000 ms

Ara fem un try i apply de la configuració:

Activitat
  1. Crea una màquina Ubuntu 22.04 Desktop_Isardvdi_v1.1 amb el nom ubuntu-2, dos CPUs, 4GB de RAM i una interfície Personal1.

  2. Configura la interfície de la màquina ubuntu-2 amb la IP 10.1.1.102.

  3. Verifica que tens conectivitat entre les dos màquines amb la xarxa 10.1.1.0/24.

Windows

Crea una màquina Windows 10 T3_Isardvdi_v1.4 amb 2 CPUs, 4G de RAM i una interfície Personal1.

Connecta't a la màquina fent servir un visor web o el remote-viewer i configura la IP de la interfície.

Per configurar les xarxes al buscador podem escriure "connexions"

Pendent