Coder Social home page Coder Social logo

ocserv-install-script-for-centos-rhel-7's Introduction

EPEL 已经提供二进制包,本脚本不再维护

二进制安装脚本请使用 https://github.com/travislee8964/ocserv-auto

Ocserv install script for CentOS&RHEL 7

这是 ocserv 在 CentOS 7 和 RHEL 7 的一键安装脚本,可以在最小化安装环境的 CentOS 7 和 RHEL 7 下一键部署 ocserv。

已知部分 64M 内存的 VPS 一次 yum 太多软件包会报错,可以修改脚本分多次安装。

支持自动判断 firewalld 和 iptables。

  • 支持自动判断防火墙,请确保 Firewalld 或者 iptables 其中一个是 active 状态;
  • 默认采用用户名密码验证,本安装脚本编译的 ocserv 也支持 pam 验证,只需要修改配置文件即可;
  • 默认配置文件在 /usr/local/etc/ocserv/ 目录,可自行更改脚本里的参数;
  • 安装时会提示你输入端口、用户名、密码等信息,也可直接回车采用默认值,密码是随机生成的;
  • 安装脚本会关闭 SELINUX;
  • 自带路由表,只有路由表里的 IP 才会走 VPN,如果你有需要添加的路由表可自行添加,最多支持 200 条;
  • 如果你有证书机构颁发的证书,可以把证书放到脚本的同目录下,确保文件名和脚本里的匹配,安装脚本会使用你的证书,客户端连接时不会提示证书错误;
  • 配置文件修改为每个账号允许 10 个连接,全局 1024 个连接,可修改脚本前面的变量。1024 个连接大约需要 2048 个 IP,所以虚拟接口的 IP 配置了 8 个 C 段。

安装脚本分为以下几大块,如果中间有错误,可以注释掉部分然后重新执行脚本,ConfigEnvironmentVariable 为必须,后面的脚本会使用这里的变量

  • ConfigEnvironmentVariable // 配置环境变量
  • PrintEnvironmentVariable // 打印环境变量
  • CompileOcserv $@ // 下载并编译 ocserv
  • ConfigOcserv // 配置 ocserv,包括修改 ocserv.conf,配置 ocserv.service
  • ConfigFirewall // 配置防火墙,会自动判断防火墙为 iptables 或 firewalld
  • ConfigSystem // 配置系统
  • PrintResult // 打印最后的安装结果和 VPN 账号等

ocserv-install-script-for-centos-rhel-7's People

Contributors

lhbc avatar travislee89 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

ocserv-install-script-for-centos-rhel-7's Issues

脚本执行后,手机客户端连接超时

ocserv 服务和 firewall 都是 fine,查看状态日志如下

ocserv.service - OpenConnect SSL VPN server
Loaded: loaded (/usr/lib/systemd/system/ocserv.service; enabled)
Active: active (running) since 日 2015-05-31 00:14:07 EDT; 37min ago
Docs: man:ocserv(8)
Main PID: 653 (ocserv-main)
CGroup: /system.slice/ocserv.service
├─653 /usr/local/sbin/ocserv --foreground --pid-file /var/run/ocserv.pid --config /usr/local/etc/ocserv/ocserv.conf
└─654 /usr/local/sbin/ocserv --foreground --pid-file /var/run/ocserv.pid --config /usr/local/etc/ocserv/ocserv.conf

5月 31 00:14:07 localhost.localdomain ocserv[654]: sec-mod: sec-mod initialized (socket: /var/run/ocserv-socket.653)
5月 31 00:30:04 localhost.localdomain ocserv[757]: worker: could not disable system calls, kernel might not support seccomp
5月 31 00:30:04 localhost.localdomain ocserv[757]: worker: tlslib.c:328: warning: Received record packet of unknown type 71
5月 31 00:30:04 localhost.localdomain ocserv[757]: GnuTLS error (at worker-vpn.c:433): An unexpected TLS packet was received.
5月 31 00:30:04 localhost.localdomain ocserv[653]: main: 198.35.46.8:34197 user '' disconnected
5月 31 00:30:04 localhost.localdomain ocserv[758]: worker: could not disable system calls, kernel might not support seccomp
5月 31 00:30:05 localhost.localdomain ocserv[758]: GnuTLS error (at worker-vpn.c:433): The TLS connection was non-properly terminated.
5月 31 00:30:05 localhost.localdomain ocserv[653]: main: 198.35.46.8:34198 user '' disconnected
5月 31 00:32:11 localhost.localdomain systemd[1]: Started OpenConnect SSL VPN server.
5月 31 00:46:22 localhost.localdomain systemd[1]: Started OpenConnect SSL VPN server.

WARNING!!! ocserv service is NOT Running!

