"IP-Weiterleitung" ist ein Synonym für "Routing". Es wird "Kernel-IP-Weiterleitung" genannt, da es eine Funktion des Linux-Kernels ist.
Ein Router verfügt über mehrere Netzwerkschnittstellen. Wenn Datenverkehr auf einer Schnittstelle eingeht, die mit einem Subnetz einer anderen Netzwerkschnittstelle übereinstimmt, leitet ein Router diesen Datenverkehr an die andere Netzwerkschnittstelle weiter.
Angenommen, Sie haben zwei NICs, eine (NIC 1) befindet sich an der Adresse 192.168.2.1/24 und die andere (NIC 2) ist 192.168.3.1/24. Wenn die Weiterleitung aktiviert ist und auf NIC 1 ein Paket mit einer "Zieladresse" von 192.168.3.8 eingeht, sendet der Router das Paket erneut von NIC 2.
Es ist üblich, dass Router, die als Gateways zum Internet fungieren, eine Standardroute haben, wobei jeder Verkehr, der nicht mit einer Netzwerkkarte übereinstimmt, die Netzwerkkarte der Standardroute durchläuft. Wenn Sie im obigen Beispiel eine Internetverbindung auf NIC 2 haben, würden Sie NIC 2 als Ihre Standardroute festlegen und dann wird jeglicher Datenverkehr von NIC 1, der nicht für 192.168.2.0/24 bestimmt ist, gelöscht über NIC 2. Hoffentlich gibt es andere Router nach NIC 2, die diese weiterleiten können (im Falle des Internets wäre der nächste Hop der Router Ihres ISP und dann der Upstream-Router des Providers usw.).
Das Aktivieren ip_forward
weist Ihr Linux-System an, dies zu tun. Damit dies sinnvoll ist, benötigen Sie zwei Netzwerkschnittstellen (mindestens zwei verkabelte NIC-Karten, WLAN-Karten oder Chipsätze, PPP-Verbindungen über ein 56k-Modem oder eine serielle Schnittstelle usw.).
Beim Routing ist die Sicherheit wichtig, und hier wird der Paketfilter von Linux eingesetzt iptables
. Sie benötigen also eine iptables
Konfiguration, die Ihren Anforderungen entspricht.
Beachten Sie, dass das Aktivieren der Weiterleitung mit iptables
deaktivierter Funktion und / oder ohne Berücksichtigung von Firewall und Sicherheit zu Sicherheitslücken führen kann, wenn eine der Netzwerkkarten mit dem Internet oder einem Subnetz verbunden ist, über das Sie keine Kontrolle haben.