Skip to content
A simple OpenVPN setup script, edited for OpenVZ VPSes
Branch: master
Clone or download
Pull request Compare This branch is 8 commits behind viljoviitanen:master.
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Type Name Latest commit message Commit time
Failed to load latest commit information.

This is a fork of viljoviitanen's script ( All of my changes are licensed under GPLv2, see LICENSE.txt.

GPLv2 licensed easy-rsa tools and example configuration copied from OpenVPN project, Copyright (C) 2002-2010 OpenVPN Technologies, Inc. See OPENVPN-COPYING.txt

Other parts Copyright 2012-2013 Viljo Viitanen Licensed under GPLv2, see LICENSE.txt.

Installation Instructions

OpenVZ script is for VPSes that use venet0 instead of eth0, normal script uses eth0.

RHEL, CentOS, Fedora

  • Install unzip:
sudo yum -y install unzip
  • Enable the EPEL repository. When writing this, it's as simple as:
sudo rpm -iv

If the link does not work, see instructions at . Also EPEL may already be enabled on your server, so just try to run the setup script. The script will complain if it cannot install the openvpn package.

  • Continue with the common instructions

Debian, Ubuntu, and other Debian based distros

  • Install unzip:
sudo apt-get -y install unzip
  • Continue with the common instructions


  • Make sure you sync your server's clock with NTP or you will be unable to connect to your new VPN server due to your SSL certificates being invalid

  • Download the repo zip file and run the installation script:

git clone

unzip (wget method)
cd setup-simple-openvpn-master
sudo sh <type>
  • By default, the script uses TCP 110, but if you want to use a different port run the script with:
sudo sh <type> <port #> <protocol>

where port # can be anything between 1-65535, and protocol is either "tcp" or "udp" (no quotes).

  • Let the script run. Take note if the server external IP address detection is succesful. If it's not, you need to edit the configuration files before using them.

  • Download the configuration files from directory setup-simple-openvpn-master/openvpn.*, there is both a zipped file with all the config files and the plain configuration files


  • Add support for other Linux distros

  • Possibly add OS X support

Changes from Original

  • Modified for use with OpenVZ VPSes, since they use venet0 instead of eth0.

  • Added two versions of the script, one for protocol venet0 specific (, and eth0 (

  • The script now creates a Linux specific version, since not all distros support the Windows method of pushing DNS configs, and also needs script-security 2.

  • The config files are labeled with the public IP address, and the Linux specific config is labeled with "linux" at the beginning.

You can’t perform that action at this time.