[root@ivpser ~]# systemctl status -l ocserv.service
● ocserv.service - OpenConnect SSL VPN server
Loaded: loaded (/usr/lib/systemd/system/ocserv.service; enabled; vendor preset: disabled)
Active: failed (Result: exit-code) since 木 2016-09-22 12:40:07 JST; 10min ago
Docs: man:ocserv(8)
Process: 2560 ExecStart=/usr/local/sbin/ocserv --foreground --pid-file /var/run/ocserv.pid --config /usr/local/etc/ocserv/ocserv.conf (code=exited, status=203/EXEC)
Main PID: 2560 (code=exited, status=203/EXEC)

9月 22 12:40:07 ivpser systemd[1]: Started OpenConnect SSL VPN server.
9月 22 12:40:07 ivpser systemd[1]: Starting OpenConnect SSL VPN server...
9月 22 12:40:07 ivpser systemd[2560]: Failed at step EXEC spawning /usr/local/sbin/ocserv: No such file or directory
9月 22 12:40:07 ivpser systemd[1]: ocserv.service: main process exited, code=exited, status=203/EXEC
9月 22 12:40:07 ivpser systemd[1]: Unit ocserv.service entered failed state.
9月 22 12:40:07 ivpser systemd[1]: ocserv.service failed.
[root@ivpser ~]#

求解。。。
nano /etc/ocserv/ocserv.conf
isolate-workers = false

vps重啟之後啟動腳本重新設置即可

這個應該是升級 Ocserv 10.3 之後的鍋 2333
这个我试着直接在ocserv.conf开一行添加了isolate-workers = false 不过好像并没有用耶

只有你的脚本好用

大佬, 试过好多脚本文件, 包括 ocserv-auto
但只有你的脚本可以正常工作, 貌似是脚本配置文件的问题. 可惜你的不更新了.

./configure前面是不是少了个autoreconf -fvi

./configure前面是不是少了个autoreconf -fvi
ocserv_0_10_7下来似乎没configure,要自己autoreconf -fvi

刚刚在精简版的centos7安装了下.有2个依赖可以添加
yum -y install policycoreutils gperf

似乎ocserv解压出来后文件夹路径不大对.
解压出来后执行脚本会出错
要改下文件夹名才正常 mv ocserv_0_10_7/ ocserv-0_10_7/

为什么我用新版 速度反而慢很多?

Centos 7.1 x64 已升级到最新版
阿里云的主机 排除线路问题 上下行都可以满速
装1.2.5后 手机看youtub视频只有200KB/s左右(output-buffer参数设大设小都一样)
降到1.2.2后 速度提升到2MB/s
不知道那里出问题了?

0.11.1 ocserv

Hello Sir,

Could you please update to script to use version 0.11.1? and is it possible to use certificates? or is it only with username/password authentication possible?

Thanks for this great script

有个子网掩码算错了

 sed -i "s/ipv4-netmask = 255.255.255.0/ipv4-netmask = 255.255.251.0/g" "${confdir}/ocserv.conf"

/21 应该是ipv4-netmask = 255.255.248.0

防火墙检测

防火墙检测的时候输出为inactive,而脚本判断为active,导致无法配置iptables
(我使用的是aws上的centos7)

错误

ocserv-install-script-for-centos7.sh:行4: 未预期的符号 newline' 附近有语法错误 ocserv-install-script-for-centos7.sh:行4:'

能够建立连接却不能访问,无防火墙无 route

只能够建立连接却无法访问,删掉 route 规则后无法打开任何网站。
detail 里显示没有从服务器收到任何包。
服务器防火墙全部关闭。
能够从什么地方看到更详细的信息吗?

ocserv-0.10.4.tar.xz 无法下载

--2015-09-23 13:19:04-- ftp://ftp.infradead.org/pub/ocserv/ocserv-0.10.4.tar.xz
(try: 8) => ‘ocserv-0.10.4.tar.xz’
Connecting to ftp.infradead.org (ftp.infradead.org)|2001:770:15f::2|:21... failed: Connection timed out.
Connecting to ftp.infradead.org (ftp.infradead.org)|85.118.1.10|:21... failed: Connection timed out.
Retrying.

一直这样无限循环 能不能把包放在github上 这样比较稳定
谢谢

Unit ocserv.service entered failed state

[root@vultr ~]# systemctl status ocserv
ocserv.service - OpenConnect SSL VPN server
Loaded: loaded (/usr/lib/systemd/system/ocserv.service; enabled)
Active: failed (Result: exit-code) since Fri 2015-02-06 08:24:22 CST; 1h 24min ago
Docs: man:ocserv(8)
Process: 11550 ExecStart=/usr/local/sbin/ocserv --pid-file /var/run/ocserv.pid --config /etc/ocserv/ocserv.conf (code=exited, status=1/FAILURE)

