Thursday, 24 May 2012
 Home arrow Articles arrow linux arrow A VPN for remote users with OpenVPN
   
Main Menu
Home
News
Blog
Links
Search
FAQs
Spider
Articles
@intrenet
Free Softwares
Break for fun
Friends VIdeos
Techno videos
Contact Us
Disclaimer
Guest Book
Speed test
V.E.C. Calculator
IPv4 Subnet Calc
IPv6 Subnet Calc
Byte Converter
Converter
GMT/UTC Time
Bandwidth Calc
Allinone Calc
IANA Port Numbers
Country Call Codes
Pk Postal Codes
Surf Anonumously
Visitors Counter
mod_vvisit_countermod_vvisit_countermod_vvisit_countermod_vvisit_countermod_vvisit_countermod_vvisit_countermod_vvisit_counter
mod_vvisit_counterToday190
mod_vvisit_counterYesterday302
mod_vvisit_counterThis week752
mod_vvisit_counterThis month5301
mod_vvisit_counterAll125977
 
 
 
 


A VPN for remote users with OpenVPN PDF Print E-mail
User Rating: / 0
PoorBest 
Written by Amanatullah khalil   
Monday, 15 June 2009

A VPN for remote users with OpenVPN

 

This article quickly explains how to set up a VPN for your remote users based on OpenVPN in around 5 minutes.
If you want detailed informations about OpenVPN, certificates or other stuff, this is not the right place.

This applies to Debian Etch but will work will little difference in paths under Red Hat.

On the server

Install OpenVPN and the dependencies :
# apt-get install openvpn

Copy the scripts that will help us generate all the necessary files (certificates, keys, etc.) :

Under Debian :
# cp -aR /usr/share/doc/openvpn/examples/easy-rsa/2.0 /etc/openvpn/pki

Under RedHat :
# cp -aR /usr/share/doc/openvpn-2.0.9/easy-rsa/2.0 /etc/openvpn/pki

Let’s start :
# cd /etc/openvpn/pki

Edit the variables :
# vim vars

export KEY_COUNTRY=US
export KEY_PROVINCE=SC
export KEY_CITY=GREENVILLE
export KEY_ORG=”Green Company, LLC”
export KEY_EMAIL=” This e-mail address is being protected from spam bots, you need JavaScript enabled to view it

Set the scripts executable :
# chmod +x *

Source the variables :
# . ./vars

Set up the keys environment :
# ./clean-all

Build the certificate authority (CA) :
# ./build-ca

Build the certificate and private key for the server :
# ./build-key-server server

It’s not necessary to set a password.

Then, build the Diffie Hellman file :
# ./build-dh

Build the client certificate for your first user :
# ./build-key-pass client1

You’ll be asked questions about the client.

Now under /etc/openvpn/pki/keys you must find a bunch of files.

Copy the files necessary for the server on the server under /etc/openvpn :
ca.crt
server.crt
server.key
dh1024.pem

Do so with a single command :
# cp /etc/openvpn/pki/keys/{server.crt,server.key,dh1024.pem,ca.crt} /etc/openvpn

Send the following files to the client, store them wherever pleases you :
ca.crt
client1.crt
client1.key

Send the following configuration to the user “client1″ (vpn.conf which would reside in the same directory as the certificates and key) :

remote vpn.example.org
port 10000
proto udp
dev tun

comp-lzo

client

resolv-retry infinite
nobind
persist-key
persist-tun
ns-cert-type server

verb 3

ca ./ca.crt
cert ./client1.crt
key ./client1.key

route 172.30.0.0 255.255.0.0

#up ./up.sh
#down ./down.sh

ping 10
ping-restart 60

The up and down scripts are respectively executed when the connection is opened and closed.
You can for example change the name server the client will use when connected to the VPN using those scripts (or opening ports in the firewall, etc.).

Server (/etc/openvpn/vpn.conf on the server) :

port    10000
proto udp
dev-type tun
dev vpn-user

ca ca.crt
cert server.crt
key server.key
dh dh1024.pem

# enable compression
comp-lzo

# allow several users to connect with the same certificate
duplicate-cn

server 10.30.0.0 255.255.255.0
client-to-client

keepalive 10 120

push "dhcp-option DOMAIN local.example.org"
push "dhcp-option DNS 172.30.0.254"

persist-key
persist-tun

user nobody
group nogroup

log vpn.log
verb 1

The server will “push” the DNS settings to the client, this will modify your /etc/
resolv.conf so you will use the DNS server and hostname resolution of your office (or whatever place you are connecting to) when connected to the VPN.

On the server, make sure openvpn starts at boot by uncommenting the following line under /etc/default/openvpn (Debian) :
AUTOSTART="all"

When done, restart OpenVPN on the server :
# /etc/init.d/openvpn restart

Now, connect from the client (as root, or use sudo) from a remote network :
# openvpn --config vpn.conf

The client will get an IP in the range 10.30.0.x on the device tun0, it will add a route to the range 172.30.0.0/16 through the VPN (172.30.x.x in this example is supposed to be the network subnet on the server side).

Thanks to writer orignal link http://www.wains.be/index.php/2008/07/15/a-vpn-for-remote-users-with-openvpn/

 
< Prev   Next >
 
 
 
csatpk Newsflash
Statistics
OS: Linux h
PHP: 5.2.17
MySQL: 5.1.63-community-log
Time: 03:10
Caching: Disabled
GZIP: Disabled
Members: 3
News: 368
Web Links: 5
Visitors: 266584
Popular