How to Create a VPN Server on Ubuntu 12.04

Create VPN
How to Create a VPN Server on Ubuntu 12.04


apt-get update

apt-get install openvpn openssl

cd /etc/openvpn

cp -r /usr/share/doc/openvpn/examples/easy-rsa/2.0 ./easy-rsa

apt-get install nano

nano easy-rsa/vars


export EASY_RSA=”`pwd`”


export EASY_RSA=”/etc/openvpn/easy-rsa”

. ./easy-rsa/vars


cd easy-rsa

ln -s openssl-1.0.0.cnf openssl.cnf

cd ..

./easy-rsa/build-ca OpenVPN

./easy-rsa/build-key-server server

./easy-rsa/build-key client1


nano openvpn.conf

begin openvpn.conf contents – copy below this line

dev tun

proto udp

port 1194

ca /etc/openvpn/easy-rsa/keys/ca.crt

cert /etc/openvpn/easy-rsa/keys/server.crt

key /etc/openvpn/easy-rsa/keys/server.key

dh /etc/openvpn/easy-rsa/keys/dh1024.pem

user nobody

group nogroup




status /var/log/openvpn-status.log

verb 3


push “redirect-gateway def1”

#set the dns servers

push “dhcp-option DNS”

push “dhcp-option DNS”

log-append /var/log/openvpn


end openvpn.conf contents – copy above this line

echo 1 > /proc/sys/net/ipv4/ip_forward

do “ifconfig” to get adapter name and ipaddress (venet0 was mine since my vps host is using openvz)

iptables -t nat -A POSTROUTING -s -o venet0 -j SNAT --to YOUR.VPS.IP

cd ..

nano sysctl.conf

un-comment (remove the #) from the line containing #net.ipv4.ip_forward=1

cd ..

/etc/init.d/openvpn start

begin newvpn.ovpn contents – copy below this line

dev tun


proto udp

remote YOUR.VPS.IP 1194

resolv-retry infinite




ca ca.crt

cert client1.crt

key client1.key


verb 3

end newvpn.ovpn contents – copy above this line

The software I download the files with is called WinSCP. It allows you to transfer files via SSH. This is useful if you do not have an ftp or http server running.

Comments prior to 12/23/2012 for this post can be found here.

40 Responses to How to Create a VPN Server on Ubuntu 12.04

  1. Hi bro, when i tried to perform following commands, i got “permission denied”
    . ./easy-rsa/vars

    any solutions?

  2. how can i delete users ?
    someone told me to just delete from /etc/openvpn/easy-rsa/2.0/keys/index.txt , is that correct?
    Thanks in advance

  3. Pingback:OpenVPN and IPTV | Ubuntu InfoUbuntu Info

  4. Pingback:OpenVPN and IPTV | -

  5. Pingback:OpenVPN and IPTV | James n Sheri.comJames n