Italiano English
Modifica History Actions

Differenze per "TincVPN"

Differenze tra le versioni 30 e 31
Versione 30 del 2011-07-28 14:14:52
Dimensione: 11518
Commento: Traduzione di OpenWRT e TincVPN
Versione 31 del 2011-07-31 02:31:04
Dimensione: 11830
Commento:
Le cancellazioni sono segnalate in questo modo. Le aggiunte sono segnalate in questo modo.
Linea 128: Linea 128:
Se tutta funziona è possibile fare un [[http://it.wikipedia.org/wiki/Ping|ping]] all'indirizzo 10.0.1.1 Se tutto funziona è possibile fare un [[http://it.wikipedia.org/wiki/Ping|ping]] all'indirizzo 10.0.1.1
Linea 240: Linea 240:
You need to have XCode and MacPorts.

1) Install XCode from Apple site or it can also be obtained from original OSX installation DVD.

2) Install MacPorts (http://www.macports.org/)

3) After Macports is installed, close and reopen your terminal. Update the ports system and ports list.
È necessario avere installato [[http://developer.apple.com/xcode/|XCode]] e [[http://www.macports.org/|MacPorts]].

1) Installare XCode dal [[http://developer.apple.com/xcode/|sito]] o dal DVD di installazione dell'OSX.

2) Installare MacPorts (http://www.macports.org/)

3) Successivamente, chiudere e riaprire il terminale. Aggiornare il sistema e la lista di porte con i comandi a seguire:
Linea 252: Linea 251:
This command will install tinc and all the necessary dependancies.

Installare [[http://tinc-vpn.org/|tinc]] e tutte le dipendenze necessarie.
Linea 257: Linea 256:
Configuration files are located in {{{/opt/local/etc/tinc}}}

Tinc can now be configured and executed.

3) Tinc on OS X looks for configuration files in {{{/usr/etc/tinc}}} but we will place the configuration for Ninux VPN into {{{/Library/tinc}}} directory. Navigate to your home directory and create configuration folders for Ninux so type:
I files di configurazione sono posizionati in {{{/opt/local/etc/tinc}}}

Tinc può essere ora configurato ed eseguito.

3) I files di configurazione di Tinc su OSX sono posizionati in {{{/usr/etc/tinc}}} ma quelli per la VPN di Ninux VPN verranno posizionati nella cartella {{{/Library/tinc}}}. Digitare il comando a seguire per creare la cartella di configurazione per Ninux:
Linea 266: Linea 264:
4) You will need to create the following files and folders within:

''Tinc.conf'' in which you have to put this lines:

{{{
Name = yournickname

4) Sarà necessario creare creare i seguenti file e cartelle:

''Tinc.conf'' con il seguente codice:
{{{
Name = TUONICKNAME
Linea 276: Linea 274:
''tinc-up'' in which you have to put this lines:

''tinc-up'' con il seguente codice:
Linea 282: Linea 280:
Where in place of '''HEREYOURIPADDRESS''' you must put the IP address choosen on http://wiki.ninux.org/GestioneIndirizzi

''tinc-down'' in which you have to put this lines:
Dove al posto di ''HEREYOURIPADDRESS'' bisogna mettere l'indirizzo IP scelto in GestioneIndirizzi

''tinc-down'' con il seguente codice:
Linea 289: Linea 286:
''hosts/Norimberga'' in which you have to put this lines:

''hosts/Norimberga'' con il seguente :
Linea 303: Linea 300:
''hosts/yournickname'' in which you have to put your public key (see below)

5) Make sure tinc-up and tinc-down are executable:

''hosts/yournickname'' nel quale andrà inserita la propria chiave pubblica (vedere i passi successivi)

5) Rendere eseguibili i files ''tinc-up'' e ''tinc-down'':
Linea 310: Linea 307:
6) You will also need to generate pair of keys (private/public) for your client. Do it only after the above files are configured properly! You will be asked for locations of certain files. The default locations are fine.

6) Inoltre, sarà necessario generare il paio di chiavi (publica e privata) per il proprio terminale. Fatelo solo dopo che il file di cui sopra siano configurati correttamente! Vi verrà chiesto per le posizioni di alcuni file. Le posizioni predefinite vanno bene.
Linea 315: Linea 312:
put your public key into your /hosts/yournickname file.

7) Once you are done send an email to zioproto@gmail.com with your Nickname choosen at point 4 and your generated '''public''' key so we can authorize you in the VPN server.

10) Once you received notification that your public key is authorized you can try to connect
spostare la propria '''chiave pubblica''' nel file {{{/hosts/yournickname}}}.

