Activation du transfert IP pour IPv4 dans Debian GNU/Linux

Enabling Ip Forwarding



La mise en place d'un réseau informatique peut parfois s'avérer délicate. L'activation du transfert IPv4 sur une machine Linux est une tâche plutôt simple, heureusement.

Le terme IP Forwarding décrit l'envoi d'un paquet réseau d'une interface réseau à une autre sur le même appareil. Il doit être activé lorsque vous souhaitez que votre système agisse comme un routeur qui transfère des paquets IP d'un réseau à un autre.







Sur un système Linux, le noyau Linux a une variable nommée `ip_forward` qui conserve cette valeur. Il est accessible via le fichier `/proc/sys/net/ipv4/ip_forward`. La valeur par défaut est 0, ce qui signifie qu'il n'y a pas de transfert IP, car un utilisateur ordinaire qui exécute un seul ordinateur sans autres composants n'en a généralement pas besoin. En revanche, pour les routeurs, les passerelles et les serveurs VPN, c'est une fonctionnalité assez essentielle.



Ensuite, nous vous expliquerons comment activer le transfert IP de manière temporaire et permanente.



Transfert IP comme solution temporaire

Afin d'activer ce paramètre du noyau à la volée, vous avez deux options. L'option 1 stocke simplement la valeur 1 dans la variable ci-dessus comme suit :





#chassèrent 1 > /pour cent/système/rapporter/ipv4/ip_forward

L'option 2 utilise la commande `sysctl` qui vous permet également d'ajuster différents paramètres du noyau lors de l'exécution [2]. En tant qu'administrateur, exécutez la commande suivante :

#sysctl-dansnet.ipv4.ip_forward=1

Gardez à l'esprit que ce paramètre est modifié instantanément. De plus, le résultat ne sera pas conservé après le redémarrage du système.



Vous pouvez interroger la valeur stockée comme suit :

#chat /pour cent/système/rapporter/ipv4/ip_forward

Cette commande renvoie une valeur de 0 pour aucun transfert IP et une valeur de 1 pour un transfert IP activé. Comme alternative, l'utilisation de `sysctl` vous montre également l'état actuel :

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

Activation permanente du transfert IP

Pour y parvenir, d'autres étapes doivent être franchies. Tout d'abord, éditez le fichier `/etc/sysctl.conf`. Recherchez une ligne contenant l'entrée #net.ipv4.ip_forward=1 et supprimez le # au début de la ligne.

Ensuite, enregistrez le fichier et exécutez la commande `sysctl` afin d'activer les paramètres ajustés :

#sysctl-p /etc/sysctl.conf

L'option `-p` est l'abréviation de `–load` et requiert un nom pour le fichier de configuration à suivre.

Ensuite, redémarrez le système de fichiers proc qui fournit des informations sur l'état du noyau Linux à l'aide de la commande suivante :

#/etc/init.d/redémarrage des procps

Vers 2015, le nom du fichier a été raccourci de `procps.sh` à `procps`. Ainsi, sur les anciens systèmes Debian, le script que vous devez appeler s'appelle plutôt `procps.sh`.

Traiter avec Systemd

Le prochain obstacle est venu avec la sortie de Systemd version 221. Le transfert IP est désactivé par défaut et l'activation nécessite la présence d'un fichier supplémentaire. S'il n'y est pas encore, ajoutez-le simplement. Le nom du fichier se compose du nom de l'interface réseau suivi du suffixe `.network`, par exemple `eth0.network` pour l'interface réseau `/dev/eth0`. Comme indiqué dans la documentation [4], les autres extensions sont ignorées.

L'extrait de code suivant montre la configuration de l'interface réseau `/dev/tun0`. Il contient deux sections — « Match » et « Réseau ». Dans la section Match, définissez le nom de l'interface réseau et dans la section Network, activez le transfert IP.

# cat /etc/systemd/network/tun0.network
[Rencontre]
Nom= tun0
[Réseau]
IPForward=ipv4

Conclusion

L'activation du transfert IP pour IPv4 n'est pas un mystère. Quelques pas et vous y êtes. Bon piratage !

Liens et références

* [1] Configuration de Systemd-Networkd, Debian Wiki
* [2] Juergen Haas : Apprendre la commande Linux sysctl
* [3] Systemd News pour la version 221
* [4] Documentation pour Systemd