iptables persistent unter ubuntu abspeichern

Oktober 21, 2023
Wie du mithilfe von iptables eine portweiterleitung unter ubuntu einrichtest und diese mithilfe eines init-scriptes dauerhaft machen kannst.

Portweiterleitung mit iptables in Ubuntu

In diesem Artikel erfahren Sie, wie Sie Portweiterleitungsregeln mit iptables auf einem Ubuntu-System einrichten, um den Datenverkehr von einem Netzwerkinterface zu einem anderen umzuleiten.

Die Aufgabe

Nehmen wir an, Sie möchten den Datenverkehr von einem Interface namens “tailscale0” auf Port 443 und Port 80 auf eine interne IP-Adresse, z.B. 192.168.1.16, weiterleiten.

Die Lösung

Um diese Portweiterleitungsregeln zu erstellen, können Sie iptables verwenden. Verwenden Sie die folgenden Befehle, um die Regeln einzurichten:


iptables -t nat -A PREROUTING -i tailscale0 -p tcp --dport 443 -j DNAT --to 192.168.1.16:443
iptables -t nat -A PREROUTING -i tailscale0 -p tcp --dport 80 -j DNAT --to 192.168.1.16:80
        

Automatisierung beim Systemstart

Um sicherzustellen, dass diese Regeln beim Systemstart aktiviert werden, können Sie ein Init-Skript erstellen und verwenden. Hier ist ein Beispiel, wie Sie dies tun können:

Schritt-für-Schritt-Anleitung

Schritt 1: Init-Skript erstellen

Öffnen Sie ein Terminal und erstellen Sie eine neue Datei für Ihr Init-Skript, zum Beispiel:

nano /etc/init.d/custom-iptables

Schritt 2: Init-Skript bearbeiten

Fügen Sie den folgenden Inhalt in die erstellte Datei ein:


#!/bin/bash
### BEGIN INIT INFO
# Provides:          custom-iptables
# Required-Start:    $network $local_fs $remote_fs
# Required-Stop:     $network $local_fs $remote_fs
# Default-Start:     2 3 4 5
# Default-Stop:      0 1 6
# Short-Description: Apply custom iptables rules
### END INIT INFO

# iptables rules
iptables -t nat -A PREROUTING -i tailscale0 -p tcp --dport 443 -j DNAT --to 192.168.1.16:443
iptables -t nat -A PREROUTING -i tailscale0 -p tcp --dport 80 -j DNAT --to 192.168.1.16:80

exit 0
    

Schritt 3: Skript ausführbar machen

Machen Sie das Init-Skript ausführbar:

sudo chmod +x /etc/init.d/custom-iptables

Schritt 4: Init-System aktualisieren

Aktualisieren Sie das Init-System, um das Skript beim Systemstart auszuführen:

sudo update-rc.d custom-iptables defaults

Damit wird das Init-Skript bei jedem Systemstart ausgeführt, und die iptables-Regeln werden angewendet.

Stellen Sie sicher, dass die Regeln für Ihre spezifische Anwendung und Konfiguration korrekt sind, bevor Sie das Skript aktivieren.

Fazit

Die Verwendung von iptables zur Einrichtung von Portweiterleitungsregeln in Ubuntu kann die Netzwerkkonfiguration und Sicherheit verbessern. Stellen Sie sicher, dass Sie die Regeln an Ihre spezifischen Anforderungen anpassen und über ausreichende Kenntnisse in der Netzwerkkonfiguration verfügen.