help installing openvpn

This forum is for all inquiries relating to the installation of OpenVPN from source and with binaries.

Moderators: TinCanTech, TinCanTech, TinCanTech, TinCanTech, TinCanTech, TinCanTech

Forum rules
Please visit (and READ) the OpenVPN HowTo http://openvpn.net/howto prior to asking any questions in here!
Post Reply
shinjikenny
OpenVPN User
Posts: 25
Joined: Fri Jul 29, 2011 5:32 am

help installing openvpn

Post by shinjikenny » Fri Jul 29, 2011 7:33 am

i'm new to linux and I want to learn how to install openvpn on an openvz vps.
i'm following this instruction:
I have searched this forum and i don't find any OPENVPN tutorial, so i'll write tutorial how to make OPENVPN running on CentOS, hope it will be useful.

Here i'm using OpenVZ VPS with CentOS 5.5 32bit, and about the memory requirement? Don't worry, OPENVPN doesn't eat your memory too much, i have 50 user running in my 128MB vps and it only eats 25MB memory :D

First thing you have to do is check whether tun/tap is active or not by typing
#cat /dev/net/tun

Code: Select all

cat: /dev/net/tun: File descriptor in bad state
take a look at the status above, "File descriptor in bad state" means tun/tap is active, otherwise please ask your provider to activate it

Install required modules
#yum install gcc make rpm-build autoconf.noarch zlib-devel pam-devel openssl-devel

Download OPENVPN repo
#wget http://openvpn.net/release/lzo-1.08-4.rf.src.rpm

for 32bit
#wget http://packages.sw.be/rpmforge-release/rpmforge-release-0.5.2-2.el5.rf.i386.rpm

for 64bit
#wget http://packages.sw.be/rpmforge-release/rpmforge-release-0.5.2-2.el5.rf.x86_64.rpm

Build the rpm packages
#rpmbuild --rebuild lzo-1.08-4.rf.src.rpm
#rpm -Uvh /usr/src/redhat/RPMS/i386/lzo-*.rpm
#rpm -Uvh rpmforge-release-0.5.2-2.el5.rf.i386.rpm


*remember to change i386 to x86_64 if you're using 64bit

Install OPENVPN
#yum install openvpn

Copy OPENVPN easy-rsa folder to /etc/openvpn/
#cp -R /usr/share/doc/openvpn-2.1.4/easy-rsa/ /etc/openvpn/

Now let's create the certificate
#cd /etc/openvpn/easy-rsa/2.0
#chmod 755 *
#source ./vars
#./vars
#./clean-all


Build CA
#./build-ca

Code: Select all

[B]Country Name:[/B] may be filled or press enter
[B]State or Province Name:[/B] may be filled or press enter
[B]City:[/B] may be filled or press enter
[B]Org Name:[/B] may be filled or press enter
[B]Org Unit Name:[/B] may be filled or press enter
[B]Common Name:[/B] your server hostname
[B]Email Address:[/B] may be filled or press enter
Build key server
#./build-key-server server

Code: Select all

Almost the same with ./build.ca but check the changes and additional
[B]Common Name:[/B] [COLOR="Red"]server[/COLOR]
[B]A challenge password:[/B] leave
[B]Optional company name:[/B] fill or enter
[B]sign the certificate:[/B] y
[B]1 out of 1 certificate requests:[/B] y

Build Diffie Hellman (wait a moment until the process finish)
#./build-dh

Now i'm gonna create UDP port 1194 configuration for OPENVPN, use any text editor you like
#nano /etc/openvpn/1194.conf

Code: Select all

local 123.123.123.123 #- your_server_ip
port 1194 #- port
proto udp #- protocol
dev tun
tun-mtu 1500
tun-mtu-extra 32
mssfix 1450
ca /etc/openvpn/easy-rsa/2.0/keys/ca.crt
cert /etc/openvpn/easy-rsa/2.0/keys/server.crt
key /etc/openvpn/easy-rsa/2.0/keys/server.key
dh /etc/openvpn/easy-rsa/2.0/keys/dh1024.pem
[COLOR="Red"]plugin /usr/share/openvpn/plugin/lib/openvpn-auth-pam.so /etc/pam.d/login[/COLOR]
client-cert-not-required
username-as-common-name
server 1.2.3.0 255.255.255.0
push "redirect-gateway def1"
push "dhcp-option DNS 208.67.222.222"
push "dhcp-option DNS 4.2.2.1"
keepalive 5 30
comp-lzo
persist-key
persist-tun
status 1194.log
verb 3
before you save the configuration, make sure that the "plugin /usr/share/.. /pam.d/login" is one line

