Openconnect VPN 服务端 ocserv 的部署

ocserv(Openconnect VPN Server)是一款开源的、兼容Cisco Anyconnect VPN的VPN服务端软件。由于思科在网络设备中的特殊地位,思科的VPN一直未被特殊照顾(其实这个VPN握手过程特征应该是较为明显的)。目前状况下通讯较为稳定,干扰较小。主要优势是多平台的支持,Windows、Android、iOS都能找到它的客户端。往往可以作为shadowsocks等代理的补充。


下面简要介绍一下部署过程,以在Ubuntu系统中的部署为例。

主页:http://www.infradead.org/ocserv/

下载页面:ftp://ftp.infradead.org/pub/ocserv/

首先在上面的下载页面中找到最新的Release后使用wget下载并解压:

 

必选依赖包:

可选依赖包:

编译工具:

编译安装:


接下来是配置,建立 /etc/ocserv 文件夹来存储相关的配置文件:

1. 下载下来的ocserv中的 doc 文件夹中有 sample.config 这一例子文件,将其拷贝至 /etc/ocserv ,命名为 ocserv.conf ,用来存储ocserv的配置信息;

2. 新建 /etc/ocserv/ocpasswd 文件用来存储用户名密码

3. 将PEM格式的服务器证书,存储至 /etc/ocserv/server-cert.pem 文件中(包含证书链中的中级证书)

4. 将PEM格式的服务器私钥,存储至 /etc/ocserv/server-key.pem 文件中

5. 将PEM格式的根证书,存储至 /etc/ocserv/ca-cert.pem 文件中

(PS:想要客户端连接没有证书错误提示的,可以试试使用StartSSL的免费证书。)

接着修改 /etc/ocserv/ocserv.conf 文件:

设置认证方式为plain,存储文件改成刚才设置的 /etc/ocserv/ocpasswd 文件:

可以修改允许同时连接的最大客户端数:

同一个账号能连接的最大客户端数:

修改ocserv使用的端口(客户端连接时候不填写端口的话默认使用443 使用非443端口时候,服务器填写:域名:端口号 这样的形式):

修改服务器证书和私钥配置:

修改根证书配置:

建议将dpd和cookie-timeout改大,避免客户端网络波动时候总是掉线以及无法及时自动重连:

配置VPN子网的的网段:

配置DNS服务器:

将其他私有地址排除,不路由:


添加自启动,下面给出一个init.d脚本的sample,放到 /etc/init.d/ocserv 并给上755权限:

点击展开全部内容
配置自启动,使用update-rc.d命令:
启动:

添加用户,例:用户名testuser,密码test,用户组vpnusers:

然后连续两次键入密码即可。


修改 /etc/sysctl.conf 打开ipv4_forward:

执行以下命令使其生效:

配置iptables转发,注意和前面配置的网段保持一致:


参考文章:http://ttz.im/2014/02/1131

 

4 条评论

  1. 引用: Openconnect VPN 服务端 ocserv 的部署 – 飞羽博客 | CurryFish

  2. 晓南晚风 回复

    我也在用这个作为ss的补充,尤其在iso端使用非常稳定方便!不过服务端配置较为麻烦,还好我找到一个一键脚本

  3. Kobayashi 回复

    说一下现状,OpenConnect作者取消了route条数限制,增加了no-route参数(条数限制可能是200条)。另外,由于客户端不能同步跟进,基本上都与route支持还是200条,Android和Win OpenConnect客户端不支持no-route参数。最后,自己搭建后,实际使用速度不及ss一般,这算是干扰吧。如果不是iOS 9以下用户,全部推荐SS。

  4. 引用: VPN – OCServer for Cisco AnyConnect on Ubuntu 14.04 x64 – Yang

发表评论

电子邮件地址不会被公开。 必填项已用*标注

请输入验证码 * Time limit is exhausted. Please reload CAPTCHA.