samsesh / ocserv-docker

[Script and Docker 🐳] OpenConnect (Cisco AnyConnect) VPN Server (OCServ) script one key easy configurator and installer

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

OpenConnect-VPN-Server

2022 OCT UPDATE: We dockerized and added Dockerfile to run it anywhere you want on any linux distro easily. Buggy script for configuring OpenConnect (ocserv) protocol on the server easily and automatically.

2023 JAN UPDATE: We added a help instruction for Docker custom installation so everyone can fully customized ocserv configuration for him/her self like port number, custom header etc.

Docker Installation

  1. Install Docker
  2. Build docker image
docker build -t ocserv https://github.com/samsesh/ocserv-docker.git
  1. Run docker container
docker run --name ocserv --privileged -p 443:443 -p 443:443/udp -d --restart unless-stopped ocserv
  1. Add user
docker exec -ti ocserv ocpasswd -c /etc/ocserv/ocpasswd testUserName
  1. Change user password
docker exec -ti ocserv ocpasswd -c /etc/ocserv/ocpasswd testUserName
  1. Delete user
docker exec -ti ocserv ocpasswd -c /etc/ocserv/ocpasswd -d testUserName
  1. Lock user
docker exec -ti ocserv ocpasswd -c /etc/ocserv/ocpasswd -l testUserName
  1. Unlock user
docker exec -ti ocserv ocpasswd -c /etc/ocserv/ocpasswd -u testUserName
  1. Show all users and their hashed password
docker exec -ti ocserv cat /etc/ocserv/ocpasswd
  1. Show all connected users
docker exec -ti ocserv occtl show users
  1. Show all options on occtl
docker exec -ti ocserv occtl help
  1. Backup user & Restore

Backup :

docker exec -ti ocserv cat /etc/ocserv/ocpasswd >> ocserv_backup.txt

Restore

docker exec -i ocserv sh -c 'cat > /etc/ocserv/ocpasswd ' <  ocserv_backup.txt
  • Note: This only backs up and restores the list of users, it does not back up their status such as whether they are locked or not.

Script Installation

Tested on ubuntu 18.04 and 16.04.

Download and saving script on your server:

curl -O https://github.com/samsesh/ocserv-docker/raw/master/ocserv-install.sh

Making script executable

chmod +x ocserv-install.sh

And then just run it:

./ocserv-install.sh

or

sudo bash ocserv-install.sh

Features

  • Easy install
  • Easy uninstall
  • Add User
  • Change Password
  • Show All Users
  • Delete User
  • Lock User
  • Unlock User

How to connect to it?

For making connection to your server, you can use AnyConnect, OpenConnect or other alternative clients.

And one more thing, contributions are welcome.

How to customize the configuration?

In docker way, at the beginning you have to clone the repo:

git clone https://github.com/samsesh/ocserv-docker.git

cd to the directory

cd ./ocserv-docker

You can change port, disable UDP, add custom-header and so on. Modify and customize ocserv.conf file and then build your image with modified ocserv.conf:

docker build . -t ocserv

Create new container from ocserv image

docker run --name ocserv --privileged -p 443:443 -p 443:443/udp -d --restart unless-stopped ocserv

Next steps like add or remove users are same as Docker Installation part.

Issues

Feel free to submit issues and enhancement requests or contact me my site samsesh.net.

More

The script is based on here

About

[Script and Docker 🐳] OpenConnect (Cisco AnyConnect) VPN Server (OCServ) script one key easy configurator and installer


Languages

Language:Shell 75.5%Language:Dockerfile 24.5%