Adatok mozgatása egyik szerverről másikra.

Adott a szerver 1, ami linux alapú és cpanel lakik rajta. Az a feladat, hogy az 1-es szervernek el kellene érnie txt fájlokat a 2-es szerveren úgy, hogy a 2-es linuxos szerver IP címe dinamikusan változik. Azt gondolom, hogy kellene egy script, ami figyeli a 2-es szerver IP címét, vagy a 2-es szerver küldhetné akár a routerén keresztül is a mindenkori IP címét az 1-es szerver felé. Milyen file megosztás a leggyorsabb ebben a helyzetben? Melyik a jobb megoldás? 

Hozzászólások

Szerintem meg 2 es szerver VPN en csatlakozik 1 es szerverhez, így a VPN belső ip mindig fix, ha változik az 2 es szerver IP-je, akkor a VPN is bontódik és újra felépül. A fájlmegosztásrra meg nfs vagy samba amelyik tetszik.

Fedora 38, Thinkpad x280

Resilio file sync? vagy csak elérés kell, nem mozgatás?

Tailscale VPN és lesz független de fix IP címe mindkettőnek.
Aztán a már leírt NFS vagy Samba, vagy SSHFS.

Ha változik a címe akkor egy dinamikus DNS? Gondolom neten van, LAN-on elég egyszerű lenne megoldani. Ha nem nagy a load, akkor sshfs javasolnék én is.

Kérdésekre válaszolva: távoli helyen vannak a szerverek egymáshoz képest, helyi hálózat sajna nem játszik :-( 

A fájlokat sajnos át kell mozgatni az 1-es szerverről a 2-esre, valamint beolvasni a 2-esről az 1-esre.

Amennyiben nem muszáj, nem kellene plusz költséget beletenni a mostanihoz képest egy új VPN-el.

Ha a 2-es szerver az ip címét elküldi, ennyi erővel akár a txt-t is elküldhetné ;)

// Happy debugging, suckers
#define true (rand() > 10)

Szerkesztve: 2021. 07. 05., h – 13:55

free DDNS? (https://freedns.afraid.org, https://www.duckdns.org/)

 

Nyomsz egy Port forwardot mindket helyen az SSH-ra, aztan SSHFS. nem kell plusz VPN szoftvert telepiteni, etc...

 

szerk: lehetoleg ne a 22-es portot forwardold, hanem valami random magas portot, meg dobj mindket oldalon a linux serverre egy fail2ban-t. termeszetesen SSH key auth. legyen, jelszo pedig kikapcsolva.

Szerintem az 1-es szerverre (aminek, ha jól értem, fix IP-je van), rakj fel egy WireGuard-ot, és a másik gép csatlakozzon hozzá. Így, ha van netkapcsolata, aktív lesz a VPN, ezért el lehet érni a TXT-ket. Ezutóbbira pedig fenntebb volt már jónéhány ötlet, én annyit tennék hozzá, hogy a Resilio szinkronizálóját sok esetben ki tudja váltani az opensource, erőforrásbarátabb SyncThing is.

 

A DDNS-nél több a hibalehetőség, pl. TTL, cache-k.

TheAdam

Szia!

Ha fontos a valós idejű szinkronizálás, akkor lehet, hogy a legegyszerűbb egy openvpn + seafile kombó. Seperc be lehet lőni.

üdv: pomm

A 852-es kídlap telepötúsa sikeresen befejezádétt

A bp-t nem ismerem, de a debian alá nem nagy kunszt.
https://www.howtoforge.com/how-to-install-and-configure-openvpn-server-…

A seafilet meg letöltöd a hivatalos weboldaláról, egyikre a szervert, másikra a klienset, elovasod a howto-t beállítod és kész.

https://www.seafile.com/download/

üdv: pomm

A 852-es kídlap telepötúsa sikeresen befejezádétt

Úgy látom a syncthinget még senki sem említette. Ha közvetlenül tudnak beszélni a hostok, úgy szinkronizálnak, ha nem, internetes relayeken.

A saját balfaszságom miatt, kimaradt egy fontos kritérium, miszerint csakis egy adott program nyúlhasson bele a megosztással bíró mappába és csak adott IP-ről... ez javított valamit a lehetőségeimen? :-)

Ami még lényeges, hogy az 1-es szerveren nem lehetnek rajta a 2-es szerveren tárolt adatok.

csakis egy adott program nyúlhasson bele a megosztással bíró mappába és csak adott IP-ről

És mindezt azért ha lehet, on-demand... Ezek azért eléggé leszűkítik a lehetőségeket, főként az első. Ebben az esetben már nem triviális a syncthing, etc megosztó, ezeken esetében külön kellene valami script pl,  ami a sikeres sync után törli az 1-es serveren a fájlokat, és persze send only típusra kell állítani őket, hogy a 2-esen meg megmaradjon...

Rsync megoldaná a küldést, inotify-al meg lehetne triggerelni, hogy akkor fusson le, ha van változás - mindezt egy szép scriptbe össze lehet rakni aztán akár szolgáltatásként futtatni. A másik oldalon meg a megosztást IP-re korlátozni még megoldható, de mivel fogod azonosítani a programot?

Kliensoldalon oldható meg, hogy csak egy bizonyos alkalmazás férhessen hozzá ahhoz a privát kulcshoz, aminek pedig serveroldalon a publikus kulcsa hitelesítve van az alkalmazáshoz kötött felhasználóhoz, természetesen csak a kliens ismert címéről, kizárólag a szinkronizációs csatornát kiépíteni képes módon, tehát interaktív munkamenet vagy egyéb tetszőleges binárisok futtatása kizárásával. Megfejelhető lehet azzal, hogy nevezett felhasználó mondjuk nem jogosult ezen a csatornán sem másra, mint új állományok feltöltésére.

Szerkesztve: 2021. 07. 07., sze – 12:17

2-es szerver rsyncd-t futtat localhoston (vagy socket fájlon , ha tud ilyet)

2-es szerver autossh-val belép 1-es szerverrel remote socket forward-dal (-R /védett/path/rsync.sock:localhost:873 (vagy socket fájl))

2-es szerver /védett/path/rsync.sock fájlon keresztül rsync-kel szinkronizál

Feltétel: 2-es szerver tudjon SSH-zni 1-esre. (és talán még openssh >6.7)