J'ai vu sur de nombreux blogs utiliser cette commande pour activer le transfert IP tout en utilisant de nombreux outils de sécurité/reniflage réseau sous Linux
echo 1 > /proc/sys/net/ipv4/ip_forward
Quelqu'un peut-il m'expliquer en termes simples, à quoi sert essentiellement cette commande? Transforme-t-il votre système en routeur ?
Réponse acceptée :
"Transfert IP" est synonyme de "routage". C'est ce qu'on appelle le « transfert IP du noyau », car il s'agit d'une fonctionnalité du noyau Linux.
Un routeur possède plusieurs interfaces réseau. Si le trafic arrive sur une interface qui correspond à un sous-réseau d'une autre interface réseau, un routeur transmet ensuite ce trafic à l'autre interface réseau.
Donc, disons que vous avez deux cartes réseau, l'une (NIC 1) est à l'adresse 192.168.2.1/24, et l'autre (NIC 2) est 192.168.3.1/24. Si le transfert est activé et qu'un paquet arrive sur le NIC 1 avec une "adresse de destination" de 192.168.3.8, le routeur renverra ce paquet depuis le NIC 2.
Il est courant que les routeurs fonctionnant comme des passerelles vers Internet aient une route par défaut selon laquelle tout trafic qui ne correspond à aucune carte réseau passera par la carte réseau de la route par défaut. Ainsi, dans l'exemple ci-dessus, si vous avez une connexion Internet sur NIC 2, vous devez définir NIC 2 comme route par défaut, puis tout trafic provenant de NIC 1 qui n'est pas destiné à quelque chose sur 192.168.2.0/24 ira via NIC 2. J'espère qu'il y a d'autres routeurs après NIC 2 qui peuvent l'acheminer davantage (dans le cas d'Internet, le prochain saut serait le routeur de votre FAI, puis le routeur en amont de son fournisseur, etc.)
Activation de ip_forward
indique à votre système Linux de le faire. Pour que cela soit significatif, vous avez besoin de deux interfaces réseau (au moins 2 cartes réseau filaires, cartes ou chipsets Wifi, liaisons PPP sur un modem 56k ou série, etc.).
Lors du routage, la sécurité est importante et c'est là que le filtre de paquets de Linux, iptables
, s'implique. Vous aurez donc besoin d'un iptables
configuration conforme à vos besoins.
Notez que l'activation du transfert avec iptables
désactivé et/ou sans tenir compte du pare-feu et de la sécurité pourrait vous exposer à des vulnérabilités si l'une des cartes réseau fait face à Internet ou à un sous-réseau sur lequel vous n'avez pas le contrôle.