镜像域名 doub.bid 提供给无翻墙能力的人访问,有能力的建议访问主域名:doub点io(防镜像替换 自己改点)
投稿文章 | 广告投放 | Telegram 群组 / 公告频道

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

Shell脚本 Toyo 141评论
文章目录
[显示]
本文最后更新于 2017年11月3日 10:09 可能会因为没有更新而失效。如已失效或需要修正,请留言!

日常,日常。

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

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

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

系统要求

Debian 7+ / Ubuntu 14.04 +

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

此脚本不支持CentOS!

脚本版本

Ver: 1.0.3

安装步骤

检查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://softs.fun/Bash/ocserv.sh && chmod +x ocserv.sh && bash ocserv.sh

# 如果上面这个脚本无法下载,尝试使用备用下载:
wget -N --no-check-certificate https://raw.githubusercontent.com/ToyoDAdoubi/doubi/master/ocserv.sh && chmod +x ocserv.sh && bash ocserv.sh

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

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

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

	用户名 : doubi

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

	密码 : doubi233

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

	TCP端口 : 443

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

	TCP端口 : 443

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

使用说明

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

./ocserv.sh

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

ocserv 一键安装管理脚本 [vx.x.x]
-- Toyo | doub.bid/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.bid/vpnzy-6/#配置参数解释

其他说明

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

运行优化说明

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

点击展开 查看更多

提示wget: unknown host “softs.fun” 之类的错误

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

点击展开 查看更多

提示 wget: command not found 的错误

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

点击展开 查看更多

升级脚本

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

更新日志

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服务端 一键脚本
责任声明:本站一切资源仅用作交流学习,请勿用作商业或违法行为!如造成任何后果,本站概不负责!

