computer security info  Blog's Page

Back To Blog

How To Set Up Your Own VPN Server?


  Category:  INFO | 4th August 2023 | Author:  CSI TEAM

computer security info

Setting Up Your Own Virtual Private Network (VPN) Server Can Be A Valuable Solution For Enhancing Security And Privacy While Accessing The Internet. By Creating Your VPN Server, You Gain Full Control Over Your Data And Browsing Activities. This Article Will Guide You Through The Steps Required To Set Up Your Private VPN Server, Empowering You To Safeguard Your Online Presence.

Step 1: Choose The Right Operating System

The First Step Is To Choose A Suitable Operating System To Host Your VPN Server. Linux-based Systems Are Commonly Preferred Due To Their Security And Flexibility. Popular Choices Include Ubuntu, Debian, And CentOS. If You're More Comfortable With Windows, You Can Also Use Windows Server To Set Up Your VPN.

Step 2: Select The VPN Protocol

Next, Decide On The VPN Protocol You Want To Use. The Two Most Common Options Are OpenVPN And WireGuard. OpenVPN Is Renowned For Its Robust Security And Cross-platform Compatibility, While WireGuard Is Known For Its Simplicity And Faster Connection Speeds. Both Are Excellent Choices, But For This Guide, We Will Use OpenVPN.

Step 3: Set Up The Server

Once You Have Chosen Your Preferred Operating System, You Need To Set Up The Server. For Linux-based Systems, Use The Terminal To Install OpenVPN:

sql

sudo Apt Update

sudo Apt Install Openvpn

For Windows Server, You Can Install OpenVPN By Downloading The Installer From The Official OpenVPN Website And Following The On-screen Instructions.

Step 4: Obtain SSL/TLS Certificates

To Secure Your VPN Connection, You Will Need SSL/TLS Certificates. The Easiest Way To Get Them Is By Using The Easy-rsa Tool, Which Is Included With OpenVPN:

bash

make-cadir ~/openvpn-ca

cd ~/openvpn-ca

Edit The 'vars' File To Configure Your Certificate Settings:

python

nano Vars

Then Generate The Certificates:

source Vars

./clean-all

./build-ca

./build-key-server Server

./build-dh

Step 5: Configure OpenVPN

Next, You'll Need To Configure OpenVPN To Use The Certificates You Generated. Create A New Server Configuration File:

bash

nano /etc/openvpn/server.conf

Add The Following Content To The File:

vbnet

port 1194

proto Udp

dev Tun

ca Ca.crt

cert Server.crt

key Server.key

dh Dh2048.pem

server 10.8.0.0 255.255.255.0

ifconfig-pool-persist Ipp.txt

push "redirect-gateway Def1 Bypass-dhcp"

push "dhcp-option DNS 8.8.8.8"

push "dhcp-option DNS 8.8.4.4"

keepalive 10 120

tls-auth Ta.key 0

key-direction 0

cipher AES-256-CBC

auth SHA256

comp-lzo

user Nobody

group Nogroup

persist-key

persist-tun

status Openvpn-status.log

verb 3

Step 6: Enable IP Forwarding And Firewall

To Ensure Your VPN Server Can Forward Internet Traffic, Enable IP Forwarding:

sudo Sysctl -w Net.ipv4.ip_forward=1

Additionally, Set Up Firewall Rules To Allow VPN Traffic:

sudo Iptables -A INPUT -i Eth0 -m State --state NEW,ESTABLISHED -p Udp --dport 1194 -j ACCEPT

sudo Iptables -A INPUT -i Tun0 -j ACCEPT

sudo Iptables -A FORWARD -i Tun0 -o Eth0 -s 10.8.0.0/24 -j ACCEPT

sudo Iptables -A FORWARD -m State --state ESTABLISHED,RELATED -j ACCEPT

sudo Iptables -t Nat -A POSTROUTING -o Eth0 -j MASQUERADE

sudo Iptables -A OUTPUT -o Tun0 -j ACCEPT

Step 7: Start The VPN Server

Start The OpenVPN Service And Set It To Start On Boot:

sql

sudo Systemctl Start Openvpn@server

sudo Systemctl Enable Openvpn@server

Step 8: Generate Client Certificates

To Connect To Your VPN, You Need Client Certificates. Create A Client Certificate By Running The Following Commands On Your Local Machine:

bash

cd ~/openvpn-ca

source Vars

./build-key Client1

Step 9: Transfer Client Certificates

Transfer The Client Certificate Files (client1.crt, Client1.key, Ca.crt) From Your Server To Your Local Machine Using A Secure Method Like SCP.

Step 10: Connect To Your VPN

Install The OpenVPN Client On Your Local Device And Import The Client Certificate Files. Connect To Your VPN Server Using The OpenVPN Client, And You Should Now Have A Secure And Private VPN Connection To Your Own Server.

Conclusion:

Setting Up Your Own VPN Server Empowers You To Take Control Of Your Online Security And Privacy. By Following The Steps Outlined In This Guide, You Can Establish A Secure Connection To Your VPN, Ensuring That Your Data Remains Encrypted And Protected From Potential Threats While Accessing The Internet. Enjoy The Freedom And Peace Of Mind That Comes With Having Your VPN Server.

Set Up Your Own VPN Server, VPN Server Definition, VPN Server Information