[gl-como] engarde

Luca Lesinigo luca@lesinigo.it
Ven 19 Lug 2019 00:40:59 CEST


Il giorno 18 lug 2019, alle ore 17:09, Alessandro Rinaldi <ale@alerinaldi.it> ha scritto:
> Si chiama engarde [1] ed è un tool pensato per creare, appoggiandosi a WireGuard, una VPN il cui traffico è replicato su più connessioni. Ciò significa che, finché almeno una delle connessioni è viva, la comunicazione non viene interrotta neanche per un istante. Non avendo momenti di down come i classici failover, questo permette di avere una comunicazione real-time stabile anche in situazioni avverse.
> 
> È uno spreco di banda terribile, sicuramente, ma in certe situazioni è più bello sprecare la banda e dormire sereni (e comunque con le offerte da 50GB che ti tiran dietro oggi è un non-problema).
> Nel README del progetto è spiegato bene il funzionamento e c'è anche qualche caso d'uso reale.
> 
> Mi piacerebbe avere una vostra opinione a riguardo, soprattutto dai sysadmin che sicuramente conoscono soluzioni simili anche nel mondo commerciale e hanno un termine di paragone. Se poi a qualcuno interessa saremmo ben felici di mostrarvelo dal vivo, con anche un'introduzione al mondo WireGuard :)

Ciao Alessandro, un saluto da un altro che non scrive [quasi] mai :-)

Prima un disclaimer: _non_ conosco abbastanza WireGuard, ma me lo immagino che un generico VPN tool che incapsula i dati in UDP tra i due endpoint (un po’ stile OpenVPN quando è veicolato su UDP).
Poi un altro disclaimer: _non_ parlo Golang quindi non ho nemmeno provato a sbirciare nei sorgenti

Commenti vari:
- il tool sembra molto molto interessante
- mille bonus points per un progetto che fin dalla sua infanzia si propone completo di Makefile, di interfaccia web, di README, di Travis CI, di una licenza chiaramente indicata, eccetera. Bravi!
- l’esempio nella tua mail mi ha inizialmente fatto pensare a più “connessioni” (stream, realmente) UDP su una singola SIM (da 50GB ;) e non capivo bene, mentre il README.md nel repo è molto più chiaro nel mostrare che lo use case sono uplink separati ed indipendenti
- prima o poi… e conoscendomi è forse più poi che prima :D… lo vorrò provare sul campo
- lo avete già messo sotto torchio? se regge bene sotto carico pesante può essere un tool interessante anche in situazioni professionali… sto pensando in luogo dei classici IPSec o altri tipi di VPN varie anche in ambienti aziendali, in alcuni ambiti il trade-off di banda in favore di affidabilità può essere desiderabile
- per un attimo pensavo anche a potenziali applicazioni diverse da WireGuard (streaming multimediali? altri tool VPN?) ma suppongo che al momento dipendiate strettamente dalla deduplica implicita di wireguard alla ricezione dei diversi stream di pacchetti?

Io penso che sia uno “spreco di banda terribile” così come RAID1 (ed i suoi parenti stretti) sia uno “spreco di storage terribile”. Se lavorate nell’ambiente IT saprete anche che i server moderni consentono di fare mirroring dei banchi DIMM… che spreco di memoria terribile :) però in certi casi queste cose si usano.

Parentesi nostalgica: per certi versi mi ricorda quando durante gli anni dell’università, con un mio compagno di corso, scrivemmo un tool per trasmettere dati (file, tendenzialmente) via UDP da un ip all’altro usando solo traffico a senso unico (senza nessun dato di ritorno)… sprecavamo tempo (inserendo attese artificiose tra un pacchetto e l’altro) e banda (mandando copie multiple di ogni pacchetto) nella speranza che il ricevente ricevesse abbastanza pacchetti sani da ricostruire per intero il file originale senza mai poter indicare al mittente di fare eventuali ritrasmissioni. Testato con successo trasferendo file di diversi mega dall’Italia agli USA… e per quanto non mi senta vecchio, nel 2000~2002 circa internet non era certo quella di oggi :-)

--
Luca Lesinigo



Maggiori informazioni sulla lista gl-como