Compago

...free knowledge

 
  • Increase font size
  • Default font size
  • Decrease font size
Home Manuali Linux Guida al tunnel broker con GogoNet

Guida al tunnel broker con GogoNet

E-mail Stampa PDF

L'oggetto di questo articolo è una piccola guida per creare un tunnel IPv6, il quale ci permetterà di accedere ad un pc interno ad una lan da remoto, senza ricorrere a NAT o altre applicazioni.
Questo potrebbe rivelarsi molto utile ad esempio per alcuni utenti Fastweb, i quali non disponendo di un IP pubblico non possono avere un proprio web server a casa o magari solo accedere al proprio pc da remoto.

Ora non sto a spiegare le differenze tra IPv4 e IPv6 ne tantomeno i dettagli sui due standard, ma vi basti sapere che in una rete due pc devono sempre avere un IP diverso e che in entrambi  lo scopo di una certa sequenza di numeri identifica una interfaccia di rete del pc.
Nell' IPv4 l'IP è rapresentato da 4 gruppi di due cifre esadecimali, mentre nell'IPv6 è rappresentato da 8 gruppi di 4 cifre esadecimali. Esempio:

2001:fe80:000f:213a:8fff:fede:9f26:1319

Dato che le combinazioni di numeri sono molto maggiori, l'IPv6 è stato pensato come soluzione per l'esaurimento degli indirizzi IPv4.

Ora molti dispositivi in rete non supportano ancora questo nuovo tipo di indirizzi, ma esistono alcuni siti che offrono un servizio di broker tunneling, ovvero permettono l'uso di indirizzi IPv6 su una rete normale incapsulando i dati secondo le modalità definite nella RFC:3053.

Di provider che offrono questo servizio ce ne sono diversi(lista broker tunnel provider), ma quello che andremo ad usare è GogoNet.
Come prima cosa occorre creare un account in GogoNet, una volta entrati a far parte della comunity è possibile avere accesso ai servizi di per usare l'IPv6 Freenet6.
Freenet6 può essere usato in due modi differenti: authenticated o anonymous. Nella modalità con autenticazione, l'indirizzo IPv6 e il dominio sono assegnati permanentemente all'utente e non cambiano se l'utente cambia il suo indirizzo IPv4. In modalità anonima, l'indirizzo IPv6 cambia con l'IPv4 dell'utente.
In questa guida useremo la modalità "authenticated" e quindi ci verrà assegnato un singolo e permanente indirizzo IPv6 e un dominio DNS  per ogni utente; in questo modo il pc in questione sarà raggiungibile da qualsiasi punto della rete IPv6.
La prima cosa da fare sarà quindi creare un ulteriore account dove verrà specificato un nome e una password che verranno associati al dominio e all'IP.
Per esempio se come nome scegliessi "pippo" il dominio assegnatomi sarebbe "http://pippo.broker.freenet6.net".

Installazione

Una volta creato l'account occorre scaricare e configurare il client(gogoCLIENT).

cd ~/Scrivania
wget http://gogo6.com/downloads/gogoc-1_2-RELEASE.tar.gz
tar -zxvf gogoc-1_2-RELEASE.tar.gz

entriamo nella cartella appena creata:

cd ./gogoc-1_2-RELEASE

installiamo le dipendenze necessarie alla compilazione:

sudo apt-get install libssl-dev libcrypto++-dev libpthread-stubs0-dev make gcc g++ libc6-dev

Creiamo la cartella dove lo dovremo installare:

sudo mkdir /usr/local/bin/gogoc

Compiliamolo e installiamolo:

sudo make platform=linux installdir=/usr/local/bin/gogoc install

ora che è installato dobbiamo configurarlo, quindi modifichiamo il file gogoc.conf:

sudo nano /usr/local/bin/gogoc/bin/gogoc.conf

cercate le seguenti righe e modificatele con i dati che avete usato per creare il "secondo account"(quello in freenet6, nel mio caso era "pippo" ...):

userid=TUOUSARNAME
passwd=TUAPASSWORD
server=authenticated.freenet6.net
auth_method=any

A questo punto è necessario dichiarare quale è l'interfaccia con cui siete connessi ad internet, esempio eth0 o nel caso di connessione wireless wlan0.

if_prefix=eth0

Ora salvate e chiudete. E' il moneto di avviare il tunnel:

cd /usr/local/bin/gogoc/bin/
sudo ./gogoc

Metodo alternativo

Con Ubuntu o Debian un metodo molto più semplice è quello di installare direttamente il pacchetto gogoc :

sudo apt-get install gogoc

Una volta installato il software la configurazione è la stessa di prima solo che il file è /etc/gogoc/gogoc.conf :

sudo gedit /etc/gogoc/gogoc.conf

Il file di configurazione contiene molte indicazioni ed è precompilato, in sintesi dovrete inserire le vostre credenziali di accesso alla rete Freenet6, specificare il server sul quale avverrà l'autenticazione ("broker.freenet6.net") e specificare come metodo di autenticazione "any":

