diff --git a/Setup-iniziale.md b/Setup-iniziale.md index 36864de..7171961 100644 --- a/Setup-iniziale.md +++ b/Setup-iniziale.md @@ -73,24 +73,33 @@ sudo chmod +x /etc/update-motd.d/05-info ## `dnsmasq` e rete interna +`dnsmasq` è un *software libero* che fornisce funzionalità di memorizzazione nella cache DNS (Domain Name System), un server DHCP (Dynamic Host Configuration Protocol), router advertisement e funzionalità di avvio di rete, destinato a reti di computer di piccole dimensioni. Nel nostro caso è utilizzato come server DHCP per assegnare gli indirizzi ai nodi del cluster sulla rete interna (NAT) e offrire un servizio di DNS (nodi raggiungibili tramite il loro nome e non tramite il loro indirizzo IP). + ### Configurazione dnsmasq + +Per lanciare questo servizio è necessario liberare la porta 53 da eventuali servizi che la occupino già, su Ubuntu questo vuol dire disabilitare `systemd-resolved`. + ```bash sudo systemctl disable --now systemd-resolved sudo apt install dnsmasq ``` -- scommentata la riga `dhcp-range` nel file `/etc/dnsmasq.conf` +impostare nel suo file di configurazione la funzione di DHCP de-commentando la riga `dhcp-range` nel file `/etc/dnsmasq.conf`, e finalmente lanciare il servizio: ```bash sudo systemctl enable --now dnsmasq ``` ### Configurazione rete interna (NAT) + +Per avere il funzionamento del nostro **guarded Beowulf**, abbiamo bisogno che il **nodo 0**, nodo di accesso, sia equipaggiato di due schede di rete. Una sarà connessa verso l'esterno, rendendo quindi il nodo un *frontend* per gli utenti, l'altra verso tutti i nodi del cluster. Dal punto di vista operativo, questo vuol dire che un *pacchetto* in arrivo dall'esterno dovrà essere tradotto di indirizzo per raggiugere i nodi interni della rete. Nell'ambito delle reti questa funzione è svolta dal **network address translation** (NAT), ovvero il meccanismo che permette proprio di modificare l'indirizzo IP dei pacchetti in transito attraverso un genrico apparato di rete - il nostro *nodo 0* - all'interno di una comunicazione in corso tra un utente e gli altri nodi del cluster. + +Su Ubuntu questo può essere fatto tramite il programma `iptables`: + ```bash sudo apt install iptables echo "1" | sudo tee /proc/sys/net/ipv4/ip_forward cd /etc/sysctl.d/ echo "net.ipv4.ip_forward = 1" | sudo tee /etc/sysctl.d/10-ip-forwarding.conf ``` - In `/etc/network/interfaces`, per configurare permanentemente l'IP statico della macchina all'interno della LAN, l'IP pubblico e per creare la NAT del cluster: ```interfaces