Configurare Ubuntu 18.04 come gateway
Aggiorno l’articolo Configurare Ubuntu come gateway adattandolo a Ubuntu 18.04
Per impostare Ubuntu come gateway utilizziamo iptables
Innanzi tutto impostiamo l’inoltro degli IP
E impostiamo il valore net.ipv4.ip_forward a 1 ( è possibile anche eseguire il veloce comando echo “1” > /proc/sys/net/ipv4/ip_forward ma poi la modifica si perde al riavvio della macchina )
Facciamo rileggere il file /etc/sysctl.conf
Ora abilitiamo il NAT e richiamiamolo dal file /etc/rc.local in maniera che venga richiamato ad ogni boot
Su Ubuntu 18.04 il file rc.local non è più presente di default, quindi occorre crearlo:
aggiungiamo il contenuto standard:
diamo i permessi:
quindi inseriamo le seguenti righe
Se è richiesto usare connessioni FTP impostare anche queste due righe
Ora occorre impostare le regole del firewall, impostiamo da subito il mascheramento sull’interfaccia WAN ( eth1 in questo caso è la scheda di rete collegata al nostro modem/router )
Abilitiamo il forward
Diamo poi i permessi a se stesso e ad eventuali connessioni già stabilite
Diamo i permessi solo alla nostra LAN per evitare che da fuori si colleghino
Dopo di chè sta solo nel giocare con le regole di iptables per abilitare o meno i servizi che ci servono.
Ovviamente le regole qui sopra se riavviamo la macchina spariscono, quindi serve salvare uno script e farlo eseguire al boot richiamato magari da /etc/rc.local o meglio quando la scheda di rete viene attivata editando /etc/network/interfaces e aggiungendo l’opzione post-up
In questo caso le regole devono essere senza la chiamata a iptables, per ottenere il file adatto basta fare un dump prima
Nota: potrebbe capitare specialmente in fase di installazione che la WAN non abbia il cavo collegato, per evitare tempi morti in fase di boot dove il sistema attende risposta dalle schede eseguire occorre aggiungere il parametro hotplug ( optional : true ) nel config di netplan alle schede che lo necessitano:
Eventualmente come ultima spiaggia per evitare sempre quei tempi morti se quello sopra non funziona rimane sempre il comando ( sconsigliato ):