VPN: differenze tra le versioni

Da EigenWiki.
Vai alla navigazione Vai alla ricerca
(ehm... la chiave è ancora legata al nome eigenserver101)
(rimossi tutti gli spazi ad inizio linea nel codice; corretto il range di IP utilizzabili; aggiunta la riga di installazione per arch e derivate; sostituito gedit con nano per essere più generale;)
Riga 9: Riga 9:
Aprire il terminale e seguire le procedure qui indicate:  
Aprire il terminale e seguire le procedure qui indicate:  
1) Installare l'ultima versione di [http://tinc-vpn.org/ tinc]  
1) Installare l'ultima versione di [http://tinc-vpn.org/ tinc]  
  sudo apt-get install tinc  
sudo apt-get install tinc           #su debian e derivate
sudo pacman -S tinc                #su arch e derivate
'''__Nota:__''' Assicurarsi che la versione installata sia almeno la 1.0.13  
'''__Nota:__''' Assicurarsi che la versione installata sia almeno la 1.0.13  
2) Creare la cartella EigenNet per tinc  
 
  sudo mkdir /etc/tinc/eigennet  
2) Creare la cartella EigenNet per tinc
sudo mkdir /etc/tinc/
sudo mkdir /etc/tinc/eigennet  
 
3) Creare il file di configurazione  
3) Creare il file di configurazione  
  sudo gedit /etc/tinc/eigennet/tinc.conf  
sudo nano /etc/tinc/eigennet/tinc.conf
Una volta aperto gedit, inserire il testo a seguire:  
Una volta aperto gedit, inserire il testo a seguire:  
  Name = yournickname  
Name = yournickname
  ConnectTo = eigenserver101
ConnectTo = eigenserver101
  Mode = switch  
Mode = switch
è necessario inserire un nickname univoco.  
è necessario inserire un nickname univoco.  
''zefiro'' è il nostro Server HUB e ''Mode = switch'' è necessario perchè tinc opererà con una interfaccia [http://it.wikipedia.org/wiki/Network_tap TAP], necessari per eseguire su di esso [https://en.wikipedia.org/wiki/B.A.T.M.A.N. batman-adv].  
''zefiro'' è il nostro Server HUB e ''Mode = switch'' è necessario perchè tinc opererà con una interfaccia [http://it.wikipedia.org/wiki/Network_tap TAP], necessari per eseguire su di esso [https://en.wikipedia.org/wiki/B.A.T.M.A.N. batman-adv].  


4) Creare la cartella host  
4) Creare la cartella host  
  sudo mkdir /etc/tinc/eigennet/hosts/  
sudo mkdir /etc/tinc/eigennet/hosts/  
 
5) Generare il Keypair  
5) Generare il Keypair  
  sudo tincd -n eigennet -K  
sudo tincd -n eigennet -K  
per maggiori approfondimenti, consultare la pagina riguardo alla [http://it.wikipedia.org/wiki/Crittografia_asimmetrica Crittografia Asimmetrica]  
per maggiori approfondimenti, consultare la pagina riguardo alla [http://it.wikipedia.org/wiki/Crittografia_asimmetrica Crittografia Asimmetrica]  


6) Creare il file ''eigenserver101''  
6) Creare il file ''eigenserver101''  
  sudo gedit /etc/tinc/eigennet/hosts/eigenserver101
sudo nano /etc/tinc/eigennet/hosts/eigenserver101
Questo file deve contenere sia l'indirizzo che la chiave pubblica del Server indicati a seguire:  
Questo file deve contenere sia l'indirizzo che la chiave pubblica del Server indicati a seguire:  
  Address = zefiro.eigenlab.org  
Address = zefiro.eigenlab.org  
  -----BEGIN RSA PUBLIC KEY-----  
-----BEGIN RSA PUBLIC KEY-----  
  MIIBCgKCAQEA1CogVrQqod0CcdIE0jnlD1lF6NC4s9YxGZx+5Sh5TIY+7yTxAUFK  
MIIBCgKCAQEA1CogVrQqod0CcdIE0jnlD1lF6NC4s9YxGZx+5Sh5TIY+7yTxAUFK  
  9IFsGHo70eROrrNbrpDERhi3ZSxmZHO1MzEUXDoxBNfaZ4EqgKhhT3xqnfZMAFpB  
9IFsGHo70eROrrNbrpDERhi3ZSxmZHO1MzEUXDoxBNfaZ4EqgKhhT3xqnfZMAFpB  
  1/O7EZ657a7gmAPZx1o2TwgGW0bGqhaypdYPASbtEKtc1K2KW1cH/iL0PLi6tSKr  
1/O7EZ657a7gmAPZx1o2TwgGW0bGqhaypdYPASbtEKtc1K2KW1cH/iL0PLi6tSKr  
  6pw2fJT9FolnXvEgm2oy0o/dgQwBu5suPpA00iA7xt66c+rhe8yZsVtsRSvfxavO  
