在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

使用OpenBSD在Vultr上配置BGP

使用OpenBSD在Vultr上配置BGP

Vultrs BGP功能使您可以拥有自己的IP空间并在我们的任何位置使用它,而OpenBSD实例则不需要其他软件!

如何在CentOS 7上使用Mosh进行远程服务器管理

如何在CentOS 7上使用Mosh进行远程服务器管理

使用其他系统?Mosh是Mobile Shell的缩写,是一种新兴的远程终端应用程序,旨在提供更好的连接和使用

配置专用网络

配置专用网络

如果您将专用网络分配给现有计算机(或部署自己的操作系统),则需要在专用计算机上配置IP地址。

如何在Linux上设置TCP优化

如何在Linux上设置TCP优化

简介当来自其他国家的访问者访问您的网站时,连接出现问题吗?想知道为什么从您的预言下载速度

BGP公告的授权书示例

BGP公告的授权书示例

请求BGP公告的授权时,请使用以下模板。授权信[日期]可能涉及的人Thi

在Debian / Ubuntu上设置您自己的DNS服务器

在Debian / Ubuntu上设置您自己的DNS服务器

本教程说明了如何在Debian或Ubuntu上使用Bind9设置DNS服务器。在整篇文章中,请相应地替换your-domain-name.com。在

在Windows上通过PuTTY使用SSH连接到服务器

在Windows上通过PuTTY使用SSH连接到服务器

首次连接到Linux服务器可能会造成混乱,特别是如果您具有强大的Windows背景。连接到Linux(或UNIX)时

如何在Ubuntu 16.04 LTS上安装OpenNMS

如何在Ubuntu 16.04 LTS上安装OpenNMS

使用其他系统?OpenNMS是企业级开源网络管理平台,可用于监视和管理众多设备。

如何在CentOS 7上部署Google BBR

如何在CentOS 7上部署Google BBR

BBR(Bottleneck带宽和RTT)是一种新的拥塞控制算法,由Google贡献给Linux内核TCP堆栈。有了BBR,

使用OpenVPN设置自己的专用网络

使用OpenVPN设置自己的专用网络

Vultr为在同一位置运行的服务器提供了绝佳的专用网络连接。但是有时您想要在不同国家/地区使用两台服务器

如何在CentOS 6上使用WonderShaper限制流量

如何在CentOS 6上使用WonderShaper限制流量

简介在本教程中,最好安装WonderShaper,该实用程序用于限制传入/传出流量。这可以用于多种

在CentOS 6上设置PPTP VPN服务器

在CentOS 6上设置PPTP VPN服务器

本指南说明了如何使用yum存储库中可用的pptpd守护程序在CentOS 6上设置自己的PPTP VPN。请注意,证券

为Windows远程桌面设置动态DNS

为Windows远程桌面设置动态DNS

本文将向您展示如何为远程桌面设置动态DNS,以便避免一次又一次设置远程协助的麻烦。w ^

在Debian上使用Samba创建网络共享

在Debian上使用Samba创建网络共享

有时我们需要共享Windows客户端必须可见的文件。由于基于Fuse的系统只能在Linux上运行,因此不妨介绍一下

在Windows Server 2012上使用远程访问设置VPN服务器

在Windows Server 2012上使用远程访问设置VPN服务器

本指南说明了如何使用Windows Server 2012设置PPTP VPN。我们将使用远程访问角色来设置VPN并为单个用户

反向SSH隧道

反向SSH隧道

在Internet服务提供商中,通常的做法是阻塞其归属用户的大部分(即使不是全部)入站端口,这使它成为不可能

在Debian 7上具有Postfix,Dovecot和筛子的简单Mailserver

在Debian 7上具有Postfix,Dovecot和筛子的简单Mailserver

下面的教程描述了如何使用Postfix作为MTA,Dovecot作为MDA以及出色的Sieve来设置简单的邮件服务器来对邮件进行排序。起始

RPKI

RPKI

RPKI(资源公钥基础结构)是一种有助于防止BGP劫持的方法。它使用加密签名来验证是否允许ASN

在Windows Server 2012上设置DNS服务器

在Windows Server 2012上设置DNS服务器

Windows Server 2012可以配置为DNS服务器。DNS用于将域名解析为IP地址。通过托管自己的DNS服务器,您可以

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 機器變磚。閱讀這篇文章以了解更多信息

大數據的13個商業數據提取工具

大數據的13個商業數據提取工具

大數據的13個商業數據提取工具

什麼是日誌文件系統,它是如何工作的?

什麼是日誌文件系統,它是如何工作的?

我們的計算機以稱為日誌文件系統的有組織的方式存儲所有數據。這是一種有效的方法,可以讓計算機在您點擊搜索時立即搜索和顯示文件。 https://wethegeek.com/?p=94116&preview=true

技術奇點:人類文明的遙遠未來?

技術奇點:人類文明的遙遠未來?

隨著科學的快速發展,接管了我們的大量工作,我們陷入無法解釋的奇點的風險也在增加。閱讀,奇點對我們意味著什麼。

洞察 26 種大數據分析技術:第 1 部分

洞察 26 種大數據分析技術:第 1 部分

洞察 26 種大數據分析技術:第 1 部分

2021 年人工智能對醫療保健的影響

2021 年人工智能對醫療保健的影響

過去幾十年,醫療保健領域的人工智能取得了巨大飛躍。因此,醫療保健中人工智能的未來仍在日益增長。