Raspberry > Tunnel (proxy?) > Remote (Internet) - Hoe?

Pagina: 1
Acties:

Onderwerpen

Vraag


Acties:
  • 0 Henk 'm!

  • WeAreTheFuture
  • Registratie: Juli 2016
  • Laatst online: 12-09 16:44
Beste allemaal!

Allereerst een hele warme avond gewenst.. :'(

Ik heb een probleem / vraag, en hoop hier een antwoord cq oplossing te krijgen.

Ik heb een aantal raspberry's (met linux) in gebruik voor monitoring van temperaturen, alsmede wat andere knutselwerkjes en relais via json.
Van en naar mijn eigen huis werkt het allemaal perfect.

Maar nu is het zo dat ik een aantal rpi's ergens anders wil plaatsen.
Bijvoorbeeld:
1 Voor het monitoren van een zonnepalen systeem (temp/opbrengst)
2 Het monitoren van een cv / warm water / boiler / warmtepomp / etc
3 Relais schakelen op afstand middels json

Opzicht is natuurlijk een poortje open gooien het makkelijkst, maar daar zit nou net het probleem.
Bij een paar mensen kan en wil ik niet in het netwerk rommelen omdat het 2 'openbare' bedrijven zijn, een ziekenhuis en een zorghuis.
Nu heb ik al een boel gelezen om een webserver (of de hele rpi compleet) te tunnelen, en uiteraard ook de ssh te tunnelen zodat ik er op afstand in kan.
Het liefst wil ik een rpi op een router aan kunnen sluiten en zodra hij een (lokaal) ipadres heeft, hij direct begint met "uitzenden".

Voorbeeld:
LocalTunnel.me, Weaved.com of NGrok.
Dit is eigenlijk exact wat ik bedoel, maar helaas is localtunnel meer offline dan online en erg onbetrouwbaar.
NGrok en Weaved vragen geld voor zo'n soortgelijke dienst met meerdere users/hosts.

Wat ik wil is zoiets lokaal opzetten, zodat ik niet afhankelijk ben van iets of iemand en het beter onder controle kan houden.
Het mag via een (eigen) forward proxy, ssh tunnel, of wat dan ook zolang ik er maar mee kan remoten zonder een poortje bij iemand hoeven te forwarden en de webservers bereikbaar zijn op het open spinnenweb :-)
Uiteraard heb ik bij mij thuis alle poorten tot beschikking, alsmede een dns/domein/statisch ip etc.

Alles wat er nodig is, heb ik (denk ik?) wel lopen maar ik zou bijgod niet weten waar te beginnen aan de serverside!

Hoop dat er iemand is die mij wil/kan helpen, zou het erg waarderen!

Alvast bedankt.
Barry

[ Voor 21% gewijzigd door WeAreTheFuture op 20-07-2016 22:26 ]

Alle reacties


Acties:
  • 0 Henk 'm!

  • _Hades_
  • Registratie: Juli 2000
  • Laatst online: 12-09 16:20
Je kunt ze een vpn tunneltje laten opzetten naar jouw ntwerk, dan kun je ze gewoon benaderen alsof ze in jouw netwerk zijn aangesloten. Bijvoorbeeld middels openvpn. Deze kun je via poort 443 laten lopen zodat je de minste kans hebt dat dit dicht zit.

Let wel dat it beheer van ziekenhuizen (en eigenlijk in het algemeen) over het algemeen niet echt gecharmeerd is van dit soort tunneltjes zonder dat ze ervan weten :) (of het moet op een gasten net oid aangesloten zijn).

Acties:
  • 0 Henk 'm!

  • WeAreTheFuture
  • Registratie: Juli 2016
  • Laatst online: 12-09 16:44
Hoi Hades,

ik ben me er van bewust dat dit kleine gaatjes in het netwerk maakt, maar in overleg is alles mogelijk..
En inderdaad, ze zitten zover ik weet veilig op een gesloten access point, ver van de bewoonde wereld :-)
Een vpn is nou net wat ik NIET wil, want dan kan alleen ik erop.
Het is juist de bedoeling dat 'ik' er remote, dus via ssh overal op kan en dat andere openbaar de webserver (monitoring) op kunnen.

Voorbeeld:

Nathalie is in amsterdam en plugt daar een rpi in een router/switch, en zet de spanning erop.
Vervolgens gaat ze heerlijk naar het strand, en belt ze mij dat de de rpi ingeplugt heeft.
Ik zeg dank je wel, enga er vanuit dat de rpi daar een lokaal ip adres heeft gekregen.
Op dat moment hangt hij in het netwerk, met een (beperkte) internet verbinding.
Nu zit ik zelf in Duitseland, heb ik een laptop met internet bij me, en wil ik op dat moment weten wat een temperatuur waarde is (via de ngix of apache webserver op poort 80 van de rpi)..

