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.