赞 (70)or打赏
发表我的评论
取消评论
表情

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址
(141)个小伙伴在吐槽
  1. 设置了路由表,ANY启动成功,但客户端无法连接。。 这是我设置的路由表部分,请您帮忙参考下哪些地方不对。。 https://download.crosscngfw.ml/ips/anyconnect-noroute.txt
    CNSZTL2017-11-19 05:30 (5天前)回复
    • 关于这个VPN,我写完脚本后就没再用过了,更详细的我也不了解。
      Toyo2017-11-19 12:18 (4天前)回复
      • 会不会是路由表数据太大崩了? :lol:
        CNSZTL2017-11-21 22:55 (2天前)回复
  2. debian9.1出错显示: [信息] ocserv 服务 管理脚本下载完成 ! [信息] 开始自签SSL证书... ocserv.sh: line 100: certtool: command not found [错误] 生成SSL证书密匙文件失败(ca-key.pem) ! 安装过程错误,ocserv 卸载完成 !
    呜咪2017-11-16 10:16 回复
    • 脚本安装依赖的时候,会安装 gnutls-bin 这个依赖,这个就是 certtool 等命令的依赖,可能是因为什么原因安装失败了,建议手动尝试安装( apt-get install gnutls-bin -y ),如果报错根据报错情况判断,或者尝试更换软件源来安装。
      Toyo2017-11-16 13:35 回复
    • Debian 9安装失败的原因是,本地软件包本版高于所需安装包依赖的版本号。解决方案是打开脚本,查看里面用apt-get命令安装的几个依赖包,换成用aptitude命令安装(aptitude install pkg-config build-essential libgnutls28-dev libwrap0-dev liblz4-dev libseccomp-dev libreadline-dev libnl-nf-3-dev libev-dev gnutls-bin -y),之后再运行一键脚本就可以了。如果电脑上没有aptitude,就先用root账户编辑命令apt-get install aptitude命令安装aptitude。
      混沌微弥2017-11-16 21:54 (7天前)回复
  3. Debian9安装出错 ocserv.sh: line 100: certtool: command not found [错误] 生成SSL证书密匙文件失败(ca-key.pem) ! ocserv.sh: line 435: cd: /usr/local/share/man/man8: No such file or directory 安装过程错误,ocserv 卸载完成 ! ocserv.sh: line 102: certtool: command not found [错误] 生成SSL证书文件失败(ca-cert.pem) ! ocserv.sh: line 435: cd: /usr/local/share/man/man8: No such file or directory 安装过程错误,ocserv 卸载完成 ! ocserv.sh: line 118: certtool: command not found [错误] 生成SSL证书密匙文件失败(server-key.pem) ! ocserv.sh: line 435: cd: /usr/local/share/man/man8: No such file or directory 安装过程错误,ocserv 卸载完成 ! ocserv.sh: line 120: certtool: command not found [错误] 生成SSL证书文件失败(server-cert.pem) ! ocserv.sh: line 435: cd: /usr/local/share/man/man8: No such file or directory 安装过程错误,ocserv 卸载完成 ! mkdir: cannot create directory ‘/etc/ocserv/ssl’: No such file or directory mv: cannot stat 'ca-cert.pem': No such file or directory mv: cannot stat 'ca-key.pem': No such file or directory mv: cannot stat 'server-cert.pem': No such file or directory mv: cannot stat 'server-key.pem': No such file or directory [信息] 开始设置账号配置... [错误] ocserv 配置文件不存在 !
    SitandRelax2017-11-16 00:32 回复
    • Debian 9安装失败的原因是,本地软件包本版高于所需安装包依赖的版本号。解决方案是打开脚本,查看里面用apt-get命令安装的几个依赖包,换成用aptitude命令安装(aptitude install pkg-config build-essential libgnutls28-dev libwrap0-dev liblz4-dev libseccomp-dev libreadline-dev libnl-nf-3-dev libev-dev gnutls-bin -y),之后再运行一键脚本就可以了。如果电脑上没有aptitude,就先用root账户编辑命令apt-get install aptitude命令安装aptitude。
      混沌微弥2017-11-16 21:56 (7天前)回复
  4. 脚本已经不能用了。创建子签证失败,自动回滚卸载。
    混沌微弥2017-11-13 10:05 回复
    • 当安装过程中出现致命错误,就会自动卸载,避免残余。
      Toyo2017-11-13 14:38 回复
      • 我找到原因了。Debian 7和Debian 8可以正常安装。Debian 9由于一些依赖包级别太高导致不能正常安装。可以找到页面上不能安装的包名称,然后用aptitude命令安装。安装好之后再运行bash脚本就可以正常安装了。 :grin:
        混沌微弥2017-11-14 16:08 回复
      • 建议将bash脚本中的apt-get替换成aptitude命令。这样在安装新包的时候可以解决依赖问题。我是菜鸟,不是特别懂,说错请大佬指正。
        混沌微弥2017-11-14 16:20 回复
  5. 大佬,我用的是搬瓦工的CN2的VPN,按照教程建了VPN,但速度很慢,是什么原因?有加速的工具吗?还是说这个VPS不适合,需要更换?
    jackwong2017-11-10 00:51 回复
  6. 用的阿里云,客户端登陆时出现这个错误。更新源已换,安装过程没提示有什么错误。AnyConnect was not able to establish a connection to the specified secure gateway. Please try connecting again.
    Aaron2017-11-07 03:25 回复
  7. dalao,你好啊,这个anyconnect能不能将端口改为udp53端口,以达到某种特殊不可告人目的的啊?
    saya2017-11-04 17:04 回复
  8. 不应该还有自建证书的教程吗?😂
    CBF2017-11-02 09:29 回复
  9. 证书安装过程出错,有类似情况吗
    CBF2017-10-30 12:53 回复
  10. 怎么样弄分流?
    teny2017-10-25 11:14 回复
    • 给你提示:服务端配置文件中的路由表,具体的我也不清楚。
      Toyo2017-10-25 12:19 回复
  11. 你好,为什么这个脚本安装完成后无法在ios客户端导入证书!
    itmAn2017-10-21 14:29 回复
  12. ocserv[9706]: worker[zhghoi]: 116.25.133.1 received BYE packet; exiting ocserv[9706]: worker[zhghoi]: 116.25.133.1 sent periodic stats (in: 64502, out: 28506) to sec-mod ocserv[9487]: sec-mod: invalidating session of user 'zhghoi' (session: DHC/4w) ocserv[9485]: main[zhghoi]: 116.25.133.1:57045 user disconnected (reason: user disconnected, rx: 64502, tx: 28506) ocserv[9718]: worker: could not disable system calls, kernel might not support seccomp ocserv[9487]: sec-mod: session open but with non-existing SID! ocserv[9485]: main: 116.25.133.1:57061 could not open session ocserv[9485]: main: 116.25.133.1:57061 failed authentication attempt for user '' ocserv[9718]: worker: 116.25.133.1 failed cookie authentication attempt ocserv[9485]: main: 116.25.133.1:57061 user disconnected (reason: unspecified, rx: 0, tx: 0) 这个是服务器日志
    Hayden2017-10-13 22:25 回复
  13. The secure gateway has rejected the connection attempt. A new connection attempt to the same or another secure gateway is needed, which requires re-authentication. 这个anyconnect的日志 大概是在说安全网关拒绝了连接 要重新认证什么的
    Hayden2017-10-13 22:22 回复
  14. 为什么我连上后秒断 提示reconnedting:XX.XX.XX.XX:XX 明明已经安装成功了
    Hayden2017-10-13 21:51 回复
  15. 这个教程现在还能用吗?
    jackwong2017-10-12 15:52 回复
  16. ~/ocserv/ocserv-0.11.8# wget -N --no-check-certificate https://softs.fun/Bash/ocserv.sh && chmod +x ocserv.sh &&_bash ocserv.sh --2017-10-08 17:46:40-- https://softs.fun/Bash/ocserv.sh Resolving softs.fun (softs.fun)... 69.12.67.44 Connecting to softs.fun (softs.fun)|69.12.67.44|:443... connected. HTTP request sent, awaiting response... 200 OK Length: 20788 (20K) [application/octet-stream] Saving to: `ocserv.sh' 100%[===================================================================================================================>] 20,788 --.-K/s in 0s 2017-10-08 17:46:41 (44.7 MB/s) - `ocserv.sh' saved [20788/20788] -bash: _bash: command not found [email protected]:~/ocserv/ocserv-0.11.8# 小白表示理不清这个错误
    Cogman2017-10-08 17:49 回复
    • &&_bash ocserv.sh
      # 你的命令中多了一个符号“_”,这里应该是空格,而文章内的这段代码并没有这个符号,说明是你自己加进去的。
      
      Toyo2017-10-08 19:20 回复
      • Get!谢谢解答,复制时候没注意 :lol:
        Cogman2017-10-09 09:43 回复
1 2