6pw2fJT9FolnXvEgm2oy0o/dgQwBu5suPpA00iA7xt66c+rhe8yZsVtsRSvfxavO  
  Qjn2rbGtVV69uYqg6w8Df5rGubKCEnqVJhHvdwVN92qzpWExsQGbuEQYdGRan4OV  
Qjn2rbGtVV69uYqg6w8Df5rGubKCEnqVJhHvdwVN92qzpWExsQGbuEQYdGRan4OV  
  NFHt/Zmsu/8x3roa/8Vna7w6PP4CltarUwIDAQAB  
NFHt/Zmsu/8x3roa/8Vna7w6PP4CltarUwIDAQAB  
  -----END RSA PUBLIC KEY-----  
-----END RSA PUBLIC KEY-----  


Per ora non abbiamo un server secondario per avere un link di backup.  
Per ora non abbiamo un server secondario per avere un link di backup.  


7) pubblicazione del proprio IP  
7) pubblicazione del proprio IP  
Consultare la pagina della [http://wiki.ninux.org/GestioneIndirizzi#Tabella_IP_Classe_A_10.2BAC8-8 gestione degli indirizzi sul wiki di Ninux] e scegliere un indirizzo IP entro il range 178.175.0.'''201~254'''. Controllare bene che l'indirizzo scelto non sia già assegnato, quindi modificare la pagina e pubblicare tale IP insieme ai propri dati di afferenza.  
Consultare la pagina della [http://wiki.ninux.org/GestioneIndirizzi#Tabella_IP_Classe_A_10.2BAC8-8 gestione degli indirizzi sul wiki di Ninux] e scegliere un indirizzo IP entro il range 172.18.0.'''201~254'''. 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 [http://wiki.ninux.org/?action=newaccount iscriversi] al Wiki di Ninux.   
__Nota:__ Sarebbe preferibile [http://wiki.ninux.org/?action=newaccount iscriversi] al Wiki di Ninux.   
8) Creare il file ''tinc-up''  
8) Creare il file ''tinc-up''  
  sudo gedit /etc/tinc/eigennet/tinc-up  
sudo nano /etc/tinc/eigennet/tinc-up  
e inserire il seguente script:  
e inserire il seguente script:  
  ip link set dev eigennet up  
ip link set dev eigennet up  
  ip a a dev eigennet TUOIPSCELTO/24 broadcast 172.18.0.255
ip a a dev eigennet TUOIPSCELTO/24 broadcast 172.18.0.255
  #Aggiusta il MTU cioè la dimensione massima dei pacchetti  
#Aggiusta il MTU cioè la dimensione massima dei pacchetti  
  ip link set mtu 1350 dev eigennet  
ip link set mtu 1350 dev eigennet  
  iptables -A FORWARD -p tcp -m tcp --tcp-flags SYN,RST SYN -j TCPMSS --clamp-mss-to-pmtu  
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.   
'''Nota bene''' sostituire '''''TUOIPSCELTO''''' con l'indirizzo IP scelto al punto 7.   
Abilitare i permessi di esecuzione al file ''tinc-up''  
Abilitare i permessi di esecuzione al file ''tinc-up''  
  sudo chmod +x /etc/tinc/eigennet/tinc-up  
sudo chmod +x /etc/tinc/eigennet/tinc-up  
9) Invio della richiesta di abilitazione  
9) Invio della richiesta di abilitazione  
Inviare un e-mail ad Antonio Iudicello ax89.box@gmail.com  (per essere sicuri di non sbagliare indirizzo mail cercare la sua chiave PGP e controllare la catena di fiducia delle firme) con i seguenti dati:  
Inviare un e-mail ad Antonio Iudicello ax89.box@gmail.com  (per essere sicuri di non sbagliare indirizzo mail cercare la sua chiave PGP e controllare la catena di fiducia delle firme) con i seguenti dati:  
Riga 64: Riga 69:
Dato che non vorremmo fare account a George W Bush sotto mentite spoglie  è richiesto che questa mail sia firmata con [[PGP]] con una catena di fiducia decente dal maintainer fino a voi oppure che gliela confermiate di persona o via telefono.   
Dato che non vorremmo fare account a George W Bush sotto mentite spoglie  è richiesto che questa mail sia firmata con [[PGP]] con una catena di fiducia decente dal maintainer fino a voi oppure che gliela confermiate di persona o via telefono.   
Dopo aver ricevuto la notifica che la chiave pubblica è stata autorizzata è possibile provare a connettersi con il seguente comando:  
Dopo aver ricevuto la notifica che la chiave pubblica è stata autorizzata è possibile provare a connettersi con il seguente comando:  
  tincd -n eigennet  
