Tidak Ada Deskripsi

Mustafa Arici 3292efd2f5 test(user): update test cases 8 tahun lalu
api 3c5c52d32b feat(user): add admin user type 8 tahun lalu
bindata 3c5c52d32b feat(user): add admin user type 8 tahun lalu
cmd 3c5c52d32b feat(user): add admin user type 8 tahun lalu
contrib 800dbd294e chore(ci): change deb repo config... finger crossed :) 8 tahun lalu
pb 3c5c52d32b feat(user): add admin user type 8 tahun lalu
pki 2fe160c0c9 refactor(pki): generate certificates valid for _CrtExpireYears long 8 tahun lalu
supervisor b6e48777d0 feat(vpn): ensure nat is enabled when starting vpn 8 tahun lalu
template 71ec10f9a6 openvpn user created by openvpn package, so use openvpn user instead. 8 tahun lalu
.gitignore 33a3d57151 init: add gitignore 8 tahun lalu
.travis.yml 5c4c565601 chore(ci): fix on fix 8 tahun lalu
CHANGELOG.md 397da9d2f7 release: v0.1.11 8 tahun lalu
Makefile b200affe45 feat(api): add REST endpoints for the existing grpc services 8 tahun lalu
README.md 2dc6f1f061 doc(readme): fix the ubuntu install instructions 8 tahun lalu
build.sh ee64794a30 chore(ci): fix build.sh 8 tahun lalu
const.go 397da9d2f7 release: v0.1.11 8 tahun lalu
db.go 3f128fa377 feat(net): handle iptables upon association/dissociation 8 tahun lalu
db_test.go 7756c0cc60 test(db): write test cases for db 8 tahun lalu
net.go 14d43463ba fix(net): handle --via flag properly 8 tahun lalu
net_test.go 3292efd2f5 test(user): update test cases 8 tahun lalu
user.go 3c5c52d32b feat(user): add admin user type 8 tahun lalu
user_test.go 3292efd2f5 test(user): update test cases 8 tahun lalu
vpn.go a80d03aff6 refactor(vpn): create and use getter methods for vpn poroto 8 tahun lalu
vpn_test.go 3292efd2f5 test(user): update test cases 8 tahun lalu

README.md

OVPM - OpenVPn Manager

Build Status GitHub version codecov GoDoc

OVPM allows you to administrate an OpenVPN server on linux easily via command line.

With OVPM you can create and run an OpenVPN server, add/remove VPN users, generate client .ovpn files for your users etc.

This software is not stable yet. We recommend against using it for anything serious until, version 1.0 is released.

Installation

from RPM (CentOS/Fedora):

# Add YUM Repo
$ sudo yum-config-manager --add-repo https://cad.github.io/ovpm/rpm/ovpm.repo

# Install OVPM
$ sudo yum install ovpm

from DEB (Ubuntu/DEBIAN):

This is tested only on Ubuntu >=16.04.3 LTS

# Add APT Repo
$ sudo sh -c 'echo "deb [trusted=yes] https://cad.github.io/ovpm/deb/ ovpm main" >> /etc/apt/sources.list'
$ sudo apt update

# Install OVPM
$ sudo apt install ovpm

from Source (go get):

Only dependency for ovpm is OpenVPN>=2.3.

$ go get -u github.com/cad/ovpm/...

Start the Server

You need to start the start OVPM server, which is called ovpmd, before doing anything.

CentOS/Fedora (RPM Package)

Just use systemd to manage ovpmd.

$ systemctl start ovpmd
$ systemctl enable ovpmd  # enable ovpmd to start on boot

If You've Installed From Source (go get)

Run in another terminal.

$ sudo ovpmd

INFO[0000] OVPM is running :9090 ...                    
ERRO[0000] can not launch OpenVPN because system is not initialized 

It complains about an error due to server not being initialized, it's completely fine getting this when you first start ovpmd.

Usage

Init Server

If you just installed the ovpm from scratch you have started the ovpm server (ovpmd) then now you need to initialize the server.

You can do so by invoking;

$ ovpm vpn init -s <your-vpn-server's-fqdn-or-ip-addr>

This operation will cause invalidation of existing user certificates.
After this opeartion, new client config files (.ovpn) should be generated for each existing user.

Are you sure ? (y/N)
y
INFO[0003] ovpm server initialized 

Now you have your server initialized, up and running.

Create a VPN user

If you have initialized your ovpm server now you can add users.

Add a VPN user;

$ ovpm user create -u john -p 1234            

INFO[0000] user created: john  

Please note that user password is taken but it will be used in the future releases. Such as for the Web UI and etc..

Export the OpenVPN Client Config

After creating a user, you can export the client config for them.

$ ovpm user genconfig -u john

INFO[0000] exported to john.ovpn

This .ovpn file contains all necesarray bits and pieces for the client to connect to your newly created VPN server. You can copy the OpenVPN client config file (e.g. john.ovpn) to the any OpenVPN client and use it to connect to your VPN server.