Mi faccio la VPN in OpenSUSE

 

Una VPN (Virtual Private Network) è una rete di telecomunicazioni privata, instaurata tra soggetti che utilizzano, come tecnologia di trasporto, un protocollo di trasmissione pubblico e condiviso, come ad esempio la rete Internet.


Schema di principio di una VPN basata su Internet

​​ 

 

Lo scopo delle reti VPN è quello di offrire alle aziende, a un costo minore, le stesse possibilità delle linee private a noleggio, ma sfruttando reti condivise pubbliche: si può vedere dunque una VPN come l'estensione a livello geografico di una rete locale privata aziendale sicura che colleghi tra loro siti interni all'azienda stessa variamente dislocati su un ampio territorio, sfruttando l'instradamento tramite IP per il trasporto su scala geografica e realizzando di fatto una rete WAN, detta appunto "virtuale" e "privata", equivalente a un'infrastruttura fisica di rete (ossia con collegamenti fisici) dedicata.

Questo permette di avere una rete privata incapsulata nella rete pubblica di internet, garantendo la massima sicurezza e praticità d’uso.

 

 

 

 

Prologo

 

Esistono tantissimi tipi e modi qui affronteremo quella classica di semplice connessione client-server o site-to-site su OpenSUSE, e ci sono varie tecnologie aperte che implementano VPN, ciascuna con le proprie forze:

 

  • IPSec è un protocollo VPN aperto e standardizzato ampiamente supportato dalla maggior parte dei sistemi / dispositivi. E 'disponibile su Linux, Unix, Windows, Android, Blackberry, iOS e MacOS, senza la necessità di una soluzione software di terze parti. Su openSUSE, i software server e client sono disponibili in package "strongswan", e facilmente configurabile tramite modulo YaST VPN (yast2-vpn). È quello più utilizzato specie nelle piccole realtà per la sua facilità.

  • L2TP / IPSec (detta impropriamente Ipsec2) è un protocollo aperto VPN che combina la riservatezza fornito da IPSec con un ulteriore strato di tunnel L2TP. E 'davvero non fornisce più funzionalità rispetto all'utilizzo di IPSec. L2TP / IPSec VPN è supportato nativamente da Linux, Unix, Windows, Android, iOS e MacOS, senza la necessità di una soluzione software di terze parti. Su openSUSE, i software server e client sono disponibili in package "xl2tpd" oltre a "strongswan".

  • OpenVPN (la più conosciuta) è un'implementazione VPN prodotto commercialmente open source basato sul protocollo SSL. E 'disponibile sulla maggior parte delle distribuzioni Linux e Unix; con un download manuale e software di installazione, OpenVPN è disponibile su Windows, iOS, MacOS anche. Su openSUSE, i software server e client sono disponibili in package "OpenVPN".

  • PPTP è un protocollo VPN legacy, la sua tecnologia di cifratura è violabile con i computer moderni, quindi PPTP non è sicuro e l'uso dovrebbe essere evitato. Su openSUSE, il software del server è disponibile in package "pptpd" e il client è disponibile in package "PPTP". Attualmente non è consigliata in quanto sono state trovate alcune lacune e PPTP è (a dicembre 2012) considerato crittograficamente debole tanto che il suo uso non è più raccomandato da Microsoft che aveva puntato al suo sviluppo.

  • Proprietarie, ci sono poi varie soluzioni di parte, quindi in questo caso riferirsi alla loro manualistica.

 

Principalmente tratteremo di IPSec e il modulo Yast→ VPN. Grazie allo Yast si eviterà di maneggiare e fare errori, nel caso di modifiche manuali vi avviserà che il file non è originale e fare una copia di sicurezza.

 

 

 

Modulo YastVPN

Come modulo aggiuntivo di Yast esiste il modulo VPN, che automaticamente all’installazione si aggiungerà al menu Yast. Può darsi che richieda l’istallazione di pacchetti aggiuntivi.

Il modulo di YaST-VPN crea un gateway VPN e client basati su IPSec. Attualmente i moduli supporta l'impostazione dei seguenti scenari di gateway:

  • Fornire l'accesso alla rete ai client Linux autenticati tramite chiave pre-condivisa o certificato.

  • Fornire l'accesso alla rete a Windows 7, 8, 10, e clienti Blackberry e altri autenticati attraverso una combinazione di certificato e nome utente / password.

  • Fornire l'accesso alla rete ad Android, iOS e MacOS client autenticati tramite una combinazione di chiave pre-condivisa e/o username / password.

Per un client VPN, il modulo supporta i seguenti scenari:

  • Dimostrare l'identità del client con una chiave pre-condivisa per connettersi a un gateway VPN.

  • Dimostrare l'identità del cliente con un certificato per la connessione a un gateway VPN.

