Raspberry Pi und Port Forwarding


Klein0r

Erfahrenes Mitglied
Hallo zusammen,

ich habe ein seltsames Problem. Port Forwarding will mit meinem Raspberry Pi nicht zusammenarbeiten. Ich bin wirklich am Ende und habe keine Idee mehr warum es nicht geht. Folgende Schritte und Konfiguration

- Unitymedia
- no-ip.com
- Apple Airport Extreme
- MacBook Pro
- Raspberry Pi (raspBMC + Apache, ...)

Sowohl MacBook, als auch Raspberry gebe ich im DHCP per Mac-Adresse immer die selbe IP. Unitymedia (KEIN ipv6), als auch den Airport Extreme kann ich eigentlich als Fehlerquelle ausschließen, da HTTP (Port 80) auf mein MacBook (MAMP) anstandslos sofort funktioniert. Der Apache auf dem Raspberry ist über das LAN auch ohne Probleme erreichbar. Übers WAN komme ich aber weder per IP, noch per no-ip Domain auf mein Raspberry. Von SSH möchte ich garnicht erst reden...

Also muss das Problem irgendwie auf dem Pi liegen. Falsch konfiguriert? Warum sollte er die Verbindungen verweigern? Da es auf keinem Port funktioniert, würde ich eine falsche Konfiguration des Apache auch erstmal ausschließen wollen.

Muss man am Interface noch irgendetwas hinzufügen, erlauben?

Hier die ifconfig vom Raspberry:
Code:
eth0      Link encap:Ethernet  HWaddr b8:27:eb:f4:86:66  
          inet addr:192.168.44.113  Bcast:192.168.44.255  Mask:255.255.255.0
          inet6 addr: fe80::ba27:ebff:fef4:8666/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:3507 errors:0 dropped:0 overruns:0 frame:0
          TX packets:1055 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:839638 (819.9 KiB)  TX bytes:158922 (155.1 KiB)
 

Der Wolf

Erfahrenes Mitglied
Hallo,

nur eine kleine Idee, die mir gerade beim lesen gekommen ist, aber schränkst du eventuell den Zugriff nur auf einen bestimmten Teil des Netzwerks ein? Also dass zum Beispiel nur Rechner mit einer IP aus dem Bereich 192.168.44.* auf den Raspberry zugreifen dürfen?

Gruß,
Wolf

P.S.: Wobei ... durch Portforwarding müsste doch eigentlich die Anfrage dann von deinem Router mit der entsprechenden IP versehen werden oder? Hmm ...
 

Klein0r

Erfahrenes Mitglied
Da ich nicht weiß wie man sowas konfigurieren würde, eher nicht :) Aber das wäre die einzig plausible Erklärung.

Wobei ich da mich da auch deiner Vermutung angeschlossen hätte, dass die IP dann verdreht wird. Sicher bin ich mir da aber nicht, denn ich kenn die Spezifikation des Port Forwardings nicht.

Für mich macht das Verhalten nicht so wirklich Sinn. Es ist auch so, dass die Requests nicht direkt geblockt werden, sondern irgendwie in einen Timeout laufen. Es scheint also schon, dass er irgendetwas machen würden.

PS: Und nein, die Inhalte auf dem Apache sind für den Raspberry nicht zu komplex - momentan liefert eine index.php nur ein "Funktioniert!" aus :)
 

Klein0r

Erfahrenes Mitglied
Na toll - hätte nicht gedacht, dass eine konfiguriert ist. Heute Abend probiere ich also folgendes:

They claim elsewhere the firewall is iptables and the system is debian based, so if you can't find Settings or it doesn't work, look thru the list returned by service --status-all for "iptables". If it's there, to stop it:

Code:
service iptables stop
If you want to disable it permanently, use:
Code:
update-rc.d iptables disable
Quelle: http://raspberrypi.stackexchange.com/questions/5334/how-can-i-disable-raspbmcs-firewall-via-ssh
 

Klein0r

Erfahrenes Mitglied
Mh, der iptables service läuft nicht, und

Code:
sudo /sbin/iptables -L
liefert

Code:
Chain INPUT (policy ACCEPT)
target     prot opt source               destination         
ACCEPT     all  --  anywhere             anywhere             state RELATED,ESTABLISHED
ACCEPT     all  --  192.168.44.0/24      anywhere            
DROP       all  --  anywhere             anywhere            

Chain FORWARD (policy ACCEPT)
target     prot opt source               destination         

Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination
Ist das richtig? Klingt zumindest so.
 

Klein0r

Erfahrenes Mitglied
Mhhh? Was genau macht: sudo /sbin/iptables --flush
Auf einmal läuft es. Keine Ahnung was das bedeutet.

Habe auch gelesen, dass man die iptables-Zeilen in der folgenden Datei auskommentieren soll, damit es läuft:
Code:
/etc/network/if-up.d/secure-rmc
 

hendl

Erfahrenes Mitglied
Hi
Um dich ein wenig in Linux Firewall Optionen aufzuklären :D

Code:
Chain INPUT (policy ACCEPT)
target     prot opt source               destination         
ACCEPT     all  --  anywhere             anywhere             state RELATED,ESTABLISHED
#hier werden alle eingehenden Verbindungen zugelassen wenn sie bereits hergestellt sind 
ACCEPT     all  --  192.168.44.0/24      anywhere 
#hier werden alle LAN Zugriffe erlaubt            
DROP       all  --  anywhere             anywhere  
#hier blockierst du generell alle Zugriffe außer eine der oberen Regeln trifft auf das Paket zu; darum funktinierte der Zugriff auch nicht  


Mit iptables --flush oder iptables -F hast du alle Regeln aus der Firewall entfernt und lässt alle Verbindungen auf dein Raspi zu.
Lg hendl
 

Klein0r

Erfahrenes Mitglied
Danke für die Erläuterung! :) So macht das natürlich Sinn! Ist der flush denn nur temporär, oder sind die Regeln nun auch nach nem Neustart dahin?
 

hendl

Erfahrenes Mitglied
Die Regeln sollten normalerweise nach einem Neustart wieder vorhanden sein da sie ja noch im File vorhanden sind und beim Start wieder geladen werden.
 

Neue Beiträge