Feb 06 08:24:22 vultr.guest systemd[1]: Starting OpenConnect SSL VPN server...
Feb 06 08:24:22 vultr.guest ocserv[11550]: Skipping unknown option 'isolate-workers'
Feb 06 08:24:22 vultr.guest ocserv[11550]: No mask found for IPv6 network.
Feb 06 08:24:22 vultr.guest systemd[1]: ocserv.service: control process exited, code=exited status=1
Feb 06 08:24:22 vultr.guest systemd[1]: Failed to start OpenConnect SSL VPN server.
Feb 06 08:24:22 vultr.guest systemd[1]: Unit ocserv.service entered failed state.
[root@vultr ~]# systemctl start ocserv
Job for ocserv.service failed. See 'systemctl status ocserv.service' and 'journalctl -xn' for details.
[root@vultr ~]# journalctl -xn
-- Logs begin at Fri 2015-02-06 08:01:46 CST, end at Fri 2015-02-06 09:49:17 CST. --
Feb 06 09:49:03 vultr.guest ocserv[12222]: Skipping unknown option 'isolate-workers'
Feb 06 09:49:03 vultr.guest ocserv[12222]: No mask found for IPv6 network.
Feb 06 09:49:03 vultr.guest systemd[1]: ocserv.service: control process exited, code=exited status=1
Feb 06 09:49:03 vultr.guest systemd[1]: Failed to start OpenConnect SSL VPN server.
-- Subject: Unit ocserv.service has failed
-- Defined-By: systemd
-- Unit ocserv.service has failed.
-- The result is failed.
Feb 06 09:49:03 vultr.guest systemd[1]: Unit ocserv.service entered failed state.

执行了脚本,出现 warning

sh 了脚本文件后,滚了几屏幕,出现提示设置端口、用户名、密码,在接下来有事滚了几屏,就到了下面,

Chenking FirewallD status...
WARNING!!! FirewallD is Wrong!

Chenking ocserv service status...
ocserv-install-script-for-centos7.sh: line 570: netstat: command not found
ocserv-install-script-for-centos7.sh: line 571: netstat: command not found
ocserv-install-script-for-centos7.sh: line 572: netstat: command not found
WARNING!!! ocserv service is Wrong!

建议加入判断iptables和firewalld是否安装的逻辑

使用这个脚本尝试在搬瓦工64MB VPS部署anyconnect,系统为Centos 7 x86_64 。除了安装依赖文件要分几次完成外,需要注意的地方还有:

  1. firewalld需要自行安装。系统没有自带;
  2. iptables需要自行安装。系统没有自带。

firewalld和iptables安装后,经测试firewalld会报错,iptables可以正常使用。打开iptables服务,重新执行脚本后没报任何Error/Warning,可以通过anyconnect连接到VPS,国内网站访问正常。

*不过需要翻墙的网站都打不开。。。 *

依赖问题

关于解决最小化安装的centos7的依赖问题,建议在安装前添加以下依赖

yum install readline-devel gcc gnutls-utils -y

默认端口10443跟nginx冲突

我使用的是centos,在同一台服务器上安装ocserv和nginx,会冲突导致其中一个用不到。

将端口改为10444之后就可以了。

对端口不是很熟悉,是否可以考虑将默认的改为别的?

运行 sh 时 出现这样的错误

$ sudo sh ocserv-install-script-for-centos7.sh
ocserv-install-script-for-centos7.sh: line 4: syntax error near unexpected token newline' ocserv-install-script-for-centos7.sh: line 4:'

连接成功后,什么网页打不开

您好,感谢您发布的安装脚本,但是在下遇到了奇怪的问题,用的是您最新的版本,几天前安装使用还是正常的,但是自从我重装的系统,再次安装后,就什么网页也打不开了,禁用防火墙也没用,我以为是系统问题,又重装了系统和软件,还是打不开任务网页,为什么相同的系统,配置文件,和软件,前几天好好的,突然就不行了呢?

安装完成之后提示:WARNING!!! ocserv service is NOT Running! ,查看systemctl status -l ocserv.service发现貌似是ocserv-genkey的问题

日志如下:

ocserv.service - OpenConnect SSL VPN server
Loaded: loaded (/usr/lib/systemd/system/ocserv.service; enabled)
Active: failed (Result: exit-code) since Wed 2015-09-30 10:15:10 CST; 16s ago
Docs: man:ocserv(8)
Process: 7448 ExecStartPre=/usr/local/sbin/ocserv-genkey (code=exited, status=1/FAILURE)
Main PID: 2766 (code=killed, signal=KILL)

Sep 30 10:15:10 localhost.localdomain ocserv-genkey[7448]: /usr/local/sbin/ocserv-genkey -c [config]
Sep 30 10:15:10 localhost.localdomain ocserv-genkey[7448]: Use /usr/local/sbin/ocserv-genkey --help for more information.
Sep 30 10:15:10 localhost.localdomain systemd[1]: ocserv.service: control process exited, code=exited status=1
Sep 30 10:15:10 localhost.localdomain systemd[1]: Failed to start OpenConnect SSL VPN server.
Sep 30 10:15:10 localhost.localdomain systemd[1]: Unit ocserv.service entered failed state.
[root@localhost ~]#

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.