Het moet dan volgens mij toch mogelijk zijn middels tunneling, reverse tunneling, een proxy of wat dan ook om een verbinding te maken dat al het verkeer van de rpi doorstuurd naar een 2e server (host), oftewel een doorgeefluik.
Ik maak dan dus feitelijk verbinding met die 2e server, waardoor de rpi 'bijna' helemaal buitenspel staat.
Al het verkeer word dan omgeleid van de rpi naar de host, zodat ik de rpi weer via de host kan benaderen.
Zo hoef ik mij nooit geen zorgen te maken over eventuele poorten forwarden, en dat de rpi niet benaderbaar is op afstand.

Zoals boven beschreven is LocalTunnel, Weaved en Ngrok precies het 'systeem' wat ik bedoel.
Echter ben ik dan afhankelijk van een 3e partij, en dat wil ik echt niet.

Ik wil dit écht zelf doen, zowel de doorstuur (forward/reverse?) server als de rest.

Hoop dat iemand mij kan vertellen hoe zo'n situatie zelf op te zetten is.

Alvast bedankt weer!

[ Voor 26% gewijzigd door WeAreTheFuture op 21-07-2016 17:32 ]


Acties:
  • 0 Henk 'm!

  • ykaenS
  • Registratie: November 2007
  • Laatst online: 06-07 11:41
Heb je er al eens aan gedacht om misschien een LoRa netwerk op te zetten?

Acties:
  • 0 Henk 'm!

  • _Hades_
  • Registratie: Juli 2000
  • Laatst online: 12-09 16:20
Ahh zo te zien doen die diensten iets van ssh tunneling (met wat aanvullende diensten zoals ssl offloading en dns). Als je dat laatste niet nodig hebt kun je een ssh tunnel gebruiken naar een server die voor jou/de gebruiker via internet beschikbaar is.

Hier eea aan uitleg: http://blog.trackets.com/...lained-with-examples.html

Acties:
  • 0 Henk 'm!

  • WeAreTheFuture
  • Registratie: Juli 2016
  • Laatst online: 12-09 16:44
ykaenS, fijn dat je meedenkt maar wat kan ik met een lora netwerk qua meerwaarde tov een vps of een eigen server?
Heeft het ook tunnel ondersteuning en forwarding?
Lora is nieuw voor me,geen ervaring mee!

_Hades_, het klinkt alsof je weet wat je over praat..
Daar heb ik wat aan! Top :)
Heb je misschien zin/tijd om me even een steuntje in de rug te geven met wat ik precies nodig heb om dit te realiseren?
Als ik het een beetje begrijp heb ik dus niet meer nodig dan een rpi met ssh nodig als cliënt en een ssh server die open staat als server voor de forwarding?
Is dat alles?

[ Voor 18% gewijzigd door WeAreTheFuture op 21-07-2016 22:34 ]


Acties:
  • 0 Henk 'm!

  • vso
  • Registratie: Augustus 2001
  • Niet online

vso

tja...

hmm
het opzetten van server/client verbinding is IMHO een kleine uitdaging ..

Anderzijds voor local IT is het wel prettig dat je RPI een webpagina servereert met:
* wat het ding doet
* user mode (lees de waardes die die doorstuurt)
* admin mode (lees .. hiermee wijzigt de local IT-staff voor je zooi op afstand)
* su pagina (hidden admin je "backdoor", als IT het wachtwoord kwijtraakt)

Je mag van geluk spreken als je bij "bedrijven" je een RPI aansluit en dat hij 1:1 zich aanmeld bij je server en automagisch de ssh/tunnel opzet.

Je moet je soms conformeren aan lokaal IT beleid, oftewel mac adres opgeven.. zodat ze het op switch en/of DHCP niveau toe kunnen staan. eventueel hostname aanpassen..
en voor lokaal IT is het erg prettig als ze een webpagina hebben waarmee ze kunnen controleren dat het ding werkt .. (knop je test verbinding bv) ..

ik zou als ik het commercieel zou doen, een sticker met Mac adres + een lcd schermpje met 4 knoppen plaatsen .. met: status, IP en ? ?

remote support leveren is erg .. uitdagend als je achteraf moet gaan graven naar informatie en de klant 2 linkerhanden heeft.. en als ze IT hebben dat ze zeggen "pech" we ondersteunen het niet ..
Nu zit ik zelf in Duitseland, heb ik een laptop met internet bij me, en wil ik op dat moment weten wat een temperatuur waarde is
Dan is dit een uitdagende positie ..;)

