Inhaltsverzeichnis
ArchLinux - ip_forward - Router
Die Konfiguration eines Linux-Servers als Router ermöglicht es, z.B. eine Internet-Verbindung, welche an einem Server besteht, mit weiteren Servern im Netzwerk zu teilen, ohne das jeder einzelne Server eine eigene Verbindung in das Internet selbst herstellen muss.
Beschreibung | Externer Link |
---|---|
Homepage | https://www.archlinux.de/ |
Herunterladen | https://www.archlinux.de/download |
Dokumentation | https://wiki.archlinux.de/title/Hauptseite |
Installation | https://wiki.archlinux.de/title/Anleitung_für_Einsteiger |
- Internet sharing | https://wiki.archlinux.org/index.php/Internet_sharing |
Als Beispiel sollen hier ein Server als Router konfiguriert werden und ein weiterer Server die Internet-Verbindung des Routers nutzen:
/\/\/\/\/\/\ +--------------------------+ +-------------------------------------------------+ | Internet | <-- | net1 <-> Router <-> net0 | <-- | net0 <-> Server ohne eigene Internet Verbindung | \/\/\/\/\/\/ +--------------------------+ +-------------------------------------------------+
Ab hier werden root
-Rechte zur Ausführung der nachfolgenden Befehle benötigt. Um der Benutzer root
zu werden, geben Sie bitte nachfolgenden Befehl ein:
$ su - Password:
/etc/sysctl.d/30-ipforward.conf
Damit der Server, welcher als Router fungieren soll, auch in die Lage versetzt werden kann, dass dieser auch den Netzwerkverkehr eines anderen Servers im Netzwerk forwarden (durch reichen) kann, ist es erforderlich eine Konfigurationsdatei unter nachfolgendem Pfad mit nachfolgendem Namen
/etc/sysctl.d/30-ipforward.conf
im Dateisystem zu erstellen und mit nachfolgendem Inhalt zu versehen:
net.ipv4.ip_forward=1 net.ipv6.conf.default.forwarding=1 net.ipv6.conf.all.forwarding=1
/etc/iptables/iptables.rules
Damit der Server, welcher als Router fungieren soll, auch das Routing im Netzwerk durchführen kann, sind nachfolgende Firewall-Regeln zwingend erforderlich, auch wenn bis dato noch keine Firewallregeln konfiguriert wurden.
Nachfolgende Regeln können durch nachfolgende Befehle gesetzt werden:
# iptables -t nat -A POSTROUTING ! -d 192.168.122.0/24 -o net1 -j SNAT --to-source 192.168.122.1
Aktivieren des SNAT Mechanismus, damit die IP-Adresse des Servers, welcher als Router fungieren soll, als Absendeadresse für den dahinter liegenden Server verwendet wird und nicht dessen eigene IP-Adresse.
WICHTIG - Persistieren der neuen Regeln!
Nachfolgender Befehl speichert die neuen Firewallregeln zusammen mit ggf. bereits vorhandenen Firewallregeln:
# iptables-save > /etc/iptables/iptables.rules
Ein Test, ob die neuen Firewallregeln gespeichert wurden, kann durch Laden der zuvor gespeicherten Regeln mit nachfolgendem Befehl erfolgen:
# iptables-restore /etc/iptables/iptables.rules
Ein minimaler Firewallregelsatz könnte wie in nachfolgendem Beispiel gezeigt aussehen:
/etc/iptables/iptables.rules
# Generated by iptables-save v1.8.5 on Mon Sep 7 12:31:03 2020 *nat :PREROUTING ACCEPT [0:0] :INPUT ACCEPT [0:0] :OUTPUT ACCEPT [0:0] :POSTROUTING ACCEPT [0:0] -A POSTROUTING ! -d 192.168.122.0/24 -o net1 -j SNAT --to-source 192.168.122.10 COMMIT # Completed on Mon Sep 7 12:31:03 2020