vpn部署ocserv

一 简介

官方文档:https://ocserv.gitlab.io/www/index.html
原链接地址:https://www.ad7.cn/project-99/doc-280/

Openconnect VPN服务端简称ocserv(Openconnect VPN Server),ocserv是一款开源的,兼容Cisco Anyconnect VPN的VPN服务端软件。目前状况下通讯较为稳定,干扰较小。主要优势是多平台的支持,Windows、Android、iOS都能找到它的客户端。

二 -部署(脚本一部署)

2.1-开启防火墙

[root@vpn ~]# systemctl start firewalld
[root@vpn ~]# systemctl enable firewalld

2.2-运行安装脚本

【附件】ocserv-auto.zip[3]

    [root@vpn ~]# bash ocserv-auto.sh

    [root@vpn ~]# bash ocserv-auto.sh 
    ======================================
    Network Interface list:
    ens33
    ens34
    ======================================
    Which network interface you want to listen for ocserv?
    Default network interface is ens33, let it blank to use this network interface: ens34     #选择网卡
    Please input the port ocserv listen to.
    Default port is 443, let it blank to use this port:    #默认端口
    Please input ocserv user name.
    Default user name is user, let it blank to use this user name: samu    #用户
    Please input samu's password.
    Random password is T2qdELLP0D, let it blank to use this password: samu    #密码

ocserv1.png

输入任意按键开始
ocserv2.png

记得删除后面的路由

2.3-使用


    创建用户
    [root@vpn ~]# ocpasswd -c /etc/ocserv/ocpasswd user
    删除用户
    [root@vpn ~]# ocpasswd -c /etc/ocserv/ocpasswd -d user
    启动服务
    [root@vpn ~]# systemctl start ocserv
    关闭服务器
    [root@vpn ~]# systemctl stop ocserv
    重启服务
    [root@vpn ~]# systemctl restart ocserv

三-测试登录

3.1-下载客户端

1.widnwos客户端

【附件】openconnect-gui-1.5.3-win32.zip[2]

2.安卓客户端

【附件】[1]

3-测试登录

ocserv3.png
ocserv4.png

四 开启日志功能

https://github.com/chendong12/ocserv/blob/master/README.md

记录anyconnect连接断开的日志

编辑 /etc/ocserv/ocserv.conf 增加如下内容

connect-script = /etc/ocserv/connect-script
disconnect-script = /etc/ocserv/connect-script

新建 connect-script 文件

touch /etc/ocserv/connect-script
chmod +x /etc/ocserv/connect-script

/etc/ocserv/connect-script 文件内容如下

#!/bin/bash
 
export LOGFILE=/etc/ocserv/login.log
 
#echo $USERNAME : $REASON : $DEVICE
case "$REASON" in
  connect)
echo `date` $USERNAME "connected" >> $LOGFILE
echo `date` $REASON $USERNAME $DEVICE $IP_LOCAL $IP_REMOTE $IP_REAL >> $LOGFILE
    ;;
  disconnect)
echo `date` $USERNAME "disconnected" >> $LOGFILE
    ;;
esac
exit 0

配置完成后重启 ocserv

systemctl restart ocserv
cat /etc/ocserv/login.log 
2022年 08月 28日 星期日 11:23:56 CST test connected
2022年 08月 28日 星期日 11:23:56 CST connect jack vpns0 10.12.0.1 10.12.0.128 1.27.210.31
2022年 08月 28日 星期日 11:24:00 CST test disconnected