tincd -n eigennet  
Se tutto funziona è possibile fare un [http://it.wikipedia.org/wiki/Ping ping] all'indirizzo 10.175.0.101 e 10.175.0.1  
Se tutto funziona è possibile fare un [http://it.wikipedia.org/wiki/Ping ping] all'indirizzo 10.175.0.101 e 10.175.0.1  
Ora bisognerà configurare [http://it.wikipedia.org/wiki/OLSR OLSR] per utilizzare l'interfaccia "eigennet".  
Ora bisognerà configurare [http://it.wikipedia.org/wiki/OLSR OLSR] per utilizzare l'interfaccia "eigennet".  

Versione delle 03:53, 13 dic 2013

Se si è solo curiosi di sperimentare i servizi interni alla nostra rete senza ampliarla con una antenna possibile collegarsi tramite una VPN ad uno dei nostri server. Per farlo è necessario usare [1] ed avere la fiducia del nostro maintainer diretta o tramite qualcuno che garantisca per voi.

La persona di riferimento per TINC & VPN è Antonio Iudicello. Questa guida è basata (anzi, copiaincollata e modificata) sulla guida TINC di Ninux che copre la configurazione su sistemi Linux e Mac.

Connettersi alla Rete EigenNet 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 tinc

sudo apt-get install tinc           #su debian e derivate
sudo pacman -S tinc                 #su arch e derivate

__Nota:__ Assicurarsi che la versione installata sia almeno la 1.0.13

2) Creare la cartella EigenNet per tinc

sudo mkdir /etc/tinc/
sudo mkdir /etc/tinc/eigennet 

3) Creare il file di configurazione

sudo nano /etc/tinc/eigennet/tinc.conf

Una volta aperto gedit, inserire il testo a seguire:

Name = yournickname
ConnectTo = eigenserver101
Mode = switch

è necessario inserire un nickname univoco. zefiro è il nostro Server HUB e Mode = switch è necessario perchè tinc opererà con una interfaccia TAP, necessari per eseguire su di esso batman-adv.

4) Creare la cartella host

sudo mkdir /etc/tinc/eigennet/hosts/ 

5) Generare il Keypair

sudo tincd -n eigennet -K 

per maggiori approfondimenti, consultare la pagina riguardo alla Crittografia Asimmetrica

6) Creare il file eigenserver101

sudo nano /etc/tinc/eigennet/hosts/eigenserver101

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

Address = zefiro.eigenlab.org 
-----BEGIN RSA PUBLIC KEY----- 
MIIBCgKCAQEA1CogVrQqod0CcdIE0jnlD1lF6NC4s9YxGZx+5Sh5TIY+7yTxAUFK 
9IFsGHo70eROrrNbrpDERhi3ZSxmZHO1MzEUXDoxBNfaZ4EqgKhhT3xqnfZMAFpB 
1/O7EZ657a7gmAPZx1o2TwgGW0bGqhaypdYPASbtEKtc1K2KW1cH/iL0PLi6tSKr 
6pw2fJT9FolnXvEgm2oy0o/dgQwBu5suPpA00iA7xt66c+rhe8yZsVtsRSvfxavO 
Qjn2rbGtVV69uYqg6w8Df5rGubKCEnqVJhHvdwVN92qzpWExsQGbuEQYdGRan4OV 
NFHt/Zmsu/8x3roa/8Vna7w6PP4CltarUwIDAQAB 
-----END RSA PUBLIC KEY----- 

Per ora non abbiamo un server secondario per avere un link di backup.

7) pubblicazione del proprio IP Consultare la pagina della gestione degli indirizzi sul wiki di Ninux e scegliere un indirizzo IP entro il range 172.18.0.201~254. 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 Wiki di Ninux. 8) Creare il file tinc-up

sudo nano /etc/tinc/eigennet/tinc-up 

e inserire il seguente script:

ip link set dev eigennet up 
ip a a dev eigennet TUOIPSCELTO/24 broadcast 172.18.0.255
#Aggiusta il MTU cioè la dimensione massima dei pacchetti 
ip link set mtu 1350 dev eigennet 
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/eigennet/tinc-up 

9) Invio della richiesta di abilitazione Inviare un e-mail ad Antonio Iudicello ax89.box@gmail.com (per essere sicuri di non sbagliare indirizzo mail cercare la sua chiave PGP e controllare la catena di fiducia delle firme) con i seguenti dati:

  • Nickname (scelto al punto 3)
  • Indirizzo IP scelto
  • La chiave pubblica generata - attraverso la quale potremo abilitarti al Server VPN.

Dato che non vorremmo fare account a George W Bush sotto mentite spoglie è richiesto che questa mail sia firmata con PGP con una catena di fiducia decente dal maintainer fino a voi oppure che gliela confermiate di persona o via telefono. Dopo aver ricevuto la notifica che la chiave pubblica è stata autorizzata è possibile provare a connettersi con il seguente comando:

tincd -n eigennet 

Se tutto funziona è possibile fare un ping all'indirizzo 10.175.0.101 e 10.175.0.1 Ora bisognerà configurare OLSR per utilizzare l'interfaccia "eigennet". Note importanti 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 "eigennet" 
    LinkQualityMult default 0.2 
 }