userid=pippo
passwd=pippopassword
server=broker.freenet6.net
auth_method=any

Ora se avviate il servizio con il comando "sudo /etc/init.d/gogoc restart" riceverete un errore del tipo:

* Not starting gogoc - no server key           [fail]

Per risolvere il problema occorre avviare direttamente il programma e non il servizio, in modo da poter interagire con esso nel caso fosse richiesta una scelta da parte dell'utente:

$ sudo /usr/sbin/gogoc -n

amsterdam.freenet6.net is an unknown host, do you want to add its key?? (Y/N)

Una volta aggiunta la chiave l'interfaccia IPV6 sarà attiva e funzionante. Potrete interrompere l'esecuzione con CTRL+C.

Se volete usare il servizio gogoc, dovrete modificare il relativo file ed evitare la verifica della chiave:

sudo nano /etc/init.d/gogoc

modificare la riga :

CHECK_KEYFILE="yes" 

con

CHECK_KEYFILE="no" 

Verifica

Per verificare se l'interfaccia IPV6 è attiva e funzionante usare il seguente comando:

ifconfig tun

se tutto va bene dovreste avere un risultato simile:

tun       Link encap:UNSPEC  HWaddr 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00  
indirizzo inet6: 2001:5c0:1400:b::c8fd/128 Scope:Global
UP POINTOPOINT RUNNING NOARP MULTICAST  MTU:1280  Metric:1
RX packets:24 errors:0 dropped:0 overruns:0 frame:0
TX packets:18 errors:0 dropped:0 overruns:0 carrier:0
collisioni:0 txqueuelen:500
Byte RX:1712 (1.7 KB)  Byte TX:1296 (1.2 KB)

Provate a fare un ping su altri siti IPV6:

ping6 www.kame.net
ping6 ipv6.google.com

Con il vostro nuovo IPv6 collegatevi al sito http://test-ipv6.com/ oppure http://v6.testmyipv6.com/
che vi farà vedere il vostro nuovo ip.

Come secondo test potreste eseguire un ping:

ping pippo.broker.freenet6.net
PING pippo.broker.freenet6.net (81.171.72.12) 56(84) bytes of data.
64 bytes from amsterdam.freenet6.net (81.171.72.12): icmp_req=1 ttl=242 time=113 ms
64 bytes from amsterdam.freenet6.net (81.171.72.12): icmp_req=2 ttl=242 time=73.6 ms
...

Questo è il vostro indirizzo IPV4, se eseguite un ping in IPV6:

ping6 pippo.broker.freenet6.net
PING pippo.broker.freenet6.net(2001:5c0:1400:b::c8fd) 56 data bytes
64 bytes from 2001:5c0:1400:b::c8fd: icmp_seq=1 ttl=64 time=0.074 ms
64 bytes from pippo.broker.freenet6.net: icmp_seq=2 ttl=64 time=0.094 ms
64 bytes from pippo.broker.freenet6.net: icmp_seq=3 ttl=64 time=0.098 ms
...

Dall'esterno sarà possibile raggiungere il pc sul quale è stato installato il client usando il dominio assegnato a patto che anche chi sta all'esterno sia in IPV6. Per esempio se avessimo un server ssh nel pc locale potremo connetterci ad esso da un pc qualsiasi digitando il comando:

ssh utentepc@pippo.broker.freenet6.net

Per verificare che il vostro pc è raggiungibile dall'esterno basta eseguire un ping6 usando il vostro dominio, a questo proposito esistono diversi siti che offrono questo servizio, ad esempio www.subnetonline.com oppure potreste osservare un su comando di traceroute su www.dnsstuff.com, che mostra come la richiesta fatta sul dominio pippo.broker.freenet6.net vada a finire sul server della freenet6, e sarà quest'ultimo che gestirà a sua volta la richiesta per il vostro client.

Insomma se avrete problemi con la lentezza della connessione IPV6, questo dipenderà prevalentemente dal fatto che le connessioni non saranno dirette, bensì passeranno sempre attraverso il broker server.

Ora se volessimo configurare Apache per far si che il sito web sul pc locale sia raggiunto da remoto all'indirizzo http://pippo.broker.freenet6.net dovrei modificare il file di configurazione del web server:

sudo nano /etc/apache2/sites-available/default

modificate le prime righe in questo modo:


ServerAdmin webmaster@localhost
ServerName http://pippo.broker.freenet6.net
DocumentRoot /var/www
...

naturalmente al posto di "pippo" dovreste inserire il vostro nome utente.

Salvate e chiudete.

riavviate Apache:

sudo /etc/init.d/apache2 restart

Ora anche il vostro sarà accessibile dall'esterno.

Per verificarlo usate il servizio di validazione fornito dal sito http://ipv6-test.com inserendo il nome del vostro sito, ad esempio "http://pippo.broker.freenet6.net".

Ultimo aggiornamento ( Mercoledì 24 Agosto 2011 09:53 )  
Loading

Login