Salta el contingut

UD1 - Pràctica 1 - NAT amb Ubuntu Server 24.04

Esquema de xarxa

Aquest document descriu la configuració de xarxa d'un laboratori de xarxes muntat amb VirtualBox, format per dues màquines virtuals: un Ubuntu Server 24.04 i un Lubuntu 24.04. A continuació es descriu la configuració de cada màquina, la connectivitat entre elles i els passos per configurar la passarel·la per permetre l'accés a Internet des del Lubuntu a través de l'Ubuntu Server.

Configuració de les màquines

Ubuntu Server 24.04

  • enp0s3: mode NAT, pren IP automàticament per DHCP.
  • enp0s8: mode xarxa interna (intnet), IP fixa 192.168.1.1/24.

Comprovació de la configuració de la interfície enp0s8:

Bash
ip a show enp0s8

Si cal editar la configuració:

Bash
sudo nano /etc/netplan/00-installer-config.yaml

Configuració:

YAML
1
2
3
4
5
6
7
8
network:
  ethernets:
    enp0s3:
      dhcp4: true
    enp0s8:
      addresses:
        - 192.168.1.1/24
  version: 2

Aplica els canvis amb:

Bash
sudo netplan apply

Lubuntu 24.04

  • enp0s3: mode xarxa interna (intnet), IP fixa 192.168.1.40/24.

Comprovació de la configuració de la interfície enp0s3:

Bash
ip a show enp0s3

Si cal editar la configuració:

Bash
sudo nano /etc/netplan/00-installer-config.yaml

Configuració:

YAML
1
2
3
4
5
6
network:
  ethernets:
    enp0s3:
      addresses:
        - 192.168.1.40/24
  version: 2

Aplica els canvis amb:

Bash
sudo netplan apply

Verificar la connectivitat

Un cop configurades les màquines, cal verificar la connectivitat amb els següents pings:

  • Des de Lubuntu (ping a l'Ubuntu Server):

    Bash
    ping 192.168.1.1
    

  • Des de l'Ubuntu Server (ping a Lubuntu):

    Bash
    ping 192.168.1.40
    

Configurar la passarel·la (opcional)

Per permetre que Lubuntu tingui accés a Internet a través de l'Ubuntu Server, cal seguir aquests passos:

Activar el forwarding de paquets a l'Ubuntu Server:

Editem el fitxer /etc/sysctl.conf per permetre el forwarding de paquets IPv4:

Bash
sudo nano /etc/sysctl.conf
Descomentar la línia:
Bash
net.ipv4.ip_forward=1
Aplicar el canvi amb:
Bash
sudo sysctl -p

Configurar NAT a l'Ubuntu Server:

Per permetre que el trànsit de la xarxa interna pugui sortir a Internet a través de l'interfície NAT (enp0s3), necessitem configurar NAT amb iptables.

Afegeix la següent regla:

Bash
sudo iptables -t nat -A POSTROUTING -o enp0s3 -j MASQUERADE

Explicació del comandament:

  • iptables: És l'eina per gestionar les regles del tallafocs.
  • -t nat: Aquesta opció indica que volem treballar amb la taula de nat (Network Address Translation), que és la que gestiona les traduccions d'adreces IP.
  • -A POSTROUTING: Afegeix (-A) una regla a la cadena POSTROUTING, que s'aplica després que un paquet hagi estat rutejat. És on es defineix la NAT de sortida.
  • -o enp0s3: La regla s'aplica als paquets que surten per la interfície enp0s3 (que està en mode NAT i connecta la màquina virtual a Internet).
  • -j MASQUERADE: Aquesta acció indica que el trànsit que surt per enp0s3 ha de tenir l'adreça IP de la interfície reemplaçada per l'adreça pública de la màquina, permetent així la traducció d'adreces.

Fer persistent la regla:

Bash
sudo apt install iptables-persistent
sudo netfilter-persistent save

Configurar la passarel·la a Lubuntu:

A Lubuntu, configurem l'Ubuntu Server com a passarel·la per sortir a Internet i li afegim servidors DNS:

YAML
network:
  ethernets:
    enp0s3:
      addresses:
        - 192.168.1.40/24
      routes:
        - to: default
          via: 192.168.1.1
      nameservers:
        addresses: [8.8.8.8, 1.1.1.1]
  version: 2

Resum NAT

How Nat works