- Install Open VPN RPM.
Dependencies
- openssl
- lzo
- pkcs11-helper
Download openvpn-<version>.rpm , And install using this command rpm -ivh openvpn-<version>.rpm
- It will create folder under /etc/openvpn and /usr/share/doc/openvpn-2.1.1
cp -r /usr/share/doc/openvpn-<version>/easy-rsa /etc/openvpn
cp -r /usr/share/doc/openvpn-<version>/sample-config-files/server.conf /etc/openvpn
we have to copy the “easy-rsa” folder and “server.conf” file from /user/share/doc/openvpn-<version>… to…. /etc/openvpn - Then go to /etc/openvpn
cd /etc/openvpn - Then go to easy-rsa/2.0
cd easy-rsa/2.0 - Edit “vars” file modify values in last 5 lines.
export KEY_COUNTRY="YOURCOUNTRY"
export KEY_PROVINCE="YOURSTATE"
export KEY_CITY="YOURCITY"
export KEY_ORG="YOURORG"
export KEY_EMAIL="exuser@host.yourdomain.com" - Run the “vars” file
. ./vars (note there is two dots) - To clear old keys run the “clear-all” file. If the folder does not exist it will create the folder.
./clear-all (here one dot is enough) - Then run “bulid-ca” and “bulid-dh” files.
./bulid-ca
(While running this command just enter for all options. But you have to answer for common_name option Give the Server’s Host Name or Any Name).
./build-dh
It will generate “ca.crt”, “ca.key” and “dh1024.pem” files under “keys” folder. - Then run “bulid-key-server” to generate server key.
./build-key-server <“Server-Name”>
While running the above command it will prompt you to get input just give enter for every prompt.
It will generate “Server-Name.crt” , “Server-Name.csr” and “Server-Name.key” under “keys” folder. - Then go to /etc/openvpn folder
cd /etc/openvpn - Now we have to edit the “server.conf” file.
vi server.conf
#This is sample configuration file- local 192.168.1.101
- port 1194
- proto udp
- dev tun
- ca ca.crt
- cert host.yourdomain.com.crt
- key host.yourdomain.com.key # This file should be kept secret
- dh dh1024.pem
- server 192.168.11.0 255.255.255.248
- ifconfig-pool-persist ipp.txt
- push "route 172.23.0.0 255.255.0.0" # YOURORG LOCAL Network
- client-config-dir ccd
- route 192.168.12.0 255.255.255.0 # For Individual Clients
- client-to-client
- keepalive 10 120
- comp-lzo
- user nobody
- group nobody
- persist-key
- persist-tun
- status openvpn-status.log
- log-append openvpn.log
- verb 3
- Line 1 : local 192.168.1.101
Which IP address “openvpn” has to look in the system. - Line 2 : port 1194
Which Port number “openvpn” has to run in the system. - Line 3 : proto udp
Which Protocol “openvpn” has to use.
(tcp/udp) udp is best. - Line 4 : dev tun
Which device it has to use to assign “Virtual IP”
(tap/tun) tun is best. - Line 5 : ca ca.crt
- Line 6 : cert <Server-Name>.crt
- Line 7 : key <Server-Name>.key # This file should be kept secret
- Line 8 : dh dh1024.pem
For Line number 5 to 8 we have to say the path of the files. So we have to copy the “ca.crt “ , “<Server-Name>.crt” ,”<Server-Name>.key” and “dh1024.pem” in the same folder is good. Otherwise we can give the path where these files present. - Line 9 : server 192.168.11.0 255.255.255.248
This line is to assign IP address for the server. Here I have planed to assign 192.168.11.1 – 192.168.11.2 to server and different IP ranges for clients. - Line 10 : ifconfig-pool-persist ipp.txt
This line contains the IP pool list of clients. But here we are going to use static IP for each clients. So It is not necessary for us. - Line 11 : push "route 172.23.0.0 255.255.0.0"
These Line : 11 for routing the local network to clients. Then only clients can access these networks. It will take effect on all VPN-CLIENTS. - Line 12: client-config-dir ccd
These line is for We can customize the client configuration. So we have to create a directory named “ccd” under “/etc/openvpn” and inside the “ccd” directory we have to create client customized file. - Line 13 : route 192.168.12.0 255.255.255.0 for Individual vpn network.
- Line 14 : client-to-client
This is for clients can access the each other clients. - Line 15 : keepalive 10 120
To refresh the connection - Line 16 : comp-lzo
- Line 17 : user nobody
- Line 18 : group nobody
These above two lines only useful for Linux server. - Line 19 : persist-key
- Line 20 : persist-tun
- Line 21 : status openvpn-status.log
It is to view the current status of the connection. - Line 22 : log-append openvpn.log
It is to append the status of the server in a log file. - Line 23 : verb 3
It is for verbose level.
- Now we are going to start the VPN Server. Before that we have to verify that we have copied every thing in the current folder “/etc/openvpn”.
- File 1. ca.crt
- File 2. dh1024.pem
- File 3. <Server-Name>.crt
- File 4. <Server-Name>.csr
- File 5. <Server-Name>.key
Start the service using the command service openvpn start command.
For Auto start the service when booting the machine type the command chkconfig openvpn on
For Auto start the service when booting the machine type the command chkconfig openvpn on
No comments:
Post a Comment