Otthoni szerver elérése, fix IP nélkül

 ( Cozi | 2015. augusztus 7., péntek - 14:22 )

Sziasztok!

NEM akarok DynDNS-t meg egyéb külső szolgáltatásokat használni. Van legalább két szerverem máshol, fix címekkel. Amit szeretnék:

Invitel-es területen családi házban lerakok egy RPi-t, amin a GIO-ján lógna pár szenzor meg kamera. A mérésadatgyűjtés eredményét majd fel tudom tölteni bárhova, azonban néha rá szeretnék nézni a szerverre, bejelentkeznék rá ssh-n keresztül. De ha nincs fix IP, úgy nehéz, remélem, hogy nem lehetetlen feladat :-)

Azt nézegettem, hogy ssh-val lehet a port-okkal játszani, vagyis hogy az inviteles házi szerveremmel (A) be-ssh-zok egy stabil gépemre (B) úgy, hogy ha B-n ssh-zok B-re a megfelelő porton, akkor végül A gépre keveredek át. Ha ezt így lehet, akkor ezt hogyan kell megcsinálni?

Illetve az ssh kapcsolatot hogy lehet úgy fenntartani hosszú időn át, ha közben nincs aktivitás a csatornán (mert mondjuk két napra nyitva hagyom valamilyen egyéb okból)?

Bármilyen hasznos tippnek, ötletnek örülnék!

Üdv, Cözi

Hozzászólás megjelenítési lehetőségek

A választott hozzászólás megjelenítési mód a „Beállítás” gombbal rögzíthető.

Az én routerem 2 óránként elküldi nekem e-mailben az IP-címét.
Openwrt-n egy kis barkácsolás: Email küldés msmtp használatával
--
Tertilla; Tisztelem a botladozó embert és nem rokonszenvezem a tökéletessel! Hagyd már abba!; DropBox

Ez is jó, de mi van akkor, ha az inviteles gépem NAT mögött lesz és lokális címet kap csak?

Cözi

Ha port forward van akkor nincs gond.

Ha nincs portfwd akkor SSH tunnel vagy vpn.

____________________
echo crash > /dev/kmem

Az ssh port forwarding és tunneling az nem ugyanaz?
--
ulysses.co.hu

nem.

--
bocs, bővítek: nem mindegy hogy kiraksz fixen x-db portot a tűzfalon kívülre, vagy egy adott porton keresztül, ssh authentikációval csinálsz tunnelt azokhoz az ip-khez és portokhoz, amikhez szükséged van és a tunnel csak a kapcsolat ideje alatt él.

--
"Nem akkor van baj amikor nincs baj, hanem amikor van!"
Népi bölcsesség

Kívülről a routert címzed és a megfelelő, mondjuk 9229-es portot forwardolod a routeren a te belső géped IP-címére 22-es port ként.
--
Tertilla; Tisztelem a botladozó embert és nem rokonszenvezem a tökéletessel! Hagyd már abba!; DropBox

Nem szűrik ezt a szolgáltatók?
--
ulysses.co.hu

Az SMTP-t szokták szűrni.
--
Tertilla; Tisztelem a botladozó embert és nem rokonszenvezem a tökéletessel! Hagyd már abba!; DropBox

Ez is jó, ezt én is használtam egy ideig. Akkor van bibi ha mondjuk óránként küldi (pl. cronból) az IP-t, és pont kapsz másikat a szolgáltatótól. Akkor várni kell valamennyit a következő mailre. De ennek kicsi az esélye.

____________________
echo crash > /dev/kmem

Nálam kb. egy hétig ugyanaz a cím van. Ha gyakran változik, akkor gyakrabban küldeted el a címet.
--
Tertilla; Tisztelem a botladozó embert és nem rokonszenvezem a tökéletessel! Hagyd már abba!; DropBox

Lekérdezed percenként, összehasonlítod az előző címmel, amit az előző futáskor eltettél egy fájlba. Ha nincs változás, nem küldöd; ha van, küldöd és lemented.
Szegény ember dyndns-e.

