Wallogit.com
2017 © Pedro Peláez
PHP OpenVPN config generator
A PHP library to generate openvpn keys and configurations., (*1)
Based on security considerations taken from: - https://community.openvpn.net/openvpn/wiki/Hardening - https://blog.g3rt.nl/openvpn-security-tips.html, (*2)
New in 2020 - https://blog.securityevaluators.com/hardening-openvpn-in-2020-1672c3c4135a - https://blog.securityevaluators.com/how-to-harden-openvpn-in-2020-part-2-da51acab3ea8, (*3)
works on debian 10 jessie with openvpn package installed., (*4)
apt-get install openvpn
After including the library with autoloader or manualy, you can initiate and configure the class., (*5)
$openvpn = new Paranic\Openvpn(); $openvpn->server_address = '127.0.0.1'; $openvpn->server_port = '1194'; $openvpn->protocol = 'udp'; $openvpn->easy_rsa_folder = '/tmp/easy-rsa'; $openvpn->network = '10.0.0.0'; $openvpn->netmask = '255.255.255.0';
All keys generated will be stored in the easy_rsa/configs folder., (*6)
$openvpn->setup();
This is going to take some time, creating required keys for the first time., (*7)
$openvpn->create_server();
Again your server configuration is stored at easy_rsa_folder under the keys_packed subfolder., (*8)
$openvpn->create_client('sample_client_1');
You can create many clients and get theyr configuration in the keys_packed folder, including a all in one inline client config file., (*9)