Introducció

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.

VPN

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

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

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 Subsystem for Linux.

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 virtual amb SSH primer has d'habilitar el servidor ssh a la màquina remota:

# 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 GUI.

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

Windows

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

A l'institut ja està instal.lat! O potser no !!!

Obre el programa i importa l'arxiu isard-vpn.conf de VPN recentment descarregat.

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"