Saltar al contingut

Isard

Isard és una plataforma de virtualització al núvol que proporciona màquines virtuals als centres educatius.

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:

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 router NAT.

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

Les màquines virtuals també poden tenir una interfí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 connectar-se des d’una màquina que està fora d’Isard mitjançant una xarxa privada virtual (VPN).

Crea una màquina Ubuntu 24.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é!

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

Instal.la i configura wireguard:

Terminal window
$ sudo apt update && sudo apt install -y wireguard
$ sudo cp /mnt/c/Users/david/Downloads/isard-vpn.conf /etc/wireguard/wg0.conf
$ sudo wg-quick up wg0

Afegeix el servei Wireguard a systemd:

Terminal window
> sudo systemctl enable --now wg-quick@wg0.service

Verifica que ara tens una interfície wg0:

Terminal window
> ip --brief addr
lo UNKNOWN 127.0.0.1/8 ::1/128
eth0 UP 172.19.149.106/20 fe80::215:5dff:fe88:a880/64
wg0 UNKNOWN 10.0.29.109/32

Prova que el túnel funciona fent un ping a la màquina virtual.

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

Terminal window
$ 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
...

Et pots connectar a la màquina d’Isard amb SSH tal com s’explica a SSH.

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

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

Prova que pots accedir al servidor nginx:

Terminal window
$ 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 Subsystem for Linux (WSL).

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

Important! Aquesta activitat només es pot fer en un ordinador en què 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 túnel està actiu:

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

Terminal window
> 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:

Terminal window
> 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:

Terminal window
> curl 10.2.76.37
StatusCode : 200
StatusDescription : OK
...

Prova que pots accedir al servidor nginx des del navegador:

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.

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

Nota Les imatges server, com l’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 des del teu ordinador connecta’t a la màquina ubuntu-1:

Terminal window
> 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:

Terminal window
$ 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 l’amfitrió tindrà la IP 10.1.1.101.

Com que és un ubuntu farem servir Netplan

Terminal window
$ 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ó:

Terminal window
$ sudo netplan apply

I verificar que funciona:

Terminal window
$ 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ó:

  1. Crea una màquina Ubuntu 22.04 Desktop_Isardvdi_v1.1 amb el nom ubuntu-2, dos CPU, 4 GB 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 connectivitat entre les dos màquines amb la xarxa 10.1.1.0/24.

Crea una màquina Windows 10 T3_Isardvdi_v1.4 amb 2 CPU, 4 G 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”

El bastió d’Isard és una funcionalitat que permet accedir als escriptoris virtuals a través del mateix servidor on s’executa al web d’Isard, en comptes de dependre exclusivament d’una connexió Wireguard.

És especialment útil en entorns on es necessiten servidors públics, ja que permet que aquests escriptoris siguin accessibles sense necessitat d’una VPN.

Quan s’activa el bastió, el servidor d’Isard fa de porta d’enllaç per a les connexions externes:

BastionVM

Els ports per defecte que són accessibles dels escriptoris són:

22/TCPServei SSH
80/TCPWeb
443/TCPWeb TLS

A l’apartat d’edició de qualsevol escriptori es troba l’apartat de bastió (l’has d’habilitar):

Obre una sessió de Powershell per obtenir la teva clau pública SSH:

Terminal window
PS C:\Users\david> gc .\.ssh\id_ed25519.pub
ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIFJgYeQKuRlSp6BOSaVriPqJ5IKakDpHLfP4csIN8Ft/ david@elite

I que faig amb aquest ID e6a0307a-f48f-46e2-9fed-87e34a2d4f61? 😒

En l’apartat principal d’escriptoris, pots accedir al botó de bastion per veure el UUID juntament amb els URL per als protocols activats:

Amb aquest UUID es generaran les diferents connexions a aquesta màquina virtual:

Si has creat una màquina d’escriptori, has d’habilitar el servidor ssh en la màquina virtual:

Terminal window
sudo apt install -y openssh-server
sudo systemctl enable ssh --now

Ja et pots connectar per ssh a través de bastion amb la màquina virtual:

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

Un cop instal·lat “box” tens aquests cmdlets per gestionar Isard:

  • Connect-Isard. Per connectar-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:

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

Has d’introduir el teu usuari i contrasenya d’Isard.

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

Terminal window
> 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 Subsystem for Linux (WSL)):

Terminal window
> connect-isard raquel -new

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

Crea la màquina laura amb sistema operatiu Windows:

Terminal window
> new-isard laura -os windows
Terminal window
> 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:

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

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

Terminal window
> 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):

Terminal window
> stop-isard laura

El contingut d'aquest lloc web té llicència CC BY-NC-ND 4.0.

©2022-2025 xtec.dev