SSH und VNC über 3G Netz

Heute ist Stammtischzeit:
Jeden Donnerstag 20:30 Uhr hier im Chat.
Wer Lust hat, kann sich gerne beteiligen. ;)
  • Hallo, ich kann meine Pi über einen Wlan Stick in meinem Netzwerk sowohl per SSH als auch per VNC verbinden.

    Jetzt habe ich einen Surfstick angeschlossen. Dieser baut jetzt eine Internetverbindung auf. Das geht auch alles soweit und ich komme ins Internet
    und erhalte einen Externe IP die ich über NO-IP erhalte und somit kenne.

    Wenn ich allerdings jetzt den Pi über diese Externe IP vom Surfstick erreichen will, kann ich diesen weder Pingen, noch sonst etwas.

    Was kann ich da machen, wie bekomme ich das hin.

    mfg
    druckgott

  • Die 3G-Netze sind von den Providern so eingerichtet, daß ein von "draussen" initiierter connect, ping, etc. nicht ohne weiteres möglich ist. Das ist auch gut so, denn sonst würde auch im Mobilfunknetz jede Menge Spam herumschwirren, was im Vergleich zum Festnetz besonders stören würde. Du müßtest also Deinen Provider fragen, ob er eine Ausnahme macht. ;)

    Gruß, mmi

  • Zitat von orb pid=10885 dateline=1366277741


    Die meisten Fritzboxen können VPN. Du mußt auf dem Pi nur OpenVPN einrichten und die Verbindung vom Pi aufbauen lassen. Dann ist er erreichbar als ob er bei Dir am Switch hängen würde.

    Ok aber ich kann den Pi ja gar nicht pingen, wenn er über 3G online ist!!

    Bzw wie lasse ich die Verbindung von PI aufbauen?

    Einmal editiert, zuletzt von druckgott (18. April 2013 um 19:36)

  • Es ist unerheblich, ob VPN oder SSH. Der Verbindungsaufbau muss zu einem System gehen, das eine öffentliche IP-Adresse hat und welches Du kontrollierst. Ein VPN/SSH Server (für den Tunnel) auf dem Pi über 3G fällt daher flach, da 3G-Provider NATen.

    Der Pi auf dem Flugplatz muss die Verbindung aufbauen, z.B. in Richtung Deiner Fritzbox, und z.B. wie in Deinem autossh-Bloglink. DynDNS-Client muss auf der Fritzbox laufen, damit der Flugplatz-Pi stets weiss, wohin er verbinden soll. Der Pi selbst braucht kein DynDNS.

  • Hallo, ich habe zwar jetzt noch kein dyn client, aber ich habe es mit meiner aktuellen IP versucht:
    ssh -R 2222:localhost:22 meineaktuelleexterneip

    In meiner Fritzbox habe ich ein Freigaben für die Ports 22 UDP/TCP für meine Interne Ip erstellt.

    Auf diesem Rechner läuft Ubuntu und ich habe den SSH Client laufen.

    Wenn ich intern auf meinen Rechner zu greifen will geht das auch schon.

    Aber von Extern kann ich nicht auf meinen Ubuntu Rechner connecten, dass muss wohl noch an der Fritzbox liegen, weil Pingen kann ich sie, auch von pi aus.

    An was kann das liegen, dass das noch nicht geht?

  • Code
    ssh -R 2222:localhost:22 meineaktuelleexterneip

    Den Befehl setzt Du auf dem Pi ab (später automatisch). Über die externe IP muss ein SSH Server erreichbar sein. Willst Du, dass der SSH-Server auf Ubuntu angesprochen wird, und nicht der SSH Server auf der Fritzbox (falls dort einer läuft), dann musst Du in der Fritzbox ein NAT für TCP Port 22 auf die interne Ubuntu-IP einrichten. Die rote 22 ist übrigens nur zufällig gleich mit der 22 aus dem ssh -R Aufruf. Falls Du über den obigen Aufruf keine Verbindung aufbauen kannst, dann stimmt das Fritzbox-NATing noch nicht, oder der SSH-Server auf Ubuntu läuft noch nicht.

    Auf dem Pi muss auf localhost:22 ebenfalls ein SSH-Server lauschen. Das ist diesmal genau die Angabe aus dem ssh -R Aufruf. Ein "netstat -ltn | grep :22" sollte Dir ein "0.0.0.0:22" in der dritten Spalte ausgeben, dann ist das ok. Hast Du also den ssh -R Aufruf auf dem Pi erfolgreich durchgeführt, sollte auf Ubuntu ein Aufruf von "ssh localhost -p 2222" im Pi münden.

  • Von einem internen Rechner auf die externe Ip zuzugreifen klappt bei den wenigsten Routern. Du brauchst einen zweiten Internetzugang.
    Ich hatte das VPN vorgeschlagen, weil es die bequemst Methode für Dich währe, allerdings suche ich noch nach einen Clienten für den PI.
    Kannst Du vom Pi aus über den Surfstick auf den SSH-Server des Ubuntu-Rechners zugreifen?

  • Hallo, ok danke für die Rückmeldung.

    Was alles aktuell geht:

    IM NETZWERK SSH Verbindung
    PI --> UBUNTU ok
    UBUNTU --> PI ok

    VON AUSSEN über externe IP SSH Verbindung
    UBUNTU --> UBUNTU nein
    PI --> UBUNTU nein
    UBUNTU --> PI nein

    Also das bedeutet der SSH Server auf Ubuntu und Pi laufen.

    Leider komme ich von außen nicht rein.
    In der Fritzbox habe ich das wie im Bild eingestellt (meine IP von Ubuntu ist 192.168.0.23, Michael-Ubuntu)

    An was kann das liegen?

    mfg
    druckgott

  • Im Prinzip wäre es das. Regeln SSH2-SSH4 brauchst Du nicht.

    Lass mal bitte die Ausgabe von "ifconfig", "route -n" auf dem Pi sehen, sicherheitshalber auch noch "iptables -L -n" auf Ubuntu. Es könnten auch Firewallregeln auf der Fritzbox sein.
    Ich frag nochmal um sicherzugehen: Du nimmst die externe IP der Fritzbox, also das, was Dir http://www.wieistmeineip.de bei Aufruf über Ubuntu sagt, richtig?

  • Ubuntu:

    Code
    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

    IPconfig PI:

    ist allerdings jetzt nur mit WLAN Stick.
    route -n

    Code
    Kernel IP routing table
    Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
    0.0.0.0         192.168.0.1     0.0.0.0         UG    0      0        0 wlan0
    192.168.0.0     0.0.0.0         255.255.255.0   U     0      0        0 wlan0

    Aber sollte das nicht eher ein Problem der Fritzbox sein, da ich ja schon gar nicht auf meinen ubunturechner über Extern komme auf den ich ja per SSH kommen muss oder?

  • Ich hatte eigentlich gehofft die Ausgabe zu sehen während der Surfstick aktiv ist. Aber egal, ich frage mal anders. Was ist die Meldung auf dem Pi wenn Du "ssh externefritzboxIP" eingibst? Was ist mit ping statt ssh?

    Und was meinst Du mit "schon gar nicht"? Das ist doch jetzt das Ziel.

  • Ping vom Pi auf Externe IP:

    Code
    ping 178.26.x.xx
    PING 178.26.x.xx (178.26.x.xx) 56(84) bytes of data.
    64 bytes from 178.26.x.xx: icmp_req=1 ttl=63 time=4.26 ms
    64 bytes from 178.26.x.xx: icmp_req=2 ttl=63 time=10.2 ms
    64 bytes from 178.26.x.xx: icmp_req=3 ttl=63 time=9.91 ms


    SSH von PI auf externe IP: (dauert erst mal ewig)

    Code
    ssh 178.26.x.xx
    ssh: connect to host 178.26.x.xx port 22: Network is unreachable



    Hier nochmal mit Stick:

    Code
    Kernel IP routing table
    Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
    0.0.0.0         10.64.64.64     0.0.0.0         UG    0      0        0 ppp0
    10.64.64.64     0.0.0.0         255.255.255.255 UH    0      0        0 ppp0
    192.168.0.0     0.0.0.0         255.255.255.0   U     0      0        0 wlan0



    Was ich ev. noch dazu sagen, muss ist, ich bin bei KD hab aber mein KD Modem durchgeschleust (bridge mode) dahinter hängt die FB, aber normal sollte das ja keine Rolle Spielen weil wenn ich den Bridge Mode aktiviere kann ich an dem KD Modem eh nix mehr einstellen, also das gar nicht mehr erreichbar.

    mfg
    druckgott

    Einmal editiert, zuletzt von druckgott (19. April 2013 um 22:51)

  • Zitat von druckgott pid=11133 dateline=1366403349


    Ping vom Pi auf Externe IP:

    Code
    ping 178.26.x.xx
    PING 178.26.x.xx (178.26.x.xx) 56(84) bytes of data.
    64 bytes from 178.26.x.xx: icmp_req=1 ttl=63 time=4.26 ms
    64 bytes from 178.26.x.xx: icmp_req=2 ttl=63 time=10.2 ms
    64 bytes from 178.26.x.xx: icmp_req=3 ttl=63 time=9.91 ms


    SSH von PI auf externe IP: (dauert erst mal ewig)

    Code
    ssh 178.26.x.xx
    ssh: connect to host 178.26.x.xx port 22: Network is unreachable

    Kannst Du das "network unreachable" reproduzieren während gleichzeitig pings durchkommen? Wenn ja, dann ist das eine Firewall-Geschichte. Hat die Fritzbox eine eingebaut? Dass KD Port 22 sperrt, glaube ich nicht. Du könntest ja mal versuchshalber einen anderen Port als 22 durchleiten. Z.b. die bereits bekannte 2222 auf ubuntu:22.
    Vom Pi führst Du danach

    Code
    ssh -R 2222:localhost:22 178.26.x.xx -p 2222


    aus.

    Einmal editiert, zuletzt von webster (20. April 2013 um 00:26)

  • Hallo, da hatte ich glaub ich den falschen Port sorry.

    Was gleichzeitig geht ist:

    Code
    ssh 178.26.xxxx
    ssh: connect to host 178.26.xxx port 22: Connection timed out


    und

    Code
    PING 178.26.xxx(178.26.xxx) 56(84) bytes of data.
    64 bytes from 178.26.xxx: icmp_seq=1 ttl=63 time=3.78 ms
  • Code
    PING 178.26.xxx(178.26.xxx) 56(84) bytes of data.
    64 bytes from 178.26.xxx: icmp_seq=1 ttl=63 time=3.78 ms

    Öhm, moment mal. Ich glaube, Du sabotierst mich und Dich selbst. Du hast nie und nimmer eine Latenz von 3 Millisekunden über 3G und eine Hop-Distanz von 1!
    Die Pings sind doch garantiert über WLAN gegangen, aber die Routing-Tabelle passt dazu überhaupt nicht:

    Code
    Kernel IP routing table
     Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
     0.0.0.0         10.64.64.64     0.0.0.0         UG    0      0        0 ppp0
     10.64.64.64     0.0.0.0         255.255.255.255 UH    0      0        0 ppp0
     192.168.0.0     0.0.0.0         255.255.255.0   U     0      0        0 wlan0


    Hast Du hier aus zwei unterschiedlichen Szenarien gecopypasted??

  • Ja war das falsche Terminal ich versuch jetzt gerade einfach zu verbinden, bin jetzt auf meinen Server bei Strato und von dort aus versuch ich zu verbinden:

    Code
    ping 178.26.xxx
    PING 178.26.xxx (178.26.xxx) 56(84) bytes of data.
    64 bytes from 178.26.xxx: icmp_req=1 ttl=55 time=24.0 ms
    Code
    ssh 178.26.xxx
    ssh: connect to host 178.26.xxx port 22: Connection timed out

    Weil wenn das schon nicht geht, kann es ja auf den Pi auch nicht gehen oder?

    Einmal editiert, zuletzt von druckgott (20. April 2013 um 13:36)

Jetzt mitmachen!

Du hast noch kein Benutzerkonto auf unserer Seite? Registriere dich kostenlos und nimm an unserer Community teil!