Attenzione: Se lo scenario VPN prevede la creazione di un gateway VPN che offre accesso al di fuori della sottorete VPN (ad esempio un gateway che fornisce l'accesso ad Internet), ricordatevi di visitare modulo Impostazioni di rete YaST, e impostare "Abilita IPv4 Forwarding" e / o "Abilita IPv6 Inoltro" per le schede di rete coinvolti.

 

Azione primarie

Per prima cosa controllare il firewall sul protocollo IP AH e ESP, nonché porte UDP 500 e 4500.

-Secure Site-to-site di comunicazione

VPN site-to-site sono adatti per il collegamento di due o più computer Linux in una rete privata virtuale. Si può scegliere tra l'utilizzo di un pre-shared-key (aka. Ovvero una Password) o di un certificato PEM per proteggere la connessione. Si prega di notare che un certificato fornisce anche la crittografia in un modo più forte di un-chiave pre condivisa.

Serve:

  • Scegliere il nome del Server:__________________

  • Scegliere lo Scenario:________________________

  • se certificato serve il certificato e la chiave (in PEM)

  • Che tipo di accesso avrà il client:_______________

  • Il CIDR:__________________________________

 

Nota: Il CIDR è una collezione d’indirizzi.

Le schermate illustrano la procedura di installazione:

​​ 

--Creare connessione gateway (server)

Fai clic su "Nuovo VPN" e inserire un nome per il server. Scegliere "Gateway (Server)" in Tipo e scegliere scenario "Comunicazione sicura con una chiave pre-condivisa" o "Comunicazione sicura con un certificato".

Fai clic su "Modifica credenziali" per entrare chiave pre-condivisa (password) o certificato.

Se si decide di utilizzare un certificato, si prega di assicurarsi che il certificato e la chiave sono separati, e codificati in formato PEM.

Quindi, scegliere l'accesso alla rete consentito ai client VPN. Se si desidera offrire l'accesso a Internet e l'accesso alle reti private di tutto del server per i client VPN, selezionare "Tutte le reti IPv4". Oppure si possono prevedere limitate ad accesso privato ai client VPN inserendo manualmente il CIDR.

Si prega di notare che una connessione gateway non può servire sia IPv4 che IPv6 allo stesso tempo. (di solito solo IPv4)

Infine, inserire un pool di indirizzi per i client VPN in forma CIDR. Una volta connesso, i client VPN preleveranno automaticamente un indirizzo vacante da questo pool.

Fai clic su "OK" quando fatto.

 

​​ 

--Collegare un cliente

Fai clic su "Nuovo VPN" e inserire un nome per la connessione client. Scegliere "Client" nel tipo e scegliere lo scenario (il client esegue l'autenticazione) "Con una chiave pre-condivisa" o "da un certificato".

Fai clic su "Modifica credenziali" per entrare chiave pre-condivisa (password) o certificato che il gateway VPN si aspetta.

Se si decide di utilizzare un certificato, si prega di assicurarsi che il certificato e la chiave sono separati, e codificati in formato PEM, e il loro contenuto è identico a quello sul gateway VPN.

Quindi, scegliere l'accesso alla rete per la connessione VPN - solo il traffico sulla rete selezionata passerà attraverso la connessione client VPN. Se il gateway offre troppo l'accesso alla rete (ad esempio, le reti Tutti IPv4), ma volete solo il traffico a una rete privata di passare attraverso VPN, quindi immettere CIDR della rete privata nella casella di testo.

Fai clic su "OK" quando fatto.

 

Provare la connessione, inizialmente si sbaglia sempre, non preoccupatevi, poi diventa una sequenza da fare ad occhi chiusi.

 

---Riduci MMS TCP

Se ai client VPN risulta problematico accedere a determinati siti Internet, è possibile che gli host interessati impediscano il rilevamento MUT (maximum transmission unit, unità di trasmissione massima) automatico a causa di una configurazione del firewall. La riduzione di MSS-TCP può risolvere la situazione; tuttavia, l'ampiezza di banda disponibile verrà ridotta di circa il 10%.

-Installazione del gateway

Un gateway (dall'inglese, portone, passaggio) è un dispositivo di rete che collega due reti informatiche di tipo diverso operando sia al livello di rete che ai livelli superiori, del modello ISO/OSI. Il suo scopo principale è quello di veicolare i pacchetti di rete all'esterno di una rete locale (LAN). In questo caso il Gateway è un termine generico che indica il servizio di inoltro dei pacchetti verso l'esterno; il dispositivo hardware che porterà a termine questo compito è tipicamente un router. Nelle reti più semplici è presente un solo gateway che inoltra tutto il traffico diretto all'esterno verso la rete Internet. In reti più complesse in cui sono presenti parecchie subnet, ognuna di queste fa riferimento ad un gateway che si occuperà di instradare il traffico dati verso le altre sottoreti o reindirizzarlo ad altri gateway.

​​ 

--Creare gateway (server)

Fai clic su "Nuovo VPN" e inserire un nome per il server. Scegliere "Gateway (Server)" in Tipo e scegliere scenario "Fornire l'accesso a Windows 7, Windows 8 clienti".

Fai clic su "Modifica credenziali" per entrare certificato, chiave del certificato, e le combinazioni nome utente / password.

Si prega di assicurarsi che il certificato e la chiave sono separati e PEM-codificati. Se la connessione client Windows Server, assicurarsi che il file certificato è più piccolo di 1 KB , altrimenti un bug nell'implementazione di Windows VPN impedisce una connessione da lavorare. 😀

Quindi, scegliere l'accesso alla rete consentito ai client VPN. Se si desidera offrire l'accesso a Internet e l'accesso alle reti private di tutto del server per i client VPN, selezionare "Tutte le reti IPv4". Oppure si possono prevedere limitate ad accesso privato ai client VPN inserendo manualmente CIDR.

Si prega di notare che una connessione gateway non può servire sia IPv4 che IPv6 allo stesso tempo.

Infine, inserire un pool di indirizzi per i client VPN in forma CIDR. Una volta connesso, i client VPN preleveranno automaticamente un indirizzo vacante da questo pool.

Fai clic su "OK" quando fatto.

 

--Lato smartphone

​​ 

---Creare gateway (server) per Smartphone

Fai clic su "Nuovo VPN" e inserire un nome per il server. Scegliere "Gateway (Server)" in Tipo e scegliere scenario "Fornire accesso ai client Android, iOS, MacOSX".

Fai clic su "Modifica credenziali" per entrare combinazioni pre-chiave condivisa, e username / password del gateway.

Quindi, scegliere l'accesso alla rete consentito ai client VPN. Se si desidera offrire l'accesso a Internet e l'accesso alle reti private di tutto del server per i client VPN, selezionare "Tutte le reti IPv4". Oppure si possono prevedere limitate ad accesso privato ai client VPN inserendo manualmente CIDR.

Si prega di notare che una connessione gateway non può servire sia IPv4 che IPv6 allo stesso tempo.

Infine, inserire un pool di indirizzi per i client VPN in forma CIDR. Una volta connesso, i client VPN preleveranno automaticamente un indirizzo vacante da questo pool.

Fai clic su "OK" quando fatto.

 

Gateway Risoluzione dei problemi comuni (check-list)

La maggior parte dovesse incontrare difficoltà con problemi di connettività VPN, si prega di seguire il seguente check-list:

  • Se il gateway VPN dovrebbe offrire l'accesso alle reti di fuori delle sotto-reti VPN (come ad esempio l'accesso a Internet), ricordatevi di visitare modulo Impostazioni di rete YaST, e impostare "Abilita IPv4 Forwarding" e / o "Abilita IPv6 Forwarding" per le interfacce di rete coinvolti.

  • Se non si utilizza SuSEfirewall (ma anche non), si prega di controllare il firewall personalizzato su gateway VPN. Considerare a disattivare temporaneamente il firewall e consentire tutto il traffico per eliminare il firewall di essere la causa del fallimento. Assicurarsi che il protocollo IP AH e ESP, nonché porte UDP 500 e 4500 possono passare liberamente attraverso il firewall. Fare riferimento a

    /etc/ YaST2/vpn_firewall_rules

    ​​ per il setup completo firewall.

  • Controllare firewall sul fornitore di hosting di gateway VPN. Alcuni fornitori di hosting (pochissimi) bloccare il traffico IPSec.

  • Se il vostro provider di hosting imposta un altro firewall per il traffico di rete (ad esempio EC2 Security Group), assicurarsi che il protocollo IP AH ed ESP, oltre le porte UDP 500 e 4500 possono passare liberamente attraverso il firewall.

  • Assicurarsi che l'inoltro IPv4 sia abilitato - queste linee dovrebbero essere presenti in

    ​​ /etc/sysctl.conf: "net.ipv4.ip_forward = 1", "net.ipv4.conf.all.forwarding = 1", "net.ipv4.conf .default.forwarding = 1"

  • Se il client VPN ha problemi ad accedere solo alcuni server di siti web / e-mail, provare ad abilitare l'opzione "Ridurre TCP MSS" nel modulo YaST VPN.

  • Sentitevi liberi di inviare una segnalazione di bug contro modulo di YaST VPN se ancora non è possibile risolvere il problema. Si prega di allegare Nel vostro bug report il contenuto di: file

    ​​ / etc / YaST2 / vpn_firewall_rules

    , ufficiale delle "strongswan", l'uscita di "iptables -L -v -n" e "iptables -t nat -L -v -n".

 

Collegamento / manualistica

Con Networkmanager e Wiked da una postazione client è facile collegarsi. Installare per il Networkmanager l’apposito plugin VPN, mentre per Wiked dovrebbe riconoscerlo automaticamente.

Manualistica (inglese):

https://en.opensuse.org/SDB:OpenSSH_tunnels

https://en.opensuse.org/Portal:VPN/YaST_VPN_Module

https://opensource.com/article/19/3/virtual-filesystems-linux

 

 

 

Ciaooooooooooooooooooooooooooo

 

Precedente Pac-Manager Successivo Trucchi KDE5 e Opensuse