7) Una volta completato inviare un'e-mail a contatti@ninux.org con il proprio Nickname scelto al punto 4 e la propria chiave '''pubblica''' per consentirci di abilitavi al Server VPN.

10) Una volta avvenuta conferma che la chiave pubblica è stata autorizzata è possibile tentare una connessione:
Linea 324: Linea 320:
If everything worked out you can ping 10.0.1.1. Now configure olsr to use the interface "tap0"

To stop the client you can kill it be executing:

kill -9 'cat /var/run/tincd.pid'
Se tutto funziona è possibile fare un [[http://it.wikipedia.org/wiki/Ping|ping]] all'indirizzo 10.0.1.1.
Ora bisognerà configurare [[http://it.wikipedia.org/wiki/OLSR|OLSR]] per utilizzare l'interfaccia "tap0".

Per interrompere il proprio client basta eseguire:
{{{kill -9 'cat /var/run/tincd.pid'}}}

Connettersi alla Rete Ninux via VPN con TINC

A seguire verrà illustrata passo passo la procedura per poter configurare i propri sistemi per la connessione VPN

Guida per i sistemi Linux

Aprire il terminale e seguire le procedure qui indicate:

1) Installare l'ultima versione di [[http://tinc-vpn.org/|tinc]]

sudo apt-get install tinc

Nota: Assicurarsi che la versione installata sia almeno la 1.0.13

2) Creare la cartella Ninux per tinc

sudo mkdir /etc/tinc/ninux

3) Creare il file di configurazione

sudo gedit /etc/tinc/ninux/tinc.conf

Una volta aperto gedit, inserire il testo a seguire:

Name = yournickname
ConnectTo = Norimberga
Mode = switch

È necessario inserire un nickname univoco. Norimberga è il nostro Server HUB e Mode = switch è necessario perché tinc opererà con una interfaccia TAP, necessari per eseguire su di esso OLSR.

4) Creare la cartella host

sudo mkdir /etc/tinc/ninux/hosts/

5) Generare il Keypair

sudo tincd -n ninux -K

per maggiori approfondimenti, consultare la pagina riguardo alla Crittografia Asimmetrica

6) Creare il file ''Norimberga''

sudo gedit /etc/tinc/ninux/hosts/Norimberga

Questo file deve contenere sia l'indirizzo che la chiave pubblica del Server indicati a seguire:

Address = svn.ninux.org

-----BEGIN RSA PUBLIC KEY-----
MIIBCgKCAQEA30bZWtIej9kj837Eb8C+nxvEXfy4Jly41tuJYfzpJiP/pTQGaPyF
XDEdfwAq8qJpfLaRfKl0pQ9rbDo4zjSlNW8e/5BxTnobXHcvSD9sm8bNAME2qBkI
plmeWt4RvDmEKDrJWyUIoyKyaTcCkXpfHslTJSBBj7TSjYX9SCfTkSS3GjNDWMjc
C02i2+ZB3balcR+Ea046l/GVFp0htxrUFxew5RDXPmmaiQRF6cpm3fMNtdq9ixz+
uJNjmfHW/lHk4KMUj6KMLca9mS4TWsFxLYmP0jZi7lD2hA3dNCW4nua8HHYPwj+X
Mh/vucAMckowzaf+51bGD+o8HVuM1hm4TwIDAQAB
-----END RSA PUBLIC KEY-----

Se si vuole anche un link di backup è possibile utilizzare un Server secondario

6a) Creare il file di backup ''guinness''

sudo gedit /etc/tinc/ninux/hosts/guinness

Come sopra, inserire l'indirizzo e la chiave a seguire:

Address = hispanico.ninux.org

-----BEGIN RSA PUBLIC KEY-----
MIIBCgKCAQEAp2VqrJOPTubK+I6lineZZ0QcgsuxtPaGqlEHbCis2I03Tv2KQ8ka
JQOdyuPcn/1KJE5Ys0JUgl67W5fneicQOSei/+9e/AbuzcPA35/Ldu/sfv+SP2/T
XSU+W681zyfUFk8fQqbaU6XXSYMJX1ZEWAv5sWWRSA0612xIkzKZoG628mwBYoGG
d9kjnkZRpqFJd2ZFyn+/wyX5yof/3TZ7UIntnUVgljOn6cscDFzOh+zAqbrPXyaD
ha8pP9ZvOILlK55ZDx1NLoMWiS1x4L8J0u+vUsTgjvo466J5AuYrwt4HpLvULUQq
Pgvk/5z4OPLWUi7jgjQAQ/GO7hg69ybDyQIDAQAB
-----END RSA PUBLIC KEY-----

6b) Modificare il file di configurazione

sudo gedit /etc/tinc/ninux/tinc.conf

e aggiornarlo con i seguenti dati:

Name = yournickname
ConnectTo = Norimberga
ConnectTo = guinness
Mode = switch

7) pubblicazione del proprio IP

Consultare la pagina della gestione degli indirizzi e scegliere un indirizzo IP entro il range 10.0.1.0~24. Controllare bene che l'indirizzo scelto non sia già assegnato, quindi modificare la pagina e pubblicare tale IP insieme ai propri dati di afferenza.

Nota: Sarebbe preferibile iscriversi al nostro Wiki.

8) Creare il file''tinc-up''

sudo gedit /etc/tinc/ninux/tinc-up

e inserire il seguente script:

ip link set dev ninux up
ip a a dev ninux TUOIPSCELTO/24 broadcast 10.0.1.255
#Adjust MTU
ip link set mtu 1280 dev ninux
iptables -A FORWARD -p tcp -m tcp --tcp-flags SYN,RST SYN -j TCPMSS --clamp-mss-to-pmtu

Nota bene sostituire TUOIPSCELTO con l'indirizzo IP scelto al punto 7

Abilitare i permessi di esecuzione al file tinc-up

sudo chmod +x /etc/tinc/ninux/tinc-up

9) Invio della richiesta di abilitazione

Inviare un e-mail all'indirizzo contatti@ninux.org con i seguenti dati:

  • Nickname (scelto al punto 3)

  • Indirizzo IP scelto
  • La chiave pubblica generata - attraverso la quale potremo abilitarti al Server VPN e quello di backup.

Dopo aver ricevuto la notifica che la chiave pubblica è stata autorizzata è possibile provare a connettersi con il seguente comando:

tincd -n ninux

Se tutto funziona è possibile fare un ping all'indirizzo 10.0.1.1 Ora bisognerà configurare OLSR per utilizzare l'interfaccia "ninux".

Note inportanti per la configurazione del protocollo OLSR

È FONDAMENTALE:

  • Utilizzare la versione OLSR 0.6.1
  • Inserire un Link Quality Multiplier nel file di configurazione dell'interfaccia di OLSR olsrd.conf. Somiglierà a quanto segue:

Interface "ninux"
{
    LinkQualityMult default 0.2
}

OpenWRT e TincVPN

Installare tinc e configurarlo (vedi i paragrafi precedenti per la configurazione):

opkg update
opkg install tinc

I pacchetto Tinc per OpenWRT è veramente minimo. Lo script init.d non è più adatto e deve essere riconfigurato con questo:

#!/bin/sh /etc/rc.common
START=50

start() {
tincd -n ninux
}

stop() {

killall tincd

}

Se si vuole utilizzare il comando 'IP' per tinc-up è necessario installare tale pacchetto con

opkg install ip

Poiché tincd viene configurato manualmente, bisogna utilizzare il seguente codice in /etc/config/network per collegare l'interfaccia VPN a quella di Ninux, creata da tinc. In questo modo si può utilizzare l'interfacciaVPN quando si configurano con UCI altri programmi tipo OLSRD

config interface vpn
        option proto none
        option ifname ninux

Se il Firewall OpenWRT non è attivo saltare questo passo.

Nel file /etc/config/firewall è necessario abilitare il traffico in invio tra la LAN e il VPN e viceversa, altrimenti non si riuscirà a raggiungere altri compputer nella subnet, quindi aggiungere il seguente codice:

##VPN ninux Zone
config 'zone'
        option 'name' 'vpn'
        option 'input' 'ACCEPT'
        option 'output' 'ACCEPT'
        option 'forward' 'ACCEPT'
##Traffic from/to lan/vpn
config forwarding
        option 'src' 'vpn'
        option 'dest' 'lan'

config forwarding
        option 'src' 'lan'
        option 'dest' 'vpn'     

##end VPN ninux Zone

Intallare OLSRD e i suoi componenti aggiuntivi:

opkg install olsrd olsrd-mod-mdns olsrd-mod-dyn-gw olsrd-mod-arprefresh olsrd-mod-httpinfo olsrd-mod-txtinfo olsrd-mod-nameservice

Nota: Non tutti i componenti aggiuntivi sarebbero necessari, ma sicuramente lo è olsrd-mod-mdns per bonjour/zeroconf. Questi componenti sono elencati in /etc/config/olsrd perciò tanto vale installarli tutti.

Nel file /etc/config/olsrd è ora possibile aggiungere il seguente codice:

config 'Interface'
        option 'interface' 'vpn'
        option 'LinkQualityMult' 'default 0.2'

è molto importante settare il Link Quality Multiplier per utilizzare solo la VPN nel caso non ci sia un collegamento wireless disponibile.

Se dopo la messa a punto di LinkQualityMult il demone OLSRD non inserisce percorsi nel kernel, è necessario togliere il commento a questa riga:

#LinkQualityAlgorithm    "etx_fpm"

Lo script a seguire è necessario per abilitare la LAN non OLSR per comunicare con altri VPN

config LoadPlugin
        option library 'olsrd_mdns.so.1.0.0'
        option NonOlsrIf 'lan'

In questo modo annunceremo ad altri host sulla rete OLSR la nostra LAN:

config 'Hna4'
       option 'netaddr' 'LAN_ADDR'
       option 'netmask' 'NETMASK_LAN_ADDR'

Sostituire LAN_ADDR with con la propria sottorete LAN (ad es: 192.168.23.0) e NETMASK_LAN_ADDR con la propria marchera di rete (per trovare una sottorete disponibile controllare GestioneIndirizzi, e se è già utilizzata si prega di cambiarla)

Guida per i Sistemi Apple

È necessario avere installato XCode e MacPorts.

1) Installare XCode dal sito o dal DVD di installazione dell'OSX.

2) Installare MacPorts (http://www.macports.org/)

3) Successivamente, chiudere e riaprire il terminale. Aggiornare il sistema e la lista di porte con i comandi a seguire:

sudo port selfupdate
sudo port sync

Installare tinc e tutte le dipendenze necessarie.

sudo port install tinc

I files di configurazione sono posizionati in /opt/local/etc/tinc

Tinc può essere ora configurato ed eseguito.

3) I files di configurazione di Tinc su OSX sono posizionati in /usr/etc/tinc ma quelli per la VPN di Ninux VPN verranno posizionati nella cartella /Library/tinc. Digitare il comando a seguire per creare la cartella di configurazione per Ninux:

mkdir -p Library/tinc/ninux

4) Sarà necessario creare creare i seguenti file e cartelle:

Tinc.conf con il seguente codice:

Name = TUONICKNAME
ConnectTo = Norimberga
Mode = switch
Device = /dev/tap0

tinc-up con il seguente codice:

ifconfig $INTERFACE HEREYOURIPADDRESS/24 netmask 255.255.255.0 broadcast 10.0.1.255
ifconfig $INTERFACE mtu 1280

Dove al posto di HEREYOURIPADDRESS bisogna mettere l'indirizzo IP scelto in GestioneIndirizzi

tinc-down con il seguente codice:

ifconfig $INTERFACE down

hosts/Norimberga con il seguente :

Address = svn.ninux.org

-----BEGIN RSA PUBLIC KEY-----
MIIBCgKCAQEA30bZWtIej9kj837Eb8C+nxvEXfy4Jly41tuJYfzpJiP/pTQGaPyF
XDEdfwAq8qJpfLaRfKl0pQ9rbDo4zjSlNW8e/5BxTnobXHcvSD9sm8bNAME2qBkI
plmeWt4RvDmEKDrJWyUIoyKyaTcCkXpfHslTJSBBj7TSjYX9SCfTkSS3GjNDWMjc
C02i2+ZB3balcR+Ea046l/GVFp0htxrUFxew5RDXPmmaiQRF6cpm3fMNtdq9ixz+
uJNjmfHW/lHk4KMUj6KMLca9mS4TWsFxLYmP0jZi7lD2hA3dNCW4nua8HHYPwj+X
Mh/vucAMckowzaf+51bGD+o8HVuM1hm4TwIDAQAB
-----END RSA PUBLIC KEY-----

hosts/yournickname nel quale andrà inserita la propria chiave pubblica (vedere i passi successivi)

5) Rendere eseguibili i files tinc-up e tinc-down:

chmod +x tinc-up tinc-down

6) Inoltre, sarà necessario generare il paio di chiavi (publica e privata) per il proprio terminale. Fatelo solo dopo che il file di cui sopra siano configurati correttamente! Vi verrà chiesto per le posizioni di alcuni file. Le posizioni predefinite vanno bene.

sudo tincd -c ~/Library/tinc/ninux -K

spostare la propria chiave pubblica nel file /hosts/yournickname.

7) Una volta completato inviare un'e-mail a contatti@ninux.org con il proprio Nickname scelto al punto 4 e la propria chiave pubblica per consentirci di abilitavi al Server VPN.

10) Una volta avvenuta conferma che la chiave pubblica è stata autorizzata è possibile tentare una connessione:

sudo tincd -c ~/Library/tinc/ninux --pidfile=/var/run/tincd.pid -D --debug=1

Se tutto funziona è possibile fare un ping all'indirizzo 10.0.1.1. Ora bisognerà configurare OLSR per utilizzare l'interfaccia "tap0".

Per interrompere il proprio client basta eseguire: kill -9 'cat /var/run/tincd.pid'