SSH tunnel is lehet. De vpn jobbnak tűnik, RPi becsatlakozik pl. openvpn-en B (fix IP-s) gépre.

Ha SSH akkor -o ServerAliveInterval=60 (pl.)

____________________
echo crash > /dev/kmem

Hogyan tudom ezt automatizálni? Ha áramszünet miatt újraindul az RPi, akkor magától bejelentkezzen VPN-en?

Cözi

crontab, @reboot
____________________
echo crash > /dev/kmem

Openvpn-nél Debian szerű rendszereknél a /etc/default/openvpn -ben az AUTOSTART= -be beírod a config nevét, amit rebootnál automatikusan indítani akarsz.

Mi baj a DNS-el? Akvariumhoz no-ip.me-t hasznalok. Azonnal frissit, ha valtozik az IP. Nekem is van fix IP-s szerverem, de scriptet irni hozza es karbantartani tobb ido, mint telepiteni a no-ip.me binarisat, ami ARM-ra is elerheto, fut a rapsberry-n.

DuckDNS, egyszer be kellett allitani, es azota meg nem volt vele gondom, radasul rpi-n egy cront kell csak beallitani. Elotte sok szolgaltatast kiprobaltam, minddel voltak gondok, de ez csodasan mukodik. Persze ha kulso szolgaltatas kilove, akkor kilove.

-
Konténerezett Hadoop és Cassandra cluster konfigurálása - harmadik rész

Nekem is egyből ez jutott az eszembe, hogy mi a baj a DDNS-el. Tök egyszerű és biztonsági bajt se látok vele.

Nekem cloudflare-n van a domainem, ott egy aldomaint vezérlek php apival, szerveremen van egy php amit wget-el meghívok az otthoni gépről cron-al:


<?php
file_get_contents("https://www.cloudflare.com/api_json.html?a=rec_edit&tkn=TOKEN_ID&id=RECORD_ID&email=EMAIL_CIM&z=DOMAINNEV.hu&type=A&name=tv.DOMAINNEV.hu&content=".$_SERVER['REMOTE_ADDR']."&service_mode=0&ttl=1");
?>

Ez sem rossz, godaddy -re is láttam már scriptet. Ott fél órás a legkisebb ttl, ha jól emlékszem.

Hasonló megoldást használok, csak Amazon Route53-mal.

Hmm, hát én nem is értem a kérdést! Mármint persze értem ;), csak azt nem, hogy miért kérdés ez, egyértelmű, hogy vpn...

<= Powered By Ubuntu & Gentoo Linux =>

'Software is like sex: It's better when it's free!'
By Linus Torvalds

Ezt én úgy csináltam meg, hogy a saját zónámat frissíti ha változik az IP cím(*). Így van egy cím, ami mindig az otthoni IP-re mutat. Kb. fél óra volt összeszögelni.

*) Bár ez már lehet hogy kimeríti a külső szolgáltatás fogalmát, nálam ugyan saját DNS szerver van, nem tudom hogy nálad mi az ábra.

Van egy ilyen megoldás is, ha szereted a kihívásokat:

http://code.kryo.se/iodine/

Két követelménye van:

* tudj felvenni egy NS és egy A rekordot egy tetszőleges DNS-zónában
* szükség van egy publikus IP-címmel rendelkező gépre, a fix IP előny, de nem követelmény

Eléggé limitált sávszélességet ad a tunnel-ben (úgy 2-3 Mbps lehet a maximum, amit el lehet érni), de ez egy SSH-kapcsolat átvitelére bőven alkalmas.

A kapcsolat folyamatos fenntartására szerintem az a legegyszerűbb, ha írsz egy pár soros watchdog szkriptet és azt ütemezve futtatod (pl. cron-ból percenként).

iodine! jo anyag :))
amikor a T elfelejtette bekotni az internetet, csak IPTV-t adott, nosza mondom DNS nevfeloldas van, van a felhoben egy DNS zonam es egy szerverem, akkor minden van!
egy tetszoleges zonat raallitottam a szerverre, amin futtattam az iodine kilepo reszet (gyakorlatilag DNS szerverkent viselkedik), nem muszaj egy egesz 2 tagu domain NS-et raallitani, valami.pelda.hu -nak is adhatsz a pelda.hu-tol eltero NS-t.

