Dopo vari test ed analisi, ecco qualche nuova feature da implementare in NethControl3.
Le maggiori limitazioni della versione attuale sono:
- il repeater riesce a sostenere poco carico (3-4-5?) connessioni a causa della scarsa banda
- se un cliente è dietro a firewall particolarmente restrittivi (può accedere solo alle porte web: 80 e 443) non c’è modo di effettuare la tele assistenza
Le soluzioni proposte per risolvere questi problemi, sono fondamentalmente 3:
- Repeater su porta 443: solitamente questa porta non è filtrata in alcun modo in quanto il traffico che vi passa è considerato sempre cifrato, quindi è inutile controllarlo. Ci potrebbero essere problemi solo se qualche firewall controlla che il traffico su questa porta è effettivamente di tipo HTTP. Esistono firewall che fanno controlli di questo tipo?
- OpenVPN sulla porta 80: è possibile creare una vpn che passi anche attraverso un proxy http, una volta creata, ci si può far girare qualsiasi servizio. Penso che l’overhead sia piuttosto alto, infatti un ipotetico vnc sarebbe prima incapsulato nella vpn, poi nel tunnel http. Questa possibilità non è stata testa in quanto piuttosto laboriosa.
- Tunnel HTTP: l’idea è quella di incapsulare il traffico vnc in pacchetti HTTP che permettono di passare attraverso proxy normali, trasparenti e anche autenticati. Probabilmente la cosa migliore è sempre utilizzare la porta 443, inoltre è possibile anche cifrare il traffico in https (la cifratura non è stata testata).
Sto concentrando gli sforzi sulla terza idea, i risultati sono promettenti anche se al momento non sono in grado di stabilire il reale impatto sulle performance. Sono previste anche modifiche al repeater, in particolare aggiornarlo all’ultima release disponibile.
E’ in fase di rielaborazione anche il client in python che, forse, diverrà il client ufficiale. Le modifiche prevedono:
- creazione del tunnel http: funziona sia su linux, sia su windows, da compilare e testare anche su mac
- porting dell’applicazione operatore anche su linux: sembra funzionare con qualche piccolo accorgimento; da rivedere la parte java che calcola l’indirizzo ip. Su mac non è stato testato, ma lo stesso programma che usa linux (xvnc4viewer). Ma comunque basta trovare un qualsiasi viewer vnc che permetta la modalità listen (si veda anche http://www.testplant.com/products/vine_viewer)
Esponete commenti, suggerimenti, nuove soluzioni e/o feature request!