Setup OpenVPN Centos 6.3

  • 25 Mar, 2013

I found a lot of documentation and this is my setup

install the necessary packages

#yum install gcc rpm-build autoconf.noarch zlib-devel pam-devel lzo lzo-devel openssl-devel automake imake pkgconfig gcc-c++ libcrypto.so.6

install openvpn

#yum install openvpn

Copy the files

#cp -r /usr/share/doc/openvpn-2.1.3/easy-rsa/ /etc/openvpn/

Create the certificate.
You’ll be asked to fill the field data, you can empty that with click enter repeatedly, but the one
you have to fill is the “Common Name� field.

#cd /etc/openvpn/easy-rsa/2.0
#source ./vars
#./vars
#./clean-all

Build Key Server

#./build-key-server server

Build Diffie Hellman

#./build-dh

Create the server.conf on the directory /etc/openvpn

This is a sample:

local 123.123.123.123 #- change it with your server ip address
port 1234 #- change the port you want
proto tcp #- protocol can be tcp or udp
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
plugin /usr/share/openvpn/plugin/lib/openvpn-auth-pam.so /etc/pam.d/login
client-cert-not-required
username-as-common-name
server 10.8.0.0 255.255.255.0
ifconfig-pool-persist ipp.txt
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 server-tcp.log
verb 3

Start OpenVPN

#service openvpn start

Generate certificates for the users

./build-key client1 (Ex: ./build-key MyUserName)

Download and setup the OpenVPNClient

Create the myclient.openvpn file

# OpenVPN(v2.0) configuration script

client
proto udp
resolv-retry 20
keepalive 10 120
nobind
mute-replay-warnings
ns-cert-type server
comp-lzo
verb 2
persist-key
persist-tun
verb 1
tls-exit
dev tun0
cert /MyUserName.crt  # this file and the .key file must be copied from the server when you generate the User.
key MyUserName.key
ca ca.crt
remote x.y.z.w 1194 #ip address of the server

Routing all client traffic through the VPN

iptables -t nat -A POSTROUTING -s 10.8.0.0/24 -o eth2 -j MASQUERADE
iptables -I INPUT -i tun0 -j ACCEPT
iptables -I FORWARD -i tun0 -j ACCEPT
echo 1 > /proc/sys/net/ipv4/ip_forward

Saving iptables configuration

#/etc/init.d/iptables save

Start the VPNServer

#service openvpn start

Reference

http://www.zoobey.com/index.php/resources/all-articles-list/619-installing-openvpn-on-centos-5-and-centos-6

Related Posts

Error when run dnf install rpm-build

  • 31 Mar, 2025

I was installing the IBM MQ Server on a linux box yesterday. I got the error bellow: \root@gateway MQServer\ dnf install rpm-build
Updating Subscription Management repositories.
Instana 14 B/s |

Error when run dnf install rpm-buildRead More

How to Install watch on macOS Sequoia

  • 06 Feb, 2025

The watch command is a useful utility in Unix-like systems that allows you to execute a command periodically and display its output. However, macOS does not come with watch pre-installed. If you're ru

How to Install watch on macOS SequoiaRead More

rsync is faster than scp to copy files between machines

  • 31 Dec, 2024

rsync is generally faster than scp for copying files, especially when transferring a large amount of data or syncing directories. Here's why: 1. Incremental Transfers - rsync: Only transfers the p

rsync is faster than scp to copy files between machinesRead More