在Ubuntu 14.04 x64上为Cisco AnyConnect设置OpenConnect VPN服务器

OpenConnect服务器,也称为ocserv,是通过SSL进行通信的VPN服务器。通过设计,其目标是成为安全,轻便和快速的VPN服务器。OpenConnect服务器使用OpenConnect SSL VPN协议。在撰写本文时,它还与使用AnyConnect SSL VPN协议的客户端具有实验兼容性。

本文将向您展示如何在Ubuntu 14.04 x64上安装和设置ocserv。

安装ocserv

由于Ubuntu 14.04不随ocserv一起提供,我们将必须下载源代码并进行编译。ocserv的最新稳定版本是0.9.2。

从官方网站下载ocserv。

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

接下来,安装编译依赖项。

apt-get install build-essential pkg-config libgnutls28-dev libwrap0-dev libpam0g-dev libseccomp-dev libreadline-dev libnl-route-3-dev

编译并安装ocserv。

./configure
make
make install

配置ocserv

在目录下放置一个示例配置文件ocser-0.9.2/doc。我们将使用此文件作为模板。首先,我们必须制作自己的CA证书和服务器证书。

cd ~
apt-get install gnutls-bin
mkdir certificates
cd certificates

我们创建一个CA模板文件(ca.tmpl),其内容类似于以下内容。您可以设置自己的“ cn”和“ organization”。

cn = "VPN CA" 
organization = "Big Corp" 
serial = 1 
expiration_days = 3650
ca 
signing_key 
cert_signing_key 
crl_signing_key 

然后,生成一个CA密钥和CA证书。

certtool --generate-privkey --outfile ca-key.pem
certtool --generate-self-signed --load-privkey ca-key.pem --template ca.tmpl --outfile ca-cert.pem

接下来,使用以下内容创建本地服务器证书模板文件(server.tmpl)。请注意“ cn”字段,该字段必须与您的服务器的DNS名称或IP地址匹配。

cn = "you domain name or ip"
organization = "MyCompany" 
expiration_days = 3650 
signing_key 
encryption_key
tls_www_server

然后,生成服务器密钥和证书。

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

将密钥,证书和配置文件复制到ocserv config目录。

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

在下编辑配置文件/etc/ocserv。取消注释或修改下面描述的字段。

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

生成将用于登录ocserv的用户。

ocpasswd -c /etc/ocserv/ocpasswd username

启用NAT。

iptables -t nat -A POSTROUTING -j MASQUERADE

启用IPv4转发。编辑文件/etc/sysctl.conf

net.ipv4.ip_forward=1

应用此修改。

sysctl -p /etc/sysctl.conf

开始ocserv并且使用Cisco AnyConnect连接

首先,开始ocserv。

ocserv -c /etc/ocserv/config

然后,在您的任何设备(例如iPhone,iPad或Android设备)上安装Cisco AnyConnect。由于我们使用了自签名服务器密钥和证书,因此我们必须取消选中防止服务器不安全的选项。此选项位于AnyConnect的设置中。此时,我们可以使用ocserv的域名或IP地址以及我们创建的用户名/密码来建立新连接。

连接并享受!



Leave a Comment

在Arch Linux上使用Makepkg

在Arch Linux上使用Makepkg

在Arch Linux上使用Makepkg可以避免系统污染,确保仅安装必要的依赖关系。

如何在Ubuntu 16.04上安装OpenSIPS控制面板

如何在Ubuntu 16.04上安装OpenSIPS控制面板

快速学习如何在Ubuntu 16.04上安装OpenSIPS控制面板,为VoIP提供商提供支持的功能。

在Fedora 28上安装Akaunting

在Fedora 28上安装Akaunting

学习如何在Fedora 28上安装Akaunting,一款适合小型企业和自由职业者的开源会计软件。

如何在CentOS 7上安装Mailtrain新闻通讯应用程序

如何在CentOS 7上安装Mailtrain新闻通讯应用程序

使用其他系统?Mailtrain是一个基于Node.js和MySQL / MariaDB构建的开源自托管新闻通讯应用程序。

诊断Minecraft服务器延迟和低TPS

诊断Minecraft服务器延迟和低TPS

了解導致Minecraft延遲的原因和解決方案,包括優化伺服器性能和減少滯後的步驟。

AI 能否應對越來越多的勒索軟件攻擊?

AI 能否應對越來越多的勒索軟件攻擊?

勒索軟件攻擊呈上升趨勢,但人工智能能否幫助應對最新的計算機病毒?AI 是答案嗎?在這裡閱讀知道是 AI 布恩還是禍根

ReactOS:這是 Windows 的未來嗎?

ReactOS:這是 Windows 的未來嗎?

ReactOS,一個開源和免費的操作系統,這裡有最新版本。它能否滿足現代 Windows 用戶的需求並打倒微軟?讓我們更多地了解這種老式但更新的操作系統體驗。

通過 WhatsApp 桌面應用程序 24*7 保持聯繫

通過 WhatsApp 桌面應用程序 24*7 保持聯繫

Whatsapp 終於為 Mac 和 Windows 用戶推出了桌面應用程序。現在您可以輕鬆地從 Windows 或 Mac 訪問 Whatsapp。適用於 Windows 8+ 和 Mac OS 10.9+

人工智能如何將流程自動化提升到新的水平?

人工智能如何將流程自動化提升到新的水平?

閱讀本文以了解人工智能如何在小型公司中變得流行,以及它如何增加使它們成長並為競爭對手提供優勢的可能性。

macOS Catalina 10.15.4 補充更新引發的問題多於解決

macOS Catalina 10.15.4 補充更新引發的問題多於解決

最近,Apple 發布了 macOS Catalina 10.15.4 補充更新以修復問題,但似乎該更新引起了更多問題,導致 mac 機器變磚。閱讀這篇文章以了解更多信息