Benutzer-Werkzeuge

Webseiten-Werkzeuge


tachtler:archlinux_-_ip_forward_router

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen RevisionVorhergehende Überarbeitung
Nächste Überarbeitung
Vorhergehende Überarbeitung
tachtler:archlinux_-_ip_forward_router [2020/09/02 19:09] klaustachtler:archlinux_-_ip_forward_router [2021/09/08 16:03] (aktuell) – [/etc/iptables/iptables.rules] klaus
Zeile 1: Zeile 1:
 ====== ArchLinux - ip_forward - Router ====== ====== 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 Server im Netzwerk zu teilen, **__ohne__** das __jeder__ Server eine eigene Verbindung in Internet selbst herstellen muss.+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                                                                   ^ ^ Beschreibung       ^ Externer Link                                                                   ^
Zeile 10: Zeile 10:
 | - Internet sharing | [[https://wiki.archlinux.org/index.php/Internet_sharing]]                       | | - Internet sharing | [[https://wiki.archlinux.org/index.php/Internet_sharing]]                       |
  
-Als **Beispiel** sollen hier **ein Server als Router** konfiguriert werden und eine weiterer Server die Internet-Verbindung des ersten nutzen:+Als **Beispiel** sollen hier **ein Server als Router** konfiguriert werden und ein weiterer Server die Internet-Verbindung des Routers nutzen:
 <code> <code>
- /----------\     +--------------------------+     +-------------------------------------------------++ /\/\/\/\/\/\     +--------------------------+     +-------------------------------------------------+
  | Internet | <-- | net1 <-> Router <-> net0 | <-- | net0 <-> Server ohne eigene Internet Verbindung |     | Internet | <-- | net1 <-> Router <-> net0 | <-- | net0 <-> Server ohne eigene Internet Verbindung |   
- \----------/     +--------------------------+     +-------------------------------------------------++ \/\/\/\/\/\/     +--------------------------+     +-------------------------------------------------+
 </code> </code>
  
Zeile 22: Zeile 22:
 $ su - $ su -
 Password:  Password: 
 +</code>
 +
 +===== /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:
 +<code bash>
 +net.ipv4.ip_forward=1
 +net.ipv6.conf.default.forwarding=1
 +net.ipv6.conf.all.forwarding=1
 +</code>
 +
 +===== /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:
 +
 +  * <code># iptables -t nat -A POSTROUTING ! -d 192.168.122.0/24 -o net1 -j SNAT --to-source 192.168.122.1</code>
 +
 +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**:
 +<code>
 +# iptables-save > /etc/iptables/iptables.rules
 +</code>
 +
 +Ein Test, ob die **neuen Firewallregeln** gespeichert wurden, kann durch Laden der zuvor gespeicherten Regeln mit nachfolgendem Befehl erfolgen:
 +<code>
 +# iptables-restore /etc/iptables/iptables.rules
 +</code>
 +
 +Ein minimaler Firewallregelsatz könnte wie in nachfolgendem Beispiel gezeigt aussehen:
 +  * ''/etc/iptables/iptables.rules''
 +<code bash>
 +# 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
 </code> </code>
  
tachtler/archlinux_-_ip_forward_router.1599066558.txt.gz · Zuletzt geändert: 2020/09/02 19:09 von klaus