Abilitazione dell'inoltro IP per IPv4 in Debian GNU/Linux

Enabling Ip Forwarding

La configurazione di una rete di computer a volte può essere complicata. L'abilitazione dell'inoltro IPv4 su una macchina Linux è un compito piuttosto semplice, fortunatamente.

Il termine IP Forwarding descrive l'invio di un pacchetto di rete da un'interfaccia di rete a un'altra sullo stesso dispositivo. Dovrebbe essere abilitato quando vuoi che il tuo sistema agisca come un router che trasferisce i pacchetti IP da una rete all'altra.



Su un sistema Linux il kernel Linux ha una variabile denominata `ip_forward` che mantiene questo valore. È accessibile usando il file `/proc/sys/net/ipv4/ip_forward`. Il valore predefinito è 0 che significa nessun inoltro IP, perché di solito un utente normale che esegue un singolo computer senza ulteriori componenti non ne ha bisogno. Al contrario, per router, gateway e server VPN è una caratteristica piuttosto essenziale.



Successivamente, ti spiegheremo come abilitare l'inoltro IP temporaneamente e permanentemente.



Inoltro IP come soluzione temporanea

Per abilitare al volo questo parametro del kernel hai due opzioni. L'opzione 1 memorizza semplicemente il valore di 1 nella variabile dall'alto come segue:

#buttato fuori 1 > /per cento/sistema/netto/ipv4/ip_forward

L'opzione 2 utilizza il comando `sysctl` che consente di regolare anche diversi parametri del kernel in fase di esecuzione [2]. Come utente amministratore, esegui il seguente comando:

#sistema-innet.ipv4.ip_forward=1

Tieni presente che questa impostazione viene modificata all'istante. Inoltre, il risultato non verrà conservato dopo il riavvio del sistema.



È possibile interrogare il valore memorizzato come segue:

#gatto /per cento/sistema/netto/ipv4/ip_forward

Questo comando restituisce il valore 0 per nessun inoltro IP e il valore 1 per l'inoltro IP abilitato. In alternativa, l'utilizzo di `sysctl` mostra anche lo stato corrente:

# sysctl net.ipv4.ip_forward
net.ipv4.ip_forward =0
#

Abilitare l'inoltro IP in modo permanente

Per raggiungere questo obiettivo è necessario eseguire altri passaggi. Per prima cosa, modifica il file `/etc/sysctl.conf`. Cerca una riga contenente la voce #net.ipv4.ip_forward=1 e rimuovi il # all'inizio della riga.

Quindi, salva il file ed esegui il comando `sysctl` per abilitare le impostazioni regolate:

#sistema-P /eccetera/sysctl.conf

L'opzione `-p` è l'abbreviazione di `–load` e richiede un nome per il file di configurazione da seguire.

Quindi, riavvia il file system proc che fornisce informazioni sullo stato del kernel Linux utilizzando il seguente comando:

#/eccetera/init.d/procps riavvia

In circa 2015 il nome del file è stato accorciato da `procps.sh` a `procps`. Quindi, sui vecchi sistemi Debian lo script che devi invocare si chiama invece `procps.sh`.

Trattare con Systemd

L'ostacolo successivo è arrivato con il rilascio di Systemd versione 221. L'inoltro IP è disabilitato per impostazione predefinita e l'abilitazione richiede la presenza di un file aggiuntivo. Se non è ancora presente, aggiungilo. Il nome del file consiste nel nome dell'interfaccia di rete seguito dal suffisso `.network`, ad esempio `eth0.network` per l'interfaccia di rete `/dev/eth0`. Come indicato nella documentazione [4], le altre estensioni vengono ignorate.

Il seguente frammento di codice mostra la configurazione per l'interfaccia di rete `/dev/tun0`. Contiene due sezioni — `Match` e `Network`. Nella sezione Match definire il nome dell'interfaccia di rete e nella sezione network abilitare IP Forwarding.

# cat /etc/systemd/network/tun0.network
[Incontro]
Nome= tun0
[Rete]
IPForward=ipv4

Conclusione

L'attivazione dell'IP Forwarding per IPv4 non è un mistero. Pochi passi e ci sei. Felice hacking!

Link e riferimenti

* [1] Configurazione di Systemd-Networkd, Debian Wiki
* [2] Juergen Haas: impara il comando sysctl di Linux
* [3] Novità di Systemd per la versione 221
* [4] Documentazione per Systemd