Wie kann ich auf einen Server, auf meinem Raspberry Pi, von anderen Netzwerken heraus zugreifen?

  • Hallo Leute,

    ich habe mir vor einigen Wochen einen Raspberry Pi zugelegt und wollte versuchen als erste Hürde einen Minecraft Server darauf aufzusetzen und mittels IPv6 für meine Freunde verfügbar zu machen.

    Dieses Vorhaben ist mir bereits mit Port Forwarding/IPv6 Host-Exposure auf meinem Windows-PC gelungen.

    In meinem Vodafone-Router muss ich dazu nur die MAC-Adresse des Gerätes und den gewünschten Port angeben.

    Durch DS-Lite habe ich leider nur eine öffentliche IPv6, mit der ich so etwas machen kann.

    Auf Windows musste ich dann noch zusätzlich meine Ports in der Firewall freigeben und meine Freunde konnte meinem Server mit der öffentlichen IPv6 meines Routers + Port 25565 beitreten.
    Das hat ohne Probleme funktioniert und beweist mir somit, dass mein Router zu so etwas in der Lage ist.

    Nun habe ich meinen Pi neu aufgesetzt und den Server installiert.
    In der IPv6 Host-Exposure Regel habe ich nur die MAC-Adresse in die meines Pi verändert. Dieser ist per LAN-Kabel angeschlossen.

    Der Server startet ohne Probleme und ich kann ihm von meinem Windows-PC mit der lokalen IPv4 und IPv6 meines Pi beitreten.

    Von außen kann mir aber keiner mehr mit meiner Router IPv6 beitreten.

    Meine ufw ist inaktiv (welche ich beim Herumprobieren noch installiert hatte):

    Code
    pi@raspberrypi:~ $ sudo ufw status
    Status: inactive
    pi@raspberrypi:~ $

    Mein Pi horcht auf dem Port 25565:

    Code
    pi@raspberrypi:~ $ netstat -an | grep 25565
    tcp6       0      0 :::25565                :::*                    LISTEN
    pi@raspberrypi:~ $

    Und generell dürfte mein Pi nicht eingeschränkt sein:

    Code
    pi@raspberrypi:~ $ sudo iptables -L
    Chain INPUT (policy ACCEPT)
    target     prot opt source               destination
    
    Chain FORWARD (policy ACCEPT)
    target     prot opt source               destination
    
    Chain OUTPUT (policy ACCEPT)
    target     prot opt source               destination
    pi@raspberrypi:~ $

    Bedauerlicherweise bekomme ich auch nirgendwo eine Fehlermeldung.
    Auf Webseiten mit denen ich testen kann, ob ein bestimmter Port verfügbar ist, bekomme ich nur ein "FILTERED" als Antwort.
    "Entweder wird etwas durch die Firewall gefiltert oder es gibt andere Netzwerkprobleme"

    Wenn ich in meinem Router wieder auf meine W-PC-Adresse zurückändere, bekomme ich ein "CLOSED" als Antwort. Das macht Sinn.

    Ich habe viel herumprobiert, aber ich komme bedauerlicherweise zu keinem Ergebnis.

    Wie gesagt, ich glaube nicht, dass es an meinem Router liegt.

    Eventuell ist mein PI/Linux noch nicht richtig konfiguriert.

    Im Lokalen Netzwerk funktioniert alles einwandfrei und mein Router kann prinzipiell etwas auf meinen Windows-PC forwarden.

    Nur mit dem PI habe ich Schwierigkeiten.

    Ich hoffe, die Community kann mir hierbei helfen.

  • Wie kann ich auf einen Server, auf meinem Raspberry Pi, von anderen Netzwerken heraus zugreifen?? Schau mal ob du hier fündig wirst!

  • Go to Best Answer
  • Meine ufw ist inaktiv (welche ich beim Herumprobieren noch installiert hatte):

    ufw kannst Du auch deinstallieren.

    Bei IPv6 musst Du ip6tables benutzen und konfigurieren.

    The most popular websites without IPv6 in Germany.  IPv6-Ausreden

    Meine PIs

    PI4B/8GB (border device) OpenBSD 7.4 (64bit): SSH-Server, WireGuard-Server, ircd-hybrid-Server, stunnel-Proxy, Mumble-Server

    PI3B+ FreeBSD 14.0-R-p3 (arm64): SSH-Serv., WireGuard-Serv., ircd-hybrid-Serv., stunnel-Proxy, Mumble-Serv., ddclient

    PI4B/4GB Bullseye-lite (64bit): SSH-Server, WireGuard-Server, ircd-hybrid-Server, stunnel-Proxy, Mumble-Server, botamusique, ample

    PI3B OpenBSD 7.4 (64bit), mit stayauth-Flag 24/7 im Wlan

  • Bei IPv6 musst Du ip6tables benutzen und konfigurieren.

    Danke für die schnelle Antwort.

    Ich habe folgende Änderungen, hinzugefügt:

    Leider besteht das Problem immer noch. :sleeping:

    Warscheinlich habe ich irgendwo einen Fehler wieder gemacht.

  • Ich habe folgende Änderungen, hinzugefügt:

    Leider besteht das Problem immer noch.

    Die default policy der chains ist eh auf ACCEPT. Die Regeln haben kein Wirkung.

    Was Du machen solltest ist, mit tcpdump und dem richtigen Filter, auf dem Interface schauen/sniffen ob Verbindungsversuche von außen, ankommen. Wenn das der Fall ist, weißt Du, dass die v6-Portfreigabe (oder gleichwertig) in der v6-Firewall vom Router, richtig gemacht worden ist. Für den Zugriff aus dem Internet bzw. für den v6-TCP-Port-scan kannst Du ein Webtool benutzen.

    The most popular websites without IPv6 in Germany.  IPv6-Ausreden

    Meine PIs

    PI4B/8GB (border device) OpenBSD 7.4 (64bit): SSH-Server, WireGuard-Server, ircd-hybrid-Server, stunnel-Proxy, Mumble-Server

    PI3B+ FreeBSD 14.0-R-p3 (arm64): SSH-Serv., WireGuard-Serv., ircd-hybrid-Serv., stunnel-Proxy, Mumble-Serv., ddclient

    PI4B/4GB Bullseye-lite (64bit): SSH-Server, WireGuard-Server, ircd-hybrid-Server, stunnel-Proxy, Mumble-Server, botamusique, ample

    PI3B OpenBSD 7.4 (64bit), mit stayauth-Flag 24/7 im Wlan

  • Ich wollte nur mitteilen, dass nun alles funktioniert auf einmal.
    Plötzlich finde ich meinen Pi über andere Netzwerke.
    Ich weiß nicht wirklich, was ich genau jetzt richtig gemacht habe, aber ich werde mich auf Fehlersuche begeben.

    Ich weiß nur, wenn ich ">ip a" eingebe, dann bekomme ich die Adressen meines Pi angezeigt. Und dort muss ich die:

    Code
    "inet6 2a02:xxxx:xxxx:xxxx::xxxx/128 scope global dynamic noprefixroute" 

    Adresse benutzen. Meine Router Adresse brauche ich nicht mehr.

    Laut ChatGBT handelt es sich hierbei um die "globale" IPv6-Adresse meines Raspberry Pi.

    Wirklich viel Sinn macht das für mich jetzt noch nicht, ich bin aber auch kein Experte in IPv6.

    Ich bedanke mich trotzdem weiterhin für jede weitere Aufklärung dieses Falles.

    Vorher vs. nachher:

    Edited once, last by Konslufius (November 21, 2023 at 10:34 PM).

  • Meine Router Adresse brauche ich nicht mehr.

    Laut ChatGBT handelt es sich hierbei um die "globale" IPv6-Adresse meines Raspberry Pi.

    Wirklich viel Sinn macht das für mich jetzt noch nicht, ....

    Doch das mach schon Sinn. Du musst nur wissen, dass mit IPv6 dein PI jetzt "border device" ist (d. h. direkt im Internet, wenn dein Router eine v6-Firewall hat und diese v6-Firewall komplett oder evtl. auch nur einzelne Ports geöffnet sind).

    Was Du jetzt evtl. noch auf deinem PI brauchst, ist ein v6-fähiger dyndns-Client (z. B. ddclient) und einen v6-fähigen dyndns-Provider. Der Rest ist dann nur noch eine Frage der Konfiguration.

    The most popular websites without IPv6 in Germany.  IPv6-Ausreden

    Meine PIs

    PI4B/8GB (border device) OpenBSD 7.4 (64bit): SSH-Server, WireGuard-Server, ircd-hybrid-Server, stunnel-Proxy, Mumble-Server

    PI3B+ FreeBSD 14.0-R-p3 (arm64): SSH-Serv., WireGuard-Serv., ircd-hybrid-Serv., stunnel-Proxy, Mumble-Serv., ddclient

    PI4B/4GB Bullseye-lite (64bit): SSH-Server, WireGuard-Server, ircd-hybrid-Server, stunnel-Proxy, Mumble-Server, botamusique, ample

    PI3B OpenBSD 7.4 (64bit), mit stayauth-Flag 24/7 im Wlan

  • Doch das mach schon Sinn. Du musst nur wissen, dass mit IPv6 dein PI jetzt "border device" ist (d. h. direkt im Internet, wenn dein Router eine v6-Firewall hat und diese v6-Firewall komplett oder evtl. auch nur einzelne Ports geöffnet sind).

    Was Du jetzt evtl. noch auf deinem PI brauchst, ist ein v6-fähiger dyndns-Client (z. B. ddclient) und einen v6-fähigen dyndns-Provider. Der Rest ist dann nur noch eine Frage der Konfiguration.

    Bin froh, dass jetzt alles funktioniert. Und du hast recht mit den Ports. Es muss mindestens einer offen sein, damit etwas anderes als "FILTERED" bekomme.

    Zusammengefasst:

    1. Globale IPv6 des Pi benutzen

    2. Mindestens einen Port für den Pi im Router öffnen.

  • Was Du jetzt evtl. noch auf deinem PI brauchst, ist ein v6-fähiger dyndns-Client (z. B. ddclient) und einen v6-fähigen dyndns-Provider. Der Rest ist dann nur noch eine Frage der Konfiguration.

    Könnte das der Grund sein, warum ich den Pi immer noch nicht so richtig von aussen anpingen kann?
    Laut der Webseite sind die Ports immer noch Closed oder Open. Da wird nichts gfiltert.

    Leider kann ich von einem anderen Netzwerk aus, meinen Pi immer noch nicht richtig pingen, oder mich mit ssh verbinden.

  • ..., warum ich den Pi immer noch nicht so richtig von aussen anpingen kann?
    Laut der Webseite sind die Ports immer noch Closed oder Open. Da wird nichts gfiltert.

    Leider kann ich von einem anderen Netzwerk aus, meinen Pi immer noch nicht richtig pingen, oder mich mit ssh verbinden.

    Was genau meinst Du mit "von aussen" und mit "von einem anderen netzwerk"?

    Hast Du auf deinem PI die privacy extenssions dauerhaft deaktiviert und das (auto)zuweisen der IPv6-Adresse so konfiguriert, dass die Interface-ID der IPv6-Adressen immer statisch und mac-adressen-basiert ist?

    Benutzt Du jetzt die richtige IPv6-Adresse für den v6-Ping? ... und was heißt "nicht so richtig"? Geht er nur manchmal? Hast Du auch mit tcpdump auf dem PI gesnifft ob die icmpv6-Pakete ankommen?

    Für den Zugriff von außen mit _nur_ der richtigen IPv6-Adresse (d. h. zum testen), brauchst Du noch keine v6-dyndns-Infrastruktur (Client und Provider).

    The most popular websites without IPv6 in Germany.  IPv6-Ausreden

    Meine PIs

    PI4B/8GB (border device) OpenBSD 7.4 (64bit): SSH-Server, WireGuard-Server, ircd-hybrid-Server, stunnel-Proxy, Mumble-Server

    PI3B+ FreeBSD 14.0-R-p3 (arm64): SSH-Serv., WireGuard-Serv., ircd-hybrid-Serv., stunnel-Proxy, Mumble-Serv., ddclient

    PI4B/4GB Bullseye-lite (64bit): SSH-Server, WireGuard-Server, ircd-hybrid-Server, stunnel-Proxy, Mumble-Server, botamusique, ample

    PI3B OpenBSD 7.4 (64bit), mit stayauth-Flag 24/7 im Wlan

  • Was genau meinst Du mit "von aussen" und mit "von einem anderen netzwerk"?

    Hast Du auf deinem PI die privacy extenssions dauerhaft deaktiviert und das (auto)zuweisen der IPv6-Adresse so konfiguriert, dass die Interface-ID der IPv6-Adressen immer statisch und mac-adressen-basiert ist?

    Benutzt Du jetzt die richtige IPv6-Adresse für den v6-Ping? ... und was heißt "nicht so richtig"? Geht er nur manchmal? Hast Du auch mit tcpdump auf dem PI gesnifft ob die icmpv6-Pakete ankommen?

    Für den Zugriff von außen mit _nur_ der richtigen IPv6-Adresse (d. h. zum testen), brauchst Du noch keine v6-dyndns-Infrastruktur (Client und Provider)."

    "von aussen" = Von einem anderen Netzwerk aus angepingt.
    Also ich habe versucht meinen Pi innerhalb eines anderen Netzwer anzupingen.

    Dabei bekomme ich 100% Paketverlust und einen "Unknown Error"

    Für die Privacy Extention muss ich nochmal nachgucken sobald ich kann, aber ich nehme raus, dass ich die deaktivieren muss im Zweifel.

    Das automatische Zuweisen der IPv6-Adresse habe ich noch überhaupt nicht konfiguriert und demnach auch nichts expliziet statisch gemacht.
    Was wäre die "richtige" IPv6 für den Ping? Die öffentliche IPv6 meines Pi?
    "nicht so richtig" damit wollte ich nur ausdrücken, dass die Portscanner Webseiten zwar die offenen Ports jetzt erkennen, aber das Pingen und SSH nicht funktioniert.

    Mit dem TCP-Dump war ich in der Lage zu erkennen, wenn eine Portscanner Webseite die Ports geprüft hat.

    EDIT: Bei gelegenheit werde ich expliziet auf ICMPv6 Anfragen achten.

  • Also ich habe versucht meinen Pi innerhalb eines anderen Netzwer anzupingen.

    ...

    Was wäre die "richtige" IPv6 für den Ping? Die öffentliche IPv6 meines Pi?

    Mit dem TCP-Dump war ich in der Lage zu erkennen, wenn eine Portscanner Webseite die Ports geprüft hat.

    EDIT: Bei gelegenheit werde ich expliziet auf ICMPv6 Anfragen achten.

    Es ist auch davon abhängig, wie das andere Netzwerk (aus dem Du den v6-Ping machst) konfiguriert ist. Deshalb ist es immer gut, aus dem Internet (d. h. von einem anderen/fremden Internetanschluss mit nativem IPv6 oder mit einem geeigneten Webtool) zum PI, die Verbindung zu testen.

    Ja, die öffentliche IPv6 des PI (mit statischer/mac-adress-basierter Interface-ID).

    Das ist auch davon abhängig, wie die v6-Firewall deines Routers bzgl. eingehender v6-Verbindungen (udp6, tcp6, icmp6, etc) konfiguriert ist.

    The most popular websites without IPv6 in Germany.  IPv6-Ausreden

    Meine PIs

    PI4B/8GB (border device) OpenBSD 7.4 (64bit): SSH-Server, WireGuard-Server, ircd-hybrid-Server, stunnel-Proxy, Mumble-Server

    PI3B+ FreeBSD 14.0-R-p3 (arm64): SSH-Serv., WireGuard-Serv., ircd-hybrid-Serv., stunnel-Proxy, Mumble-Serv., ddclient

    PI4B/4GB Bullseye-lite (64bit): SSH-Server, WireGuard-Server, ircd-hybrid-Server, stunnel-Proxy, Mumble-Server, botamusique, ample

    PI3B OpenBSD 7.4 (64bit), mit stayauth-Flag 24/7 im Wlan

  • Denk nur bitte daran, wenn der PI eine öffentliche IP Adresse hat, alles aus dem Internet erreichbar ist. Incl. SSH.
    Also Absichern.
    Sonst haben wir bald den nächsten Bot.

    Offizieller Schmier und Schmutzfink des Forum.
    Warum einfach wenn's auch schwer geht ?

    Kein Support per PN !
    Fragen bitte hier im Forum stellen. So hat jeder etwas davon.

  • Mit einer 2-Faktor Autorisierung über "auth required pam_google_authenticator.so" sollte das doch eigentlich keine Problem sein oder?

    Ich nutze pam_google_authenticator.so für eine RealVNC Verbindung aus dem Internet. Über denn Router ist auch nur der Port zum RealVNC freigeschalten.

  • Dazu muss ich ihn erstmal irgendwie erreichbar bekommen.

    Aber du hast recht. Sobald ich eine Verbindung zu meinem Pi aus dem Internet aufbauen kann, wird der Port sofort geschlossen.

    BTW: Um lediglich die Erreichbarkeit eines bestimmten Ports zu testen, muss kein daemon auf diesem Port lauschen. Es reicht den tcpdump mit dem in Frage kommenden Port als Filter zu starten und wenn der Port erreicht werden kann, wird tcpdump den eingehenden Verbindungsversuch mit dem syn-Flag, auch zeigen:

    Code
    192.168.178.13.12345 > 192.168.178.22.55: Flags [S], cksum 0xf07a (correct), seq 2289179464, win 1480, length 0

    Der Scan an der Gegenstelle war so:

    Code
    SENT (0.0388s) TCP 192.168.178.13:12345 > 192.168.178.22:55 S ttl=64 id=12777 iplen=40  seq=2289179464 win=1480 
    RCVD (0.0424s) ICMP [192.168.178.22 > 192.168.178.13 Port 55 unreachable (type=3/code=3) ] IP [ttl=64 id=50932 iplen=68 ]

    unreachable (per icmp) bedeutet, dass hier lediglich nicht gelauscht wird, aber das wusste man ja schon.

    The most popular websites without IPv6 in Germany.  IPv6-Ausreden

    Meine PIs

    PI4B/8GB (border device) OpenBSD 7.4 (64bit): SSH-Server, WireGuard-Server, ircd-hybrid-Server, stunnel-Proxy, Mumble-Server

    PI3B+ FreeBSD 14.0-R-p3 (arm64): SSH-Serv., WireGuard-Serv., ircd-hybrid-Serv., stunnel-Proxy, Mumble-Serv., ddclient

    PI4B/4GB Bullseye-lite (64bit): SSH-Server, WireGuard-Server, ircd-hybrid-Server, stunnel-Proxy, Mumble-Server, botamusique, ample

    PI3B OpenBSD 7.4 (64bit), mit stayauth-Flag 24/7 im Wlan

Participate now!

Don’t have an account yet? Register yourself now and be a part of our community!