mire kell az egy A rekord? ... a valami.pelda.hu glue rekordjara gondolsz?

~~~~~~~~
deb http://deb.uucp.hu/ wheezy yazzy repack

Hát, ha a felvett NS rekordban megadott FQDN-hez tartozó A rekordra gondolsz, akkor igen. :)

Így írja a README-ben:

t1 IN NS t1ns.mydomain.com. ; note the dot!
t1ns IN A 10.15.213.99

+1

VPN.

+1
rpi inicializál egy vpn kapcsolatot a fix ip-s szerver felé.
A többi már csak tűzfal- és route szabály.
openvpn-nel nem túl bonyolult.

+1, ugyanigy hasznalom en is, ennel egyszerubb viszonylag szep megoldas nem nagyon van.

En irtam egy olyan egyszeru weboldalt, hogy redirect-el az ip cimre, hogyha lekerdezed.
Az url-t is megorzi (ip.vlami.hu/redirect/akarmi-url/perjellel -> 84.32.33.45/akarmi-url/perjellel)

A kliens oldalon crontab-ban van egy wget script.
Egesz nevteret kezel (tehat elnevezheted a gepet ip.valami.hu/otthonigep/redirect)
Van jelszokezeles is, tehat veletlenul a sajat nevedet te nem irhatod felul.

Nem letezik, hogy nincs ilyen service. Meg a vegen kell egy ilyen weboldalt inditanom:)

---
Saying a programming language is good because it works on all platforms is like saying anal sex is good because it works on all genders....

Egy ötlet: Cronból futtatsz egy scriptet, ami kiirja az ipt egy fileba,majd azt scpn feltolod a fix gépedre.
Az sshs, port redirect ötlet nem rossz, csak attól még nem fogod tudni a dinamikus címedet.
--
TH

Szerintem a reverse ssh tunnelt keresed. Tömören:

RPi besshzik a szerveredre, és beforvardolja annak egy bizonyos local portját önmaga 22-es portjára.
Erre a portra a szerverről rásshzol, és már bent is vagy az RPi-n.

Előny: egyszerű mint a faék, egy bash loop + cron reboot és működik.
Hátrány: dupla titkosítási overhead az ssh kapcsolaton.

Bővebben: https://www.howtoforge.com/reverse-ssh-tunneling

Egyszer elkapott a lustaság, meg olyan 5 perces meló kellett, s amúgyis csak nagyon ritkán akarok csatlakozni hozzá.

OpenWrt cron-jába bepakoltam hogy csatlakozzon ssh-n egy szerverre, nem létező felhasználóval. Innen már csak egy grep a /var/auth.log-on az IP címe.

RPi-nél én a weaved.com-ot használom távoli eléréshez.

Oké, az értő olvasás most nem volt rám jellemző...

Hopmsg.com pont ilyenekre jó.

Pont nem: "NEM akarok DynDNS-t meg egyéb külső szolgáltatásokat használni"

Bocs, elnezest!

"ilyenekre":)

Egyebkent az enyem is ilyen megoldas, csak szebb urlekkel.
Fel nap alatt le lehet programozni...

---
Saying a programming language is good because it works on all platforms is like saying anal sex is good because it works on all genders....

Amúgy ez nem fizetős? Tényleg melyiket lehetne használni ingyen?

Én a dyndns.hu-t használom jóideje, ingyenes.

Nálam a külső fix IP-s szerveren olvasgat egy weboldalt cron-ból, ami pedig a szerver-en kiírja az IP-címet. Így s/dyndns/no-ip/ nélkül is tudom, hogy éppen milyen IP-n lóg - ha van net.

"Jegyezze fel a vádhoz - utasította Metcalf őrnagy a tizedest, aki tudott gyorsírni. - Tiszteletlenül beszélt a feljebbvalójával, amikor nem pofázott közbe."

Nem értem miért kell a melegvizet újra feltalálni csak azért mert a korábbi nem tetszik :)