Print this page
Sabato, 03 Novembre 2018 07:17

VPN con L2TP su Ubuntu Bionic Beaver e derivate

Rate this item
(0 votes)

Ogni aggiornamento di versione di una distribuzione porta con sè cose buone e cose meno buone. Ad esempio sono passato dalla LInux Mint 18.3 alla 19, quest'ultima basata su Ubuntu Bionic Beaver (18.04). Oltre ad una nuova grafica ci sono molti altri cambiamenti, tra cui il fatto che all'improvviso cose che prima funzionavano ora non lo sono più. In particolare in questo articolo racconto di come una cosa facile come la configurazione di una rete VPN con il protocollo L2TP abbia presentato non pochi problemi. risolti dopo ore di ricerche in rete. Se avete raggiunto questo post per risolvere anche voi il problema, vi risparmio la fatica. Ecco pronta la guidina.

In pratica nonostante avessi fatto tutto quanto sapevo per configurare la rete, ed installato tutto il software necessario, ottenenvo sistematicamente un errore di connessione tipo "il servizio è stato arrestato improvvisamente"). ore a cercare una soluzione, ed alla fine ho trovato che il problema nasce tutto dal fatto che un certo repository (ppa:nm-l2tp/network-manager-l2tp) dove era presente tutto il software per far funzionare facile il client VPN con Bionic Beaver non funziona più.

D'altronde a quanto pare tutto il software di cui c'è bisogno è incluso nei repository ufficiali... peccato che poi non funzionino.

Cerca che ti cerca (veramente tanto... tant'è che non ritrovo più il link dove ho trovato l'evidenza di quello che sto per dire, e non posso citarlo :( ) ho capito che il problema è in UNO dei pacchetti necessari: xl2tpd, il quale presenta un bug nella versione 1.3.10 proprio con Bionic Beaver (e quindi con Mint 19).

Pertanto occorrerà prelevare il sorgente dell'ultima versione (ad oggi la 1.3.13) in cui il problema è stato risolto. Certo, nel momento in cui questa versione verrà distribuita come pacchetto nei repo il problema sarà risolto, nel frattempo...

1)Installare il software necessario

sudo apt-get install network-manager-l2tp-gnome libstrongswan-extra-plugins libcharon-extra-plugins libstrongswan-standard-plugins libcharon-standard-plugins xl2tpd

A questo punto si può provare a configurare la rete come illustrato più sotto. Se funziona bene, vuol dire che hanno aggiornato il pacchetto, oppure vi dice bene perchè state usando un'altra distribuzione. Se non va proseguite qui sotto

2)Fermare il servizio xl2tpd prima di compilare ed installare la nuova versione [code[sudo systemctl stop xl2tpd[/code]

3)Scarichare la versione di xl2tpd 1.3.13 da qui ed installiamo una libreria necessaria alla compilazione

sudo apt-get install libpcap0.8-dev

4)Estrarre il pacchetto scaricato (tasto destro sull'icona --> estrai qui) ed entrare nella cartella da terminale. Quindi compiliamo ed installiamo

sudo make
sudo cp xl2tpd /usr/sbin/xl2tpd

A questo punto si può andare a configurare la VPN.

NOTA BENE!! Nel caso abbiate una vecchia versione di Mint o Ubuntu la guida è ancora valida. Basta aggiungere il repository ed installare lo stesso software del punto 1)

a) cliccare col mouse sull'icona della rete (in Mint in basso a destra) --> impostazioni di rete --> cliccare sul taso + per aggiungere una connessione, selezionare rete VPN con Layer 2 Tunnel Protocol (L2TP)

b) dare un nome alla connessione, inserire l'indirizzo del server del gateway e nome utente e password (si può inserire la password cliccando sul <?> nella casella password e specificando se si vuole salvare la password e per chi.

c) Settare l'IPsec cliccando sul bottone "IPsec settings..." e cliccare nella finestra che si apre su "Enable IPsec tunnel to L2TP host", quindi lasciare vuoto il gateway ed inserire nella casella Pre-Shared key la chiave fornita dal gestore del server della rete. Nella scheda Advanced sotto Ci sono due caselle Phase 1 Algorithms e Phase 2, che potrebbe essere necessario riempire. Per sapere se si e con cosa occorre fare una piccola cosa

