VPN

Da EigenWiki.

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 tinc ed avere la fiducia del nostro maintainer diretta o tramite qualcuno che garantisca per voi.

La email di riferimento per TINC & VPN è ax89(chiocciola)eigenlab.org. 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 bene: 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 l'editor, copiare 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 bene: 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:

#!/bin/bash 
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
ip r a 10.174.0.0/15 via 172.18.0.1

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 

Creare il file tinc-down

sudo nano /etc/tinc/eigennet/tinc-down

e inserire il seguente script:

#!/bin/bash
ip route del 172.18.0.1 dev eigennet
ip addr del TUOIPSCELTO/24 dev eigennet
ip l set eigennet down
iptables -D FORWARD -p tcp -m tcp --tcp-flags SYN,RST SYN -j TCPMSS --clamp-mss-to-pmtu

9) Invio della richiesta di abilitazione Inviare un e-mail ad ax89(chiocciola)eigenlab.org (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