月下博客

『原创』Ocserv 搭建 Cisco AnyConnect VPN服务端 一键脚本

本文最后更新于 2018年9月20日 19:49 可能会因为没有更新而失效。如已失效或需要修正,请留言!

日常,日常。

手动搭建教程:使用Ocserv 手动搭建 Cisco AnyConnect VPN服务端

客户端使用教程:Cisco AnyConnect VPN Windows/Android 平台客户端使用教程

注意:如果服务器同时安装了 锐速(ServerSpeed/LotServer),那么可能会导致 AnyConnect 连接上后无网络或者速度异常(慢),这时候请关闭锐速,BBR加速无影响

系统要求

Debian 7+ / Ubuntu 14.04 +

推荐 Debian 8 x64,这个是我一直使用的系统,我的脚本在这个系统上面出错率最低。

此脚本不支持CentOS!

脚本版本

Ver: 1.0.5

安装步骤

检查PPP/TUN环境

首先要检查VPS的TUN是否开启(OpenVZ虚拟化的服务器很可能默认关闭)。

cat /dev/net/tun
# 返回的必须是:
cat: /dev/net/tun: File descriptor in bad state

如果返回内容不是指定的结果,请与VPS提供商联系开启TUN权限(一般控制面板有开关)。


执行下面的代码下载并运行脚本。

wget -N --no-check-certificate https://raw.githubusercontent.com/ToyoDAdoubiBackup/doubi/master/ocserv.sh && chmod +x ocserv.sh && bash ocserv.sh

下载并运行脚本后会出现脚本操作菜单,选择并输入 1 就会开始安装。

首先安装服务端,安装过程中会提示你添加第一个VPN账号(用户名和密码)以及TCP/UDP端口

...
[信息] 开始设置账号配置...
请输入 要添加的VPN账号 用户名
(默认: admin):doubi

	用户名 : doubi

请输入 要添加的VPN账号 密码
(默认: doub.io):doubi233

	密码 : doubi233

请输入VPN服务端的TCP端口
(默认: 443):443

	TCP端口 : 443

请输入VPN服务端的UDP端口
(默认: 443):

	TCP端口 : 443

[信息] 开始设置 iptables防火墙...
...

使用说明

进入下载脚本的目录并运行脚本:

./ocserv.sh

运行脚本后选择你要执行的选项即可。

ocserv 一键安装管理脚本 [vx.x.x]
-- Toyo | doub.io/vpnzy-7 --

0. 升级脚本
————————————
1. 安装 ocserv
2. 卸载 ocserv
————————————
3. 启动 ocserv
4. 停止 ocserv
5. 重启 ocserv
————————————
6. 设置 账号配置
7. 查看 配置信息
8. 修改 配置文件
9. 查看 日志信息
————————————

当前状态: 已安装 并 已启动

请输入数字 [0-9]:

其他操作

/etc/init.d/ocserv start
# 启动 ocserv
/etc/init.d/ocserv stop
# 停止 ocserv
/etc/init.d/ocserv restart
# 重启 ocserv
/etc/init.d/ocserv status
# 查看 ocserv 运行状态
/etc/init.d/ocserv log
# 查看 ocserv 运行日志
/etc/init.d/ocserv test
# 测试 ocserv 配置文件是否正确

配置文件:/etc/ocserv/ocserv.conf

账号配置文件:/etc/ocserv/ocpasswd

日志文件:/tmp/ocserv.log

如果你想要修改配置文件,请看参数解释:https://doub.io/vpnzy-6/#配置参数解释

其他说明

注意:如果服务器同时安装了 锐速(ServerSpeed/LotServer),那么可能会导致 AnyConnect 连接上后无网络或者速度异常(慢),这时候请关闭锐速,BBR加速无影响

脚本已默认配置好国内外分流路由表了(国内流量不走VPN),无需设置。

运行优化说明

建议在运行 ocserv前,执行一下这个命令,作用是提高系统的文件符同时打开数量,对于TCP连接过多的时候系统默认的 1024 就会成为速度瓶颈。

点击展开 查看更多

ulimit -n 51200

这个命令只有临时有效,重启后失效,如果想要永久有效,请执行:

echo "* soft nofile 51200
* hard nofile 51200" >> /etc/security/limits.conf

然后最后再执行一下 ulimit -n 51200 即可。

提示wget: unknown host “raw.githubusercontent.com” 之类的错误

这是无法解析我的域名,多半是DNS的问题,请更换DNS为谷歌DNS(以下两行一起复制 一起执行)。

点击展开 查看更多

echo -e "nameserver 8.8.8.8
nameserver 8.8.4.4" > /etc/resolv.conf

提示 wget: command not found 的错误

这是你的系统精简的太干净了,wget都没有安装,所以需要安装wget。

点击展开 查看更多

# CentOS系统:
yum install -y wget

# Debian/Ubuntu系统:
apt-get install -y wget

升级脚本

升级脚本只需要运行脚本,然后选择并输入 0 回车即可,会自动检测最新版本并下载,当然重新下载脚本文件也可以,会自动覆盖原文件。

更新日志

2018年09月12日,版本 v1.0.5

1. 新增 自动检测网卡名 ens3(Debian9 默认网卡名)。

另外,针对 CentOS Ubuntu 最新系统版本的网卡命名我也在脚本内加了说明(enpXSX)。

点击展开 查看更多

2018年07月10日,版本 v1.0.4

1. 新增 升级脚本时,将一起升级服务脚本(Service)。

2017年08月02日,版本 v1.0.3

1. 新增 在安装出错的情况下,会自动启动卸载程序。

2017年06月04日,版本 v1.0.2

1. 修复 重启服务器后,ipv4防火墙转发未打开的问题。

2017年06月02日,版本 v1.0.1

1. 修复 通过脚本修改配置文件中TCP/UDP端口后,没有保存防火墙设置的问题

2017年05月29日,版本 v1.0.0

1. 推出 正式版。

转载请超链接注明:月下博客 » 『原创』Ocserv 搭建 Cisco AnyConnect VPN服务端 一键脚本
责任声明:本站一切资源仅用作交流学习,请勿用作商业或违法行为!如造成任何后果,本站概不负责!