Vernetzung

Aktivieren der IP-Weiterleitung für IPv4 in Debian GNU/Linux

Aktivieren der IP-Weiterleitung für IPv4 in Debian GNU/Linux
Das Einrichten eines Computernetzwerks kann manchmal knifflig sein. Das Aktivieren der IPv4-Weiterleitung auf einem Linux-Rechner ist zum Glück eine ziemlich einfache Aufgabe.

Der Begriff IP-Weiterleitung beschreibt das Senden eines Netzwerkpakets von einer Netzwerkschnittstelle zu einer anderen auf demselben Gerät. Es sollte aktiviert werden, wenn Ihr System als Router fungieren soll, der IP-Pakete von einem Netzwerk in ein anderes überträgt.

Auf einem Linux-System hat der Linux-Kernel eine Variable namens 'ip_forward', die diesen Wert behält. Es ist über die Datei '/proc/sys/net/ipv4/ip_forward' zugänglich. Der Standardwert ist 0, was keine IP-Weiterleitung bedeutet, da ein normaler Benutzer, der einen einzelnen Computer ohne weitere Komponenten betreibt, dies normalerweise nicht benötigt. Bei Routern, Gateways und VPN-Servern hingegen ist es ein ganz wesentliches Feature.

Als nächstes erklären wir Ihnen, wie Sie IP-Forwarding temporär und dauerhaft aktivieren.

IP-Weiterleitung als Übergangslösung

Um diesen Kernel-Parameter im laufenden Betrieb zu aktivieren, haben Sie zwei Möglichkeiten. Option 1 speichert einfach den Wert 1 in der Variablen von oben wie folgt:

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

Option 2 verwendet den 'sysctl'-Befehl, mit dem Sie auch verschiedene Kernel-Parameter zur Laufzeit anpassen können [2]. Führen Sie als Administrator den folgenden Befehl aus:

# sysctl -w net.IPv4.ip_forward=1

Denken Sie daran, dass diese Einstellung sofort geändert wird. Außerdem bleibt das Ergebnis nach einem Neustart des Systems nicht erhalten.

Sie können den gespeicherten Wert wie folgt abfragen:

# cat /proc/sys/net/ipv4/ip_forward

Dieser Befehl gibt einen Wert von 0 für keine IP-Weiterleitung und einen Wert von 1 für aktivierte IP-Weiterleitung zurück. Alternativ zeigt Ihnen die Verwendung von 'sysctl' auch den aktuellen Status an:

# sysctl-Netz.IPv4.ip_forward
Netz.IPv4.ip_forward = 0
#

IP-Weiterleitung dauerhaft aktivieren

Um dies zu erreichen, müssen noch einige andere Schritte durchgeführt werden. Bearbeiten Sie zuerst die Datei '/etc/sysctl.conf'. Suchen Sie nach einer Zeile mit dem Eintrag „#net.IPv4.ip_forward=1“ und entfernen Sie das # am Anfang der Zeile.

Speichern Sie dann die Datei und führen Sie den Befehl 'sysctl' aus, um die angepassten Einstellungen zu aktivieren:

# sysctl -p /etc/sysctl.conf

Die Option '-p' ist die Abkürzung für '-load' und erfordert einen Namen für die zu befolgende Konfigurationsdatei.

Starten Sie als Nächstes das proc-Dateisystem, das Informationen zum Status des Linux-Kernels bereitstellt, mit dem folgenden Befehl neu:

# /etc/init.d/procps Neustart

Etwa 2015 wurde der Dateiname von 'procps . gekürzt.sch' zu 'procps'. Auf älteren Debian-Systemen heißt das Skript, das Sie aufrufen müssen, also 'procps .sch', stattdessen.

Umgang mit Systemd

Die nächste Hürde kam mit der Veröffentlichung von Systemd Version 221. Die IP-Weiterleitung ist standardmäßig deaktiviert und für die Aktivierung muss eine zusätzliche Datei vorhanden sein. Wenn es noch nicht da ist, einfach hinzufügen. Der Dateiname besteht aus dem Namen der Netzwerkschnittstelle gefolgt von der Endung '.Netzwerk', zum Beispiel 'eth0.network' für die Netzwerkschnittstelle '/dev/eth0'. Wie in der Dokumentation [4] angegeben, werden andere Erweiterungen ignoriert.

Der folgende Codeausschnitt zeigt das Setup für die Netzwerkschnittstelle '/dev/tun0'. Es besteht aus zwei Abschnitten - "Match" und "Network". Definieren Sie im Abschnitt Übereinstimmung den Namen der Netzwerkschnittstelle und aktivieren Sie im Abschnitt Netzwerk die IP-Weiterleitung.

# cat /etc/systemd/network/tun0.Netzwerk
[Spiel]
Name=tun0
[Netzwerk]
IPForward=ipv4

Fazit

Die Aktivierung der IP-Weiterleitung für IPv4 ist kein Geheimnis. Nur ein paar Schritte und du bist da. Viel Spaß beim Hacken!

Links und Referenzen

* [1] Einrichten von Systemd-Networkd, Debian-Wiki
* [2] Jürgen Haas: Lerne den Linux-Befehl sysctl
* [3] Systemd News für Version 221
* [4] Dokumentation für Systemd

Battle for Wesnoth-Tutorial
The Battle for Wesnoth ist eines der beliebtesten Open-Source-Strategiespiele, die Sie derzeit spielen können. Dieses Spiel befindet sich nicht nur se...
0 A.D. Lernprogramm
Von den vielen Strategiespielen da draußen, 0 A.D. schafft es, sich trotz Open Source als umfassender Titel und sehr tiefgehendes, taktisches Spiel ab...
Unity3D-Tutorial
Einführung in Unity 3D Unity 3D ist eine leistungsstarke Engine für die Spieleentwicklung. Es ist plattformübergreifend, das heißt, Sie können Spiele ...