103416 Letture

Creare una semplice VPN con Ubuntu e connettersi da Windows

Una VPN (acronimo di Virtual Private Network) può essere considerata come un'estensione di una rete privata che si occupa di instaurare dei "collegamenti" tra due o più sistemi che debbono scambiarsi dati in modo sicuro, utilizzando una rete condivisa o comunque pubblica qual è Internet.
Attraverso la rete VPN è possibile scambiarsi informazioni in modo molto simile a quanto accade in una connessione privata punto-punto. L'approccio utilizzato dà modo di rendere il computer remoto parte di una rete privata interna alla struttura aziendale creando un "tunnel" virtuale attraverso la rete Internet. Per simulare un collegamento punto-punto, i dati vengono incapsulati con l'aggiunta di un'intestazione che fornisce le informazioni di routing e cifrati in modo da renderne possibile la lettura da parte di eventuali aggressori, sprovvisti delle necessarie chiavi crittografiche.

In questo articolo vogliamo presentarvi una procedura che consentirà di configurare una qualunque macchina Linux Ubuntu Desktop od Ubuntu Server come server VPN. Alla rete VPN che allestiremo potranno collegarsi tutti i client, qualunque sistema operativo montino. Nel nostro caso, tuttavia, utilizzando Ubuntu come server, vedremo come sia possibile connettersi alla VPN dalle macchine Windows.


La VPN utilizzerà il protocollo di rete PPTP, il più semplice da installare e configurare. Diamo per scontato di avere a disposizione un sistema Ubuntu 10.10 già installato, perfettamente funzionante e connesso alla rete Internet mediante un router domestico od aziendale.


Cliccando su Applicazioni, Ubuntu Software Center, apparirà l'applicazione che, in Ubuntu, consente di installare e rimuovere rapidamente il software. Nella casella di ricerca, in alto a destra, si dovrà digitare pptpd quindi cliccare sul pulsante Installa in corrispondenza di PoPToP Point to Point Tunneling Server.

Cliccando sul pulsante Installa, Ubuntu provvederà a scaricare dai suoi repositories il pacchetto principale di PPTPD oltre alla dipendenza Broadcast relay daemon. Dopo qualche istante di attesa, entrambi i pacchetti verranno automaticamente installati sul sistema.

A questo punto, è necessario aprire una finestra del terminale cliccando sul menù Applicazioni quindi su Accessori, Terminale.
Alla comparsa del prompt, va digitato il comando seguente: sudo gedit /etc/pptpd.conf. In questo modo Ubuntu visualizzerà immediatamente (previo inserimento della password) il contenuto del file di configurazione di PPTPD utilizzando l'editor di testo libero "gedit", compatibile con la codifica di caratteri UTF-8 e nato per l'ambiente desktop GNOME.


In calce al file è necessario aggiungere quanto segue:
localip 192.168.1.200
remoteip 192.168.1.234-238,192.168.1.245


Dove 192.168.1.200 va sostituito con l'indirizzo IP assegnato al server VPN all'interno della rete locale. Il parametro remoteip permette invece di stabilire quali gruppi di indirizzi IP saranno assegnati ai client collegati.
Dopo aver cliccato su File, Salva, per memorizzare le modifiche applicate, si dovrà tornare alla finestra terminale e digitare il comando seguente: sudo gedit /etc/ppp/pptpd-options.
Alla fine del file di testo si dovrà aggiungere le righe seguenti:

ms-dns 192.168.1.1
nobsdcomp
noipx
mtu 1490
mru 1490


In corrispondenza del parametro ms-dns va indicato l'indirizzo IP corrispondente al server DNS che tutti i clienti collegati in VPN utilizzeranno.

Il passo seguente consiste nell'editare il file contenente le coppie di username e password necessari per l'autenticazione al server VPN di ciascun sistema client. Per procedere è necessario digitare, sempre dalla finestra terminale, il comando sudo gedit /etc/ppp/chap-secrets.
All'interno del file si dovranno indicare gli username seguiti dalla pressione del tasto TAB, inserire il carattere * (asterisco), premere ancora TAB, introdurre una password, premere ancora il tasto TAB ed infine digitare nuovamente *.

Dopo aver salvato le modifiche applicate, si dovrà riavviare il daemon della connessione affinché gli interventi apportati abbiano effetto:
sudo /etc/init.d/pptpd restart


A questo punto, chi lo volesse può attivare il forwarding dei dati dal server VPN a tutti i sistemi che compongono la rete locale. In questo modo, coloro che si connetteranno da remoto al server VPN avranno visibilità dell'intera LAN alla quale il server è collegato.
Per consentire questa possibilità basta agire sull'"interruttore" giusto. Innanzi tutto è necessario digitare sudo vim /etc/sysctl.conf , cercare la direttiva net.ipv4.ip_forward=1 e togliere il segno di commento # innanzi ad essa.


Per concludere, è sufficiente riavviare il sistema od invocare il comando sudo sysctl -p.


  1. Avatar
    xcxc
    26/01/2016 19:22:05
    scusate se faccio una domanda stupida. Ma l'indirizzo IP assegnato al server VPN ... quale sarebbe?
  2. Avatar
    Fabrizio_84
    29/07/2013 10:40:53
    Buongiorno, volevo sapere se e' possibile accedere in maniera parallela ad ubuntu da diversi computer windows. Grazie
  3. Avatar
    roncenivan
    12/03/2013 17:39:48
    ma stessa procedura anche con ubuntu 12.04? Grazie Ivan
  4. Avatar
    alimax88
    26/04/2012 21:52:55
    Grazie,davvero molto interessante ed utile!
  5. Avatar
    mykia
    22/04/2012 10:56:29
    Ciao, ho intenzione di realizzare una rete vpn; ho un server ubuntu 11.10 dove non è installata la parte grafica (gnome, kde,...) è già disponibile in rete ambiente soho ed è gestito tramite webmin o putty posso ugualmente seguire la tua guida?
  6. Avatar
    Serena1
    13/06/2011 10:28:41
    Ottimo articolo, vorrei qualche informazione in piu per approfondire . Potete darmi qualche link, anche in inglese andra benissimo, grazie.
  7. Avatar
    Michele Nasi
    05/05/2011 09:14:46
    Sì, l'indicazione è riportata nella seconda pagina dell'articolo.
  8. Avatar
    Geraldi
    05/05/2011 00:03:21
    devo fare il port forwarding per il router, opure non è necesario?
Creare una semplice VPN con Ubuntu e connettersi da Windows - IlSoftware.it