Der OpenConnect-Server, auch als ocserv bekannt, ist ein VPN-Server, der über SSL kommuniziert. Ziel ist es, ein sicherer, leichter und schneller VPN-Server zu werden. Der OpenConnect-Server verwendet das OpenConnect SSL VPN-Protokoll. Zum Zeitpunkt des Schreibens ist es auch experimentell mit Clients kompatibel, die das AnyConnect SSL VPN-Protokoll verwenden.
Dieser Artikel zeigt Ihnen, wie Sie ocserv unter Ubuntu 14.04 x64 installieren und einrichten.
Ocserv installieren
Da Ubuntu 14.04 nicht mit ocserv geliefert wird, müssen wir den Quellcode herunterladen und kompilieren. Die neueste stabile Version von ocserv ist 0.9.2.
Laden Sie ocserv von der offiziellen Website herunter.
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
Installieren Sie als Nächstes die Kompilierungsabhängigkeiten.
apt-get install build-essential pkg-config libgnutls28-dev libwrap0-dev libpam0g-dev libseccomp-dev libreadline-dev libnl-route-3-dev
Kompilieren und installieren Sie ocserv.
./configure
make
make install
Ocserv konfigurieren
Eine Beispielkonfigurationsdatei wird unter dem Verzeichnis abgelegt ocser-0.9.2/doc. Wir werden diese Datei als Vorlage verwenden. Zuerst müssen wir unser eigenes CA-Zertifikat und Server-Zertifikat erstellen.
cd ~
apt-get install gnutls-bin
mkdir certificates
cd certificates
Wir erstellen eine CA-Vorlagendatei ( ca.tmpl) mit dem folgenden Inhalt. Sie können Ihre eigene "cn" und "Organisation" festlegen.
cn = "VPN CA"
organization = "Big Corp"
serial = 1
expiration_days = 3650
ca
signing_key
cert_signing_key
crl_signing_key
Generieren Sie dann einen CA-Schlüssel und ein CA-Zertifikat.
certtool --generate-privkey --outfile ca-key.pem
certtool --generate-self-signed --load-privkey ca-key.pem --template ca.tmpl --outfile ca-cert.pem
Erstellen Sie als Nächstes eine lokale Serverzertifikatvorlagendatei ( server.tmpl) mit dem folgenden Inhalt. Bitte beachten Sie das Feld "cn", es muss mit dem DNS-Namen oder der IP-Adresse Ihres Servers übereinstimmen.
cn = "you domain name or ip"
organization = "MyCompany"
expiration_days = 3650
signing_key
encryption_key
tls_www_server
Generieren Sie dann den Serverschlüssel und das Zertifikat.
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
Kopieren Sie den Schlüssel, das Zertifikat und die Konfigurationsdatei in das Konfigurationsverzeichnis von 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
Bearbeiten Sie die Konfigurationsdatei unter /etc/ocserv. Kommentieren oder ändern Sie die unten beschriebenen Felder.
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
Generieren Sie einen Benutzer, mit dem Sie sich bei ocserv anmelden.
ocpasswd -c /etc/ocserv/ocpasswd username
Aktivieren Sie NAT.
iptables -t nat -A POSTROUTING -j MASQUERADE
Aktivieren Sie die IPv4-Weiterleitung. Bearbeiten Sie die Datei /etc/sysctl.conf.
net.ipv4.ip_forward=1
Wenden Sie diese Änderung an.
sysctl -p /etc/sysctl.conf
Starten Sie ocserv und stellen Sie eine Verbindung mit Cisco AnyConnect her
Starten Sie zuerst ocserv.
ocserv -c /etc/ocserv/config
Installieren Sie anschließend Cisco AnyConnect auf einem Ihrer Geräte, z. B. iPhone, iPad oder Android-Gerät. Da wir einen selbstsignierten Serverschlüssel und ein Zertifikat verwendet haben, müssen wir die Option deaktivieren, die unsichere Server verhindert. Diese Option befindet sich in den Einstellungen von AnyConnect. Zu diesem Zeitpunkt können wir eine neue Verbindung mit dem Domainnamen oder der IP-Adresse unseres ocserv und dem von uns erstellten Benutzernamen / Passwort herstellen.
Verbinden und genießen!