Tja vanalles


Acties:
  • 0 Henk 'm!

  • WeAreTheFuture
  • Registratie: Juli 2016
  • Laatst online: 12-09 16:44
Haha vso, fantastisch antwoord!

Helaas heb ik daar natuurlijk weinig aan want nu heb ik nog geen oplossing voor het probleem...
Ik wil dit hobby matig doen en ook hobby matig houden.
Ik gaf maar wat voorbeelden,maar zoals ik het graag zou willen.
Kijk naar localtunnel of ngrok, dat is precies wat ik wil en bedoel...
Daarmee kan je ook een 'server' side gedeelte opzetten maar dan blijft het main gebeuren alsnog via hun server lopen en dat wil barry niet.
Simpel gezegd, poortje 1050 (als voorbeeld) op een rpi achter firewall moet doorgestuurd worden naar een externe server die via internet te benaderen is.
De service is dus mogelijk,de vraag is alleen hoe :(
Ben al dagen aan het zoeken en proberen maar kom helaas nog niet zoveel verder!
Heb wat tunneling geprobeerd maar dan is het wel lokaal te benaderen maar niet remote, en dus niet via de buitenkant van mijn eigen netwerk.
Ik las iets over remote forward, ook geprobeerd en de gateway op yes gezet maar dat hielp helaas ook niks...

[ Voor 15% gewijzigd door WeAreTheFuture op 21-07-2016 23:35 ]


Acties:
  • 0 Henk 'm!

  • Yarisken
  • Registratie: Augustus 2010
  • Laatst online: 12-09 10:25
Hmm het lijkt me niet zo heel moeilijk. Kan je niet iets instellen dat er "traps" worden doorgestuurd zoals bij monitoring.
Wij gebruiken voor monitoring zabbix. Stel dat we data willen ontvangen vanuit een extern netwerk.
De zabbix-agent op de pi verzamelt periodiek de data en stuurt dit door naar de zabbix server via bv https of via sftp en dan worden de gestuurde files uitgelezen en verwijderd.
Per device krijg je dan mooi je data in de zabbix server te zien bij je thuis.

Als je updates of andere zaken moet doen op je PI ter plaatse dan contacteer je IT om tijdelijk bv een teamviewer sessie op te starten.

Acties:
  • 0 Henk 'm!

  • WeAreTheFuture
  • Registratie: Juli 2016
  • Laatst online: 12-09 16:44
En hoe zet je zoiets op?

Acties:
  • 0 Henk 'm!

  • Yarisken
  • Registratie: Augustus 2010
  • Laatst online: 12-09 10:25
Je moet eerst een zabbix server opzetten in je eigen netwerk.

Op je PI's maak je bv elke 5 minuten een logfile van je data. Met een cron job stuur je bv via sftp deze logfiles naar je zabbix servers. Deze data wordt daar dan ook periodiek uitgelezen en verwerkt in de database.
Trending en triggers moet je dan wel nog opzetten, dit is niet zo eenvoudig maar wel te doen.

Je hoeft zabbix niet te nemen, er zijn nog andere monitoringtools.

Eens alles opgezet is heb je voor elke pi een standaard config. Je stuurt deze naar een bedrijf en als de data binnenkomt dan zit je goed.

Acties:
  • 0 Henk 'm!

  • WeAreTheFuture
  • Registratie: Juli 2016
  • Laatst online: 12-09 16:44
Lekker omslachtig :-)
Ik denk dat ik het al heb gevonden.
Mocht het werken, dan zal ik hier mijn bevindingen neerzetten.

Acties:
  • +1 Henk 'm!

  • WeAreTheFuture
  • Registratie: Juli 2016
  • Laatst online: 12-09 16:44
Het is al gelukt.

Heb op 3 plaatsen getest,stekker erin, netwerk eraan en ik kan heerlijk via de mobiel overal ter wereld op mijn server'tje' zonder ook maar 1 poortje open te hoeven gooien.
Hiervoor heb ik thuis wel een 2e raspberry met Ubuntu op moeten zetten als forward, het werkt fenominaal...

Middels autossh en sshpass een automatische tunnel opgezet naar de (via domein gekoppelde) remote server thuis die de GatewayPorts weer doorstuurt naar het internet..

I love linux! :)

Bedankt voor het meedenken allemaal.

[ Voor 19% gewijzigd door WeAreTheFuture op 25-07-2016 18:38 ]

Pagina: 1