web-dev-qa-db-fra.com

Qu'est-ce que le transfert IP du noyau?

J'ai vu sur de nombreux blogs, utiliser cette commande pour activer le transfert IP tout en utilisant de nombreux outils de sécurité réseau/sniffing sur linux

echo 1 > /proc/sys/net/ipv4/ip_forward

Quelqu'un peut-il m'expliquer en termes simples, que fait essentiellement cette commande? Transforme-t-il votre système en routeur?

76
Madhur Ahuja

"Transfert IP" est synonyme de "routage". Il est appelé "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 transfère ensuite ce trafic à l'autre interface réseau.

Supposons donc que vous ayez 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 NIC 1 avec une "adresse de destination" de 192.168.3.8, le routeur renverra ce paquet hors du NIC 2.

Il est courant que les routeurs fonctionnant comme des passerelles vers Internet aient un itinéraire par défaut par lequel tout trafic qui ne correspond à aucun NIC passera par le NIC de l'itinéraire 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 ' t destiné à quelque chose sur 192.168.2.0/24 passera par NIC 2. Espérons qu'il y ait d'autres routeurs après NIC 2 qui peuvent l'acheminer davantage (dans le cas d'Internet, le prochain saut serait votre Le routeur du FAI, puis le routeur en amont de leurs fournisseurs, etc.)

L'activation de ip_forward Indique à votre système Linux de le faire. Pour que cela ait un sens, vous avez besoin de deux interfaces réseau (2 ou plusieurs cartes filaires NIC, cartes ou chipsets Wifi, PPP liaisons 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, est impliqué. Vous aurez donc besoin d'une configuration iptables conforme à vos besoins.

Notez que l'activation du transfert avec iptables désactivée 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 est confrontée à Internet ou à un sous-réseau sur lequel vous n'avez pas de contrôle.

89
LawrenceC

Lorsqu'elle est activée, la "redirection IP" permet à une machine Linux de recevoir des paquets entrants et de les transférer. Une machine Linux agissant comme un hôte ordinaire n'aurait pas besoin d'activer le transfert IP, car elle génère et reçoit simplement du trafic IP à ses propres fins (c'est-à-dire aux fins de son utilisateur).

Cependant, il existe des cas où le transfert IP est utile: 1. Nous voulons que notre machine agisse comme un routeur, recevant les paquets d'autres hôtes et les acheminant vers leur destination. 2. Nous sommes des méchants et nous voulons usurper l'identité d'une autre machine dans une soi-disant " man-in-the-middle-attack ". Dans ce cas, nous voulons intercepter et voir tout le trafic dirigé vers la victime, mais nous voulons aussi lui transmettre ce trafic, afin qu'elle ne "détecte" pas notre présence.

4
Andrea Araldo