Start the OPENVPN with 1194.conf
#openvpn /etc/openvpn/1194.conf &

here's the status if OPENVPN successfully started

Code: Select all

Mon Feb 21 02:23:20 2011 UDPv4 link remote: [undef]
Mon Feb 21 02:23:20 2011 MULTI: multi_init called, r=256 v=256
Mon Feb 21 02:23:20 2011 IFCONFIG POOL: base=1.2.3.4 size=62
Mon Feb 21 02:23:20 2011 Initialization Sequence Completed
Make OPENVPN 1194.conf running in background
#bg

Enable ipv4 forward
#echo 1 > /proc/sys/net/ipv4/ip_forward

Route iptables
#iptables -t nat -A POSTROUTING -s 1.2.3.0/24 -j SNAT --to 123.123.123.123

*1.2.3.0 is allocated ip for OPENVPN client
*123.123.123.123 is your server ip


Now we create username and password for authorization
#useradd username -s /bin/false
#passwd username


Download ca.crt file in /etc/openvpn/easy-rsa/2.0/keys/ directory, you can use sftp client

Download and install OPENVPN client for windows, download the latest stable release OPENVPN version 2.1.4 from here

After you finished installing OPENVPN, move ca.crt (file that you previously downloaded from /etc/openvpn/easy-rsa/2.0/keys/) to OPENVPN config folder in your program files (\Program Files\OpenVPN\config\)

Also create client configuration file in OPENVPN config directory, here's the example:

Code: Select all

client
dev tun
proto udp #- protocol
remote 123.123.123.123 1194 #- SERVER IP and OPENVPN Port
resolv-retry infinite
nobind
tun-mtu 1500
tun-mtu-extra 32
mssfix 1450
persist-key
persist-tun
ca ca.crt
auth-user-pass
comp-lzo
verb 3
save with anyname.ovpn or 1194.ovpn

http://i56.tinypic.com/aktvet.jpg

Run OPENVPN Client on your Windows, connect with your username and password.

http://i55.tinypic.com/2vwz9di.jpg
http://i53.tinypic.com/2883y0y.jpg

Check your IP Address in browser and Voila!!! You're IP is now changed to your server IP

note:
- Never fails make OPENVPN on CentOS with this tutorial
- Those configurations above are basic configuration, you can check OPENVPN website for another configuration
- If you're using Win 7, before installing OPENVPN client, right click on the installer, properties, run as administrator and change compatibility to Windows XP SP3
- If you wanna add another port, maybe TCP so you can run OPENVPN over proxy, just create new configuration for server, adjust the following lines:

Code: Select all

[B]port:[/B] your preferred port
[B]protocol:[/B] tcp or udp
[B]client's ip:[/B] 1.2.4.0 or 1.2.5.0 ; 1.2.6.0 ; and so on
also new configuration for client

Code: Select all

[B]proto xxxx[/B] #- change xxxx to tcp or udp
[B]remote 123.123.123.123 yyyy[/B] #- change yyyy to OPENVPN port
and then run the command
#iptables -t nat -A POSTROUTING -s 1.2.4.0/24 -j SNAT --to 123.123.123.123

Ref: Uncle G

My question is:
is this the command that is used to download and install openvpn?

Code: Select all

yum install openvpn
i don't see from there the http:// link to the openvpn installer. so how did it know where openvpn can be downloaded? And how do i change it if i want to use other older version?

User avatar
Bebop
Forum Team
Posts: 301
Joined: Wed Dec 15, 2010 9:24 pm

Re: help installing openvpn

Post by Bebop » Fri Jul 29, 2011 7:51 am

Debian is the easiest to install OpenVPN out of the box.

But since you have Centos already, there's just a couple of extra steps.

First: Install Epel repository OR Install Dag repository.

After you install one of those, "yum install openvpn" will work for you.

After this, type:

Code: Select all

cd /etc/openvpn
and you will be in the OpenVPN installation directory.

Also

Code: Select all

service openvpn stop
service openvpn start
Should give you some kind of output. Probably an error message if you have not edited the conf files yet.

old version.. sorry not sure how to downgrade. I think if you want old version, better uninstall new version, then install old version manually (rpm files).
The cure for boredom is curiosity

Post Reply