S'està instal·lant ocserv
Configurant ocserv
Inicieu ocserv i connecteu-vos amb Cisco AnyConnect
El servidor OpenConnect, també conegut com ocserv, és un servidor VPN que es comunica mitjançant SSL. Per disseny, el seu objectiu és convertir-se en un servidor VPN segur, lleuger i ràpid. El servidor OpenConnect utilitza el protocol OpenConnect SSL VPN. En el moment d'escriure, també té compatibilitat experimental amb clients que utilitzen el protocol VPN AnyConnect SSL.
Aquest article us mostrarà com instal·lar i configurar ocserv a Ubuntu 14.04 x64.
S'està instal·lant ocserv
Com que Ubuntu 14.04 no s'envia amb ocserv, haurem de descarregar el codi font i compilar-lo. La darrera versió estable d'ocserv és la 0.9.2.
Descarrega ocserv des del lloc oficial.
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
A continuació, instal·leu les dependències de compilació.
apt-get install build-essential pkg-config libgnutls28-dev libwrap0-dev libpam0g-dev libseccomp-dev libreadline-dev libnl-route-3-dev
Compileu i instal·leu ocserv.
./configure
make
make install
Configurant ocserv
Un fitxer de configuració de mostra es col·loca sota el directori ocser-0.9.2/doc. Utilitzarem aquest fitxer com a plantilla. Al principi, hem de fer el nostre propi certificat CA i certificat de servidor.
cd ~
apt-get install gnutls-bin
mkdir certificates
cd certificates
Creem un fitxer de plantilla CA ( ca.tmpl) amb el contingut similar al següent. Podeu configurar el vostre propi "cn" i "organització".
cn = "VPN CA"
organization = "Big Corp"
serial = 1
expiration_days = 3650
ca
signing_key
cert_signing_key
crl_signing_key
A continuació, genereu una clau de CA i un certificat de CA.
certtool --generate-privkey --outfile ca-key.pem
certtool --generate-self-signed --load-privkey ca-key.pem --template ca.tmpl --outfile ca-cert.pem
A continuació, creeu un fitxer de plantilla de certificat de servidor local ( server.tmpl) amb el contingut següent. Si us plau, presteu atenció al camp "cn", ha de coincidir amb el nom DNS o l'adreça IP del vostre servidor.
cn = "you domain name or ip"
organization = "MyCompany"
expiration_days = 3650
signing_key
encryption_key
tls_www_server
A continuació, genereu la clau i el certificat del servidor.
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
Copieu la clau, el certificat i el fitxer de configuració al directori de configuració 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
Editeu el fitxer de configuració a /etc/ocserv. Descomenteu o modifiqueu els camps que es descriuen a continuació.
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
Genereu un usuari que s'utilitzarà per iniciar sessió a ocserv.
ocpasswd -c /etc/ocserv/ocpasswd username
Habilita NAT.
iptables -t nat -A POSTROUTING -j MASQUERADE
Activa el reenviament IPv4. Editeu el fitxer /etc/sysctl.conf.
net.ipv4.ip_forward=1
Aplicar aquesta modificació.
sysctl -p /etc/sysctl.conf
Inicieu ocserv i connecteu-vos amb Cisco AnyConnect
Primer, inicieu ocserv.
ocserv -c /etc/ocserv/config
A continuació, instal·leu Cisco AnyConnect a qualsevol dels vostres dispositius, com ara iPhone, iPad o un dispositiu Android. Com que hem utilitzat una clau i un certificat de servidor autofirmats, hem de desmarcar l'opció que evita servidors insegurs. Aquesta opció es troba a la configuració d'AnyConnect. En aquest punt, podem configurar una nova connexió amb el nom de domini o l'adreça IP del nostre ocserv i el nom d'usuari/contrasenya que hem creat.
Connecta't i gaudeix!