sudo apt-get install ike-scan
ike scan gateway

dove a posto di gateway dovete mettere il server della vpn. Se nell' output di risposta appare una scritta del tipo
SA=(Enc=3DES Hash=SHA1 Group=2:modp1024 Auth=PSK LifeType=Seconds LifeDuration(4)=0x00007080
allora occorrerà creare le stringhe come segue:
Phase 1 Algorithms: 3des-sha1-modp1024
Phase 1 Algorithms: 3des-sha1

Ovviamente se nella stringa di risposta ci sono altre sigle, la stringa degli algoritrmi potrà essere ricavata nello stesso modo. Ad esempio, per essere chiari, se si ottiene ENC=aes, la stringa per il Phase 1 sarà aes-sha1-modp1024.
Cliccare su OK per salvare e tornare alla schermata precedente da sui andare sui PPP Settings...

d) PPP settings. Qui è questione di fare prove. Per la mia rete VPN di lavoro NON HA FUNZIONATO NULLA finchè non ho settato come unico parametro MSCHAPv2 e selezionato la casella "Usare la cifratura Point-to-Point (MPPE). Ognuno qui deve fare molteplici prove per trovare la propria condizione. Cliccare su Ok per salvare e tornare alla schermata precedente.

e) cliccare su Add per terminare la procedura. A questo punto la connessione VPN configurata appare nella colonna delle connessioni a sinistra della scheda inpostazioni di rete, ed appare anche nella lista delle connessioni che appare cliccando sull'icona della rete in basso a destra.

Non resta che provare a connettersi. Se funziona, ok, altrimenti bisogna andare a giocare con le impostazioni del PPP Settings.

Spero che sia utile a qualcuno... a me lo sarà di sicuro se dovrò riconfigurare di nuovo.... :)

Read 815 times Last modified on Domenica, 04 Novembre 2018 19:11

3 comments

  • Comment Link Pietro Martedì, 03 Dicembre 2019 09:29 posted by Pietro

    Ciao di nuovo. La soluzione è stata più semplice di quanto pensavo. Durante la creazione di una nuova connessione VPN si deve scegliere "Importa una configurazione salvata...." e scegliere il file esportato dal server. Ci penserà il client a separare le 3 chiavi e a sistemarle nel posto giusto. Scusami, non avevo specificato che stavo usando una Mint 19, quindi anche in Ubuntu c'è lo stesso problema (verificato con una live). In quel modo ha funzionato tutto subito.
    Buona giornata

    Report
  • Comment Link Luca Martedì, 03 Dicembre 2019 09:04 posted by Luca

    ciao Pietro
    che ti devo dire... io non ho avuto ancora modo di combattere con una sottorete, quindi non ti so aiutare.
    Purtroppo non ho più installato distribuzioni diverse da derivate ubuntu, perchè mi trovo troppo bene con apt, quindi non ti saprei dire.
    Mi spiace di non esserti d'aiuto, e scusa per la risposta in ritardo, ma sto traslocando e il tempo libero lo devo passare a sistemare scatoloni... :)
    ciao
    Luca

    Report
  • Comment Link Pietro Giovedì, 28 Novembre 2019 16:26 posted by Pietro

    Ciao Luca. Ovviamente sono qui perché ho il tuo stesso problema. In particolare sto cercando di creare una VPN per raggiungere una sottorete gestita dal mio secondo router in cascata al principale. Un ASUS. Da questo ho ricavato il file.vpn con dentro le 3 chiavi necessarie per collegarmi ma non c'è nulla da fare. Mentre da una macchina windows non ci sono problemi. Basta copiare il file nella cartella di installazione del client. Questa è una cosa assurda. Un software open che funziona benissimo su windows ma non su linux. Siamo al paradosso! Non ho voglia di fare tutta quella configurazione per avere qualcosa di così banale come una VPN, aspetterò che la sistemino. Secondo te ci sono gli stessi problemi anche su altre distribuzioni (Fedora, Suse o altre) oppure è solo su Mint?
    Grazie

    Report