Introduzione
Sia che tu voglia poterti connettere da remoto alla tua rete aziendale o costruire una rete virtuale tra due punti remoti, attraverso una rete non sicura (es:Internet), avrai in qualche modo bisogno di una VPN (Virtual Private Network). Una VPN ti consente di connetterti in modo sicuro a una LAN remota (Local Area Network) tramite Internet o reti non affidabili.
SoftEther è un server VPN Open Source, un'alternativa a OpenVPN. Si ritiene che sia il software VPN multiprotocollo più potente e facile da usare al mondo.
Il nostro articolo riguarda come configurare SoftEther su Ubuntu Xenial Xerus Linux.
Di cosa avrai bisogno
- Ubuntu 16.04 Xenial Xerus Linux
- Si consigliano 30 GB di spazio disponibile su disco
- Un privilegio di root
Tieni presente che i binari utilizzati per questo articolo sono architetture x64. Se la tua macchina non è x64, devi scegliere i binari adatti.
Convenzioni
# – richiede che i comandi linux dati vengano eseguiti con i privilegi di root direttamente come utente root o usando sudo
command
$ – richiede che i comandi linux dati vengano eseguiti come un normale utente non privilegiato
> – che i comandi dati vengano eseguiti dall'interfaccia della riga di comando vpncmd
Preparazione del server
Aggiorna il sistema:
$ sudo apt update $ sudo apt upgrade
Installa (se non ancora installato) build-essential
ai fini della compilazione:
$ sudo apt install build-essential
Installazione di SoftEther
Recupera sorgenti softether
Recuperiamo i sorgenti di SoftEther (l'ultima build è la versione 4.22 rilasciata il 27-11-2016):
$ wget http://www.softether-download.com/files/softether/v4.22-9634-beta-2016.11.27-tree/Linux/SoftEther_VPN_Server/64bit_-_Intel_x64_or_AMD64/softether-vpnserver-v4.22-9634-beta-2016.11.27-linux-x64-64bit.tar.gz
Decomprimi le sorgenti
$ tar xzf softether-vpnserver-v4.22-9634-beta-2016.11.27-linux-x64-64bit.tar.gz
Dopo una decompressione riuscita, troviamo una cartella denominata vpnserver
nella nostra directory attuale.
Installa dai sorgenti
$ cd vpnserver $ sudo make
Durante il processo di installazione, dovremo digitare 1
per leggere il Contratto di licenza, digita 1
di nuovo per confermare di aver letto il contratto di licenza e infine digitare 1
per concordare il contratto di licenza.
Dopo l'installazione, possiamo esaminare l'output per confermare che l'intero processo è andato correttamente senza alcun errore.
Una volta che tutto è stato eseguito correttamente, saremo in grado di eseguire la vpn server dalla cartella di installazione utilizzando questo comando:
$ sudo ./vpnserver start
Facciamo meglio configurandolo come un daemon
.
Configurazione come demone
Segui questi passaggi per configurare il nostro server VPN come daemon
.
Sposta la cartella di installazione in /usr/local
$ cd .. $ sudo mv vpnserver /usr/local
Concedi i diritti appropriati ai file
$ cd /usr/local/vpnserver/ $ sudo chmod 600 * $ sudo chmod 700 vpnserver $ sudo chmod 700 vpncmd
Prima di andare oltre, controlliamo che il server vpn possa funzionare normalmente sul nostro server. È importante effettuare questo controllo prima di avviare vpnserver
.
- Esegui
vpncmd
comando - Digita
3
- Quindi digita
check
$ cd /usr/local/vpnserver/ $ sudo ./vpncmd
Se tutto è ben fatto, dovremmo ricevere il messaggio "Tutti i controlli superati" al termine dell'operazione.
Crea un servizio systemd
Crea il file /lib/systemd/system/vpnserver.service
$ sudo vi /lib/systemd/system/vpnserver.service
E inserisci il seguente contenuto al suo interno:
[Unit] Description=SoftEther VPN Server After=network.target [Service] Type=forking ExecStart=/usr/local/vpnserver/vpnserver start ExecStop=/usr/local/vpnserver/vpnserver stop [Install] WantedBy=multi-user.target
Ora il server VPN si avvia automaticamente all'avvio e siamo in grado di gestire il server VPN utilizzando systemctl
.
Preparare il server VPN SoftEther per l'uso
SoftEther offre molti casi d'uso:VPN ad-hoc, Accesso remoto a LAN, Bridge da LAN a LAN, ecc. In questo articolo, lo stiamo configurando per l'uso "Accesso remoto a LAN".
Creeremo prima un virtual hub
, quindi crea una sorta di collegamento tra quell'virtual hub
e la rete del server (la LAN aziendale).
Imposta una password amministratore per vpncmd
Per ovvi motivi, si consiglia di impostare immediatamente una password amministratore per vpncmd
non appena il server VPN è installato. Questo viene fatto tramite il vpncmd
utilità:
$ cd /usr/local/vpnserver/ $ sudo ./vpncmd
Come mostrato nell'immagine sopra, selezioniamo 1
per "Gestione del server VPN o del bridge VPN", quindi premi semplicemente Enter
per le seguenti domande fino a quando non otteniamo VPN Server>
richiesta. Al prompt dei comandi, digitiamo ServerPasswordSet
.
Crea un hub virtuale
Usando vpncmd
, creeremo un virtual hub
denominato “myFirstHUB”:
$ cd /usr/local/vpnserver/ $ sudo ./vpncmd > HubCreate myFirstHUB
Collega l'hub virtuale alla rete del server
Per consentire ai client di raggiungere la rete del server, dobbiamo collegare l'virtual hub
alla LAN. Questo può essere fatto usando una connessione Local Bridge o usando il SecureNAT
funzione.
Nel nostro caso, il SecureNAT
verrà utilizzata la funzione. SecureNAT
la funzione consente di utilizzare il server VPN come gateway di rete semplice, server DHCP o gateway semplice per l'accesso remoto a siti remoti.
Selezioniamo il nostro virtual hub
e abilita SecureNAT
funzione.
$ cd /usr/local/vpnserver/ $ sudo ./vpncmd > Hub myFirstHUB > SecureNatEnable
Crea utenti
Comando per creare un utente:UserCreate
Dopo la creazione dell'utente, è necessario impostare una password. Tieni presente che è possibile utilizzare altri metodi di autenticazione:NTLM
, RADIUS
, ecc. Il metodo di autenticazione predefinito è "password".
Comando per impostare la password:UserPasswordSet
Configurazione client
SoftEther fornisce client per molti sistemi operativi, incluso Linux.
Scarica il client
Useremo wget
comando per scaricare il client.
$ wget http://www.softether-download.com/files/softether/v4.22-9634-beta-2016.11.27-tree/Linux/SoftEther_VPN_Client/64bit_-_Intel_x64_or_AMD64/softether-vpnclient-v4.22-9634-beta-2016.11.27-linux-x64-64bit.tar.gz
Decomprimi le sorgenti
$ tar xzf softether-vpnclient-v4.22-9634-beta-2016.11.27-linux-x64-64bit.tar.gz
Installa dai sorgenti
La compilazione del client è simile al server.
$ cd vpnclient $ sudo make
Dopo l'installazione, modifichiamo i permessi dei file come segue:
$ sudo chmod 600 * $ sudo chmod 700 vpnclient $ sudo chmod 700 vpncmd
Ora possiamo avviare il client VPN ed effettuare la configurazione richiesta per la connessione al server.
$ sudo ./vpnclient start $ sudo ./vpncmd
Seleziona 2
per accedere a “Gestione del client VPN”. Ed eseguire queste azioni:
- Crea un adattatore virtuale (usa
NiceCreate
, dai "qualsiasi" nome desideri) - Crea una connessione VPN (
AccountCreate account0
) - Specificare il nome host del server di destinazione e il numero di porta (server:porta)
- Seleziona l'
virtual hub
a cui vuoi essere connesso (nel nostro caso stiamo utilizzando “myFirstHUB” creato sul server) - Inserisci il nome utente
- Utilizza l'adattatore virtuale creato in precedenza
Ora possiamo avviare la connessione client VPN. Prima di farlo, dobbiamo specificare la password per l'utente che abbiamo precedentemente configurato nella connessione VPN.
> AccountPassword account0 > standard > AccountConnect account0
Il client è ora connesso ma nessun indirizzo IP è assegnato all'adattatore virtuale. Come ultimo passaggio, dobbiamo richiedere un indirizzo IP dal server VPN. Possiamo usare ifconfig
comando per trovare l'adattatore virtuale vpn (preceduto da vpn_
) e quindi utilizzare dhclient
comando per richiedere un indirizzo IP.
$ sudo dhclient vpn_ethvpn0
Dopo questo comando, il client VPN riceverà un indirizzo IP dal server VPN SoftEther e potrà comunicare con la LAN remota.
Grazie per il tuo interesse per questo articolo. Apprezziamo le tue domande e i tuoi miglioramenti.