Portforwarding Raspberry pi3

freak1051

Ensign
Registriert
Dez. 2012
Beiträge
197
Hallo Community,

Ich habe nun doch recht lange im Netz geschaut zu diesem Thema, werde aber irgendwie nicht richtig fündig für meine Anwendung.

Ich Würde gerne eine Raspberry Pi Nutzen, um 2 Netzwerke miteinander zu verbinden. Die Pi kann sich mit einer Statischen IP ins W-lan einhängen, in der auch nachher mein PC steht. An die Lan-Schnittstelle der RPI kommt ein anderes Netzwerk.

Angenommen die Raspberry hat als W-lan Adresse 192.168.10.25 und hinter dem Raspberry an der Lan Schnittstelle hängen 2 Geräte, deren IP ich nicht verändern kann/darf/will.

Wie muss ich das Portforwarding einrichten dass ich mit

- 192.168.10.25:1001 auf die (Beispieladresse) 192.168.1.10
- 192.168.10.25:1002 auf die (Beispieladresse) 192.168.1.15

komme.

Habe gelesen das mit iptables es möglich wäre.

Meine Vorhergehensweise wäre nun gewesen:

1. Wlan-Schnittstelle statisch vergeben und WiFi Passwort eintragen
2. Lan-Schnittstelle soll als Gateway Fungieren, also also oberes Beispiel der Lan-Schnittstelle 192.168.1.1 vergeben

3. Aktivieren des Portforwarding. Gelesen aus einer Anleitung im Netz:
- net.ipv4.ip_forward=1 an das ende der Datei: /etc/sysctl.conf schreiben

4. Nun heißt es in besagter Anleitung: "Jetzt konfigurieren wir noch das NAT zwischen WLAN0 und ETH0 über das Tool iptables (die Änderungen lander in der Datei /etc/iptables.ipv4.nat)"

als Beispiel wurde Dies angeführt:

sudo iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
sudo iptables -A FORWARD -i eth0 -o wlan0 -m state --state RELATED,ESTABLISHED -j ACCEPT
sudo iptables -A FORWARD -i wlan0 -o eth0 -j ACCEPT

sudo sh -c "iptables-save > /etc/iptables.ipv4.nat"



Hier fangen die fragen an. Gebe ich die Befehle nacheinander ein? Woanders habe ich gesehen dass manche leute Scripte schreiben und speichern:
Code:
echo "Alle lokalen Verbindungen auf dem Loopback akzeptieren"
sudo iptables -A INPUT -i lo -j ACCEPT
 
echo "Komische aussehende Pakete verwefen (oft fuer Angriffe benutzt)"
sudo iptables -A INPUT -p tcp ! --syn -m state --state NEW -j DROP
sudo iptables -A INPUT -f -j DROP
sudo iptables -A INPUT -p tcp --tcp-flags ALL ALL -j DROP
sudo iptables -A INPUT -p tcp --tcp-flags ALL NONE -j DROP
 
echo "Datenverkehr akzeptieren der zu einer bereits geoeffneten Verbindung gehoert"
sudo iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
 
echo "SSH erlauben"
sudo iptables -A INPUT -p tcp -m state --state NEW -m tcp --dport 22 -j ACCEPT
sudo iptables -A INPUT -p tcp -m state --state NEW -m tcp --dport 10115 -j ACCEPT
 
echo "Alle anderen Verbindungen ablehnen"
sudo iptables -A INPUT -j REJECT --reject-with icmp-host-prohibited

diese Konfiguration dann mit dem Befehl sudo sh -c "iptables-save > /etc/network/iptables" speichern.


Bisher soweit so gut.

AAAABER: was muss ich denn bitte eingeben, damit ich von der externen Adresse mit dem externen Port 1001 auf den internen port 1001 weiterleite, hinter dem sich dann die 192.168.1.10 versteckt? irgendwie sehe ich hier den wald vor lauter bäumen nicht. Wie muss ich das denn eingeben?

und vor allem Nächste frage. Gibt es die Möglichkeit diese liste beispielsweise in nano zu editieren. im falle, dass man evtl mal hinterm Lanadapter doch andere Adressen hat?

Toll wäre irgendwie eine Datei, Inder ich beispielsweise 100 routen vorbereite und die die ich nicht benötige auskommentiere. und wenn es eine IP-Änderung im adressbereich 192.168.1.x gibt kann ich die Datei editieren und bin fertig.

Wieß hier jemand ne Antwort? vielen dank schonmal
 
Was du willst, ist ein Router. Und zwar soll das der Raspberry (Version ist egal) machen. Mit dem Suchbegriff "Raspberry Router" findet ganz viele Anleitungen. Man könnte den Suchbegriff noch verallgemeinern und statt Raspberry einfach Linux oder Debian verwenden. Dann findet man bestimmt noch bessere Anleitungen.

Für die Portweiterleitung habe ich das oder das gefunden. Weil das Programm heißt "iptables" und du möchtest eine Portweiterleitung.

Achja noch was allgemeines zu iptables: Die Befehle, die du eingibst, werden in der Reihenfolge abgearbeitet, in der du sie eingegeben hast. Nach neustart sind die Regel weg. Man kann die auch manuell löschen mit
Code:
iptables -F
 
Zuletzt bearbeitet:
Okay, danke schon mal für die Info.

Wie bekomm ich es denn dann hin, dass die Befehle nach Neustart nachwievor da sind? Kann man die irgendwie in ein Script einbinden, und bei Neustart ausführen lassen? hast du noch n Heißen Tip, wo ich da ne Anleitung dazu herbekomme?
 
Zurück
Oben