domenica 15 marzo 2015

Tunngle ? no grazie (ovvero come usare OpenVPN per hostare games)


C’e’ stato un tempo in cui usare Tunngle per giocare era cosa buona e giusta. L’aggiornamento che ha introdotto le pubblicita’ imbloccabili pero’ ha rovinato tutto. Se c’e’ una cosa che odio sono i banner pubblicitari arroganti che ti arrassano le orecchie coi loro volumi boosted del 300%, come i video su repubblica.it.
Urge attuare una svolta definitiva, basta con le piattaforme simil-vpn. FACCIAMOCI una VPN ! (folla in delirio).
Al solito, occorre scaricare e installare OpenVPN (versione Vista and later) e crearsi le chiavi da distribuire a tutti gli amici che vogliamo si connettano a noi. Non staro’ a riscrivere come farsi le chiavi, ne avevo gia’ parlato qua.
Ora basta configurare il server e lasciare che gli altri si connettano in modo da risultare in lan.
Occorre creare un file con notepad ed editarlo cosi':

port 1194
proto udp
dev tap
ca ca.crt #certificato ssl/tsl
cert server.crt #certificato utente
key server.key #chiave privata
dh dh1024.pem
server 192.168.200.0 255.255.255.0
push "route 0.0.0.0 0.0.0.0"
ifconfig-pool-persist ipp.txt
client-to-client
keepalive 10 120
cipher AES-128-CBC
comp-lzo
persist-key
persist-tun
status openvpn-status.log
verb 3
e salvarlo come server.ovpn
Successivamente si prepara il file da mandare ai vari client:
client
dev tap
proto udp
remote IP_DEL_SERVER 1194
resolv-retry infinite
nobind
persist-key
persist-tun
ca ca.crt
cert client.crt
key client.key
cipher AES-128-CBC
comp-lzo
verb 3
che andra’ salvato come client.ovpn
Assicuratevi di sapere il vostro IP esterno da siti come questo. Se l’IP e’ dinamico occorrera’ registrarsi anche a no-ip per ottenere un dns free che resti fisso al cambiare del nostro ip.
L’ip a cui dobbiamo collegarci andra’ naturalmente scritto al posto di “IP_DEL_SERVER”.
Una volta completati i passaggi si puo’ verificare che tutto funzioni. Presumendo che ci sia un amico con voi e che abbia gia’ fatto/ricevuto chiavi e file e’ il momento di avviare la vpn.
Una volta connessi riceveremo un ip (presumibilmente 192.168.200.1) ma l’icona della connessione dentro “Centro connessioni & sticazzi” sara’ quella di rete non identificata. Per far capire a Windows 7 (or later) che non deve cacare il cazzo bisogna mettergli un fake gateway dentro le impostazioni della scheda, cosi’(solo chi hosta il server vpn deve modificare questo parametro):



I client che si collegheranno non avranno bisogno di modificare nulla perche’ il comando “push "route 0.0.0.0 0.0.0.0" dentro server.ovpn fa in automatico questa cosa. Assicuratevi pero’ di avere i diritti di amministratore quando eseguite OpenVPN (questo vale per tutti), altrimenti ci saranno diversi errori nel file di .log dovuti alla mancanza di autorizzazioni per impostare una route diversa.
Ora che voi e il vostro partner siete connessi in lan tramite vpn dovreste essere in grado di giocare a qualunque gioco che supporti la modalita’ lan esattamente com’era fattibile prima in Tunngle.
L’ultimo passaggio da fare e’ scaricare questo programma: UDPBroadcastForwarder per obbligare windows a forwardare i pacchetti anche alle reti che non siano quella principale. Purtroppo il protocollo tcp/ip e’ vecchio e non esente da bug tra cui il broadcasting di pacchetti che e’ limitato ad una sola interfaccia. Questo si traduce nell’impossibilita’ di trovare la partita del giocatore che sta hostando il game. Nei giochi dove e’ possibile specificare l’ip a mano il problema non si pone ma spesso quest’opzione non e’ inclusa e bisogna affidarsi solo al “quick search” o “find game”. Il programma ha bisogno di WinPcap come requisito per funzionare. Una volta preparato l’ambiente, basta cliccare sull’exe e lasciare che lavori da solo, senza bisogno di ulteriori configurazioni (si ringrazia Johannes Götze per aver creato quest’utilissimo programma e per avermelo procurato).
Se siete tra i fortunati possessori di un router con firmware DD-WRT sappiate che e’ possibile attivare il bridge vpn anche da li e rendere tutto piu’ facile e semplice, magari spieghero’ come… nel frattempo disinstallate pure Tunngle e i suoi nuovi e meravigliosi ads.

2 commenti:

pakko ha detto...

Crearci una vpn tra noi sarebbe una sburreta fotonica però sto problema del udp forward mi blocca un poco.. Tunngle nel bene e nel MALE funziona. Usando questo metodo a quanto scendiamo di probabilità di funzionamento? 80%? É una domanda, non sono ironico.

c4os ha detto...

non penso si scenda, anzi. Con tunngle dipendi dai loro server per l'autenticazione, richiedono aggiornamenti che sono superflui al funzionamento di vpn ma aggiungono solo funzioni estetiche e, come nell'ultimo caso, ads inutili. Tunngle sono 125Mb di GUI piu' 3,8Mb di servizio mentre OpenVPN son 4,6MB GUI & servizio + 12MB di UDPbroadcaster (che serve solo a trovare il game, dopodiche' si chiude). Se hai dubbi sulla "compatibilita'" non c'e' nulla di cui preoccuparsi, non e' che si tratta di capire quale gioco e' "compatibile". Tutti quelli che supportano il lan-mode funzionano sicuramente con questo sistema. Il problema di non vedere i game con certi giochi e' legato a come funziona Windows quando gestisce piu' di una scheda di rete. Ci sono diverse soluzioni per aggirare la seccatura: dove e' consentito si mette a mano l'ip diretto del server; dove non si puo' si usa l'udpbroadcaster. Con Tunngle vedi tutti i game perche' ha il suo udpbroadcaster come servizio che parte quando lanci la GUI, si chiama TnglCtrl.exe e fa la stessa identica cosa (forwarda pacchetti broadcast della scheda di rete principale all'ip virtuale di tunngle).