Il server OpenConnect, noto anche come ocserv, è un server VPN che comunica su SSL. In base alla progettazione, il suo obiettivo è diventare un server VPN sicuro, leggero e veloce. Il server OpenConnect utilizza il protocollo VPN SSL OpenConnect. Al momento della stesura, ha anche la compatibilità sperimentale con i client che utilizzano il protocollo VPN SSL AnyConnect.
Questo articolo ti mostrerà come installare e configurare ocserv su Ubuntu 14.04 x64.
Installazione di ocserv
Poiché Ubuntu 14.04 non viene fornito con ocserv, dovremo scaricare il codice sorgente e compilarlo. L'ultima versione stabile di ocserv è 0.9.2.
Scarica ocserv dal sito ufficiale.
wget ftp://ftp.infradead.org/pub/ocserv/ocserv-0.9.2.tar.xz
tar -xf ocserv-0.9.2.tar.xz
cd ocserv-0.9.2
Quindi, installa le dipendenze di compilazione.
apt-get install build-essential pkg-config libgnutls28-dev libwrap0-dev libpam0g-dev libseccomp-dev libreadline-dev libnl-route-3-dev
Compilare e installare ocserv.
./configure
make
make install
Configurazione di ocserv
Un file di configurazione di esempio viene inserito nella directory ocser-0.9.2/doc. Useremo questo file come modello. Inizialmente, dobbiamo creare il nostro certificato CA e il certificato server.
cd ~
apt-get install gnutls-bin
mkdir certificates
cd certificates
Creiamo un file modello CA ( ca.tmpl) con un contenuto simile al seguente. È possibile impostare il proprio "cn" e "organizzazione".
cn = "VPN CA"
organization = "Big Corp"
serial = 1
expiration_days = 3650
ca
signing_key
cert_signing_key
crl_signing_key
Quindi, generare una chiave CA e il certificato CA.
certtool --generate-privkey --outfile ca-key.pem
certtool --generate-self-signed --load-privkey ca-key.pem --template ca.tmpl --outfile ca-cert.pem
Quindi, creare un file modello di certificato del server locale ( server.tmpl) con il contenuto seguente. Si prega di prestare attenzione al campo "cn", deve corrispondere al nome DNS o all'indirizzo IP del server.
cn = "you domain name or ip"
organization = "MyCompany"
expiration_days = 3650
signing_key
encryption_key
tls_www_server
Quindi, generare la chiave del server e il certificato.
certtool --generate-privkey --outfile server-key.pem
certtool --generate-certificate --load-privkey server-key.pem --load-ca-certificate ca-cert.pem --load-ca-privkey ca-key.pem --template server.tmpl --outfile server-cert.pem
Copia la chiave, il certificato e il file di configurazione nella directory di configurazione ocserv.
mkdir /etc/ocserv
cp server-cert.pem server-key.pem /etc/ocserv
cd ~/ocserv-0.9.2/doc
cp sample.config /etc/ocserv/config
cd /etc/ocserv
Modifica il file di configurazione in /etc/ocserv. Rimuovere il commento o modificare i campi descritti di seguito.
auth = "plain[/etc/ocserv/ocpasswd]"
try-mtu-discovery = true
server-cert = /etc/ocserv/server-cert.pem
server-key = /etc/ocserv/server-key.pem
dns = 8.8.8.8
# comment out all route fields
#route = 10.10.10.0/255.255.255.0
#route = 192.168.0.0/255.255.0.0
#route = fef4:db8:1000:1001::/64
#no-route = 192.168.5.0/255.255.255.0
cisco-client-compat = true
Generare un utente che verrà utilizzato per accedere a ocserv.
ocpasswd -c /etc/ocserv/ocpasswd username
Abilita NAT.
iptables -t nat -A POSTROUTING -j MASQUERADE
Abilita inoltro IPv4. Modifica il file /etc/sysctl.conf.
net.ipv4.ip_forward=1
Applica questa modifica.
sysctl -p /etc/sysctl.conf
Avviare ocserv e connettersi utilizzando Cisco AnyConnect
Innanzitutto, avvia ocserv.
ocserv -c /etc/ocserv/config
Quindi, installa Cisco AnyConnect su qualsiasi dispositivo, ad esempio iPhone, iPad o un dispositivo Android. Poiché abbiamo utilizzato una chiave e un certificato del server autofirmato, dobbiamo deselezionare l'opzione che impedisce i server non sicuri. Questa opzione si trova nelle impostazioni di AnyConnect. A questo punto, possiamo impostare una nuova connessione con il nome di dominio o l'indirizzo IP del nostro ocserv e il nome utente / password che abbiamo creato.
Connettiti e divertiti!