How To Make Your Own Vpn In Linux In 12 Steps (2024)

In the end though, it will be worth it, and you will end up with a secure and private VPN that you can dispose of any minute.Note: This process involves setting up your own server instance on DigitalOcean, which just like any other hosting service, will charge for bandwidth use.Quick navigation:

01 Get a Remote Server that Runs Ubuntu 02 Install OpenVPN 03 Configure the Certificate Authority Directory 04 Configure the Certificate Authority 05 Build the Certificate Authority 06 Creating the Server’s Encryption Files 07 Creating the Client’s Certificate 08 Configure OpenVPN 09 Adjusting Network Settings 10 Starting the OpenVPN Service 11 Client Configurations 11 Configure your VPN on Linux

Step 1: Get a Remote Server that Runs Ubuntu

This involves creating a server on the cloud.There are many hosting services that you can choose from, but the most user-friendly is DigitalOcean, and it’s also the most affordable.

Step 2: Install OpenVPN

Now that your server is up and running, we need to install OpenVPN on it. The first thing you need to do is log in to the server by providing your credentials through a command prompt.After that, execute the commands below. You can type or copy/paste them.You have now installed both OpenVPN and easy-rsa, a package that is necessary for step 3.

Step 3: Configure the Certificate Authority Directory

Trusted certificates are important as they ensure that the outgoing traffic is encrypted. Normally, these certificates come from the Certificate Authority (CA), but because we are running and managing our own server, we can set up a simple CA directory on our server.Execute the command below:Now, navigate to the folder we have just created by typing the following command:

Step 4: Configure the Certificate Authority

Now, we need to edit our CA. To open a text editor that displays the vars file, enter:Now, look for the following lines:Edit the quoted strings to reflect your details. Make sure you don’t leave any of them blank.After that, scroll down to find the KEY_NAME line. Edit it to match the one below:You can now save and close the file.

Step 5: Build the Certificate Authority

Now that we have the right information in place, we can go ahead and create the Certificate Authority. Ensure that you are still in the CA directory.Enter the command below:If the process executed correctly, you should see the following on your screen:Clear out the environment by entering the following:Now build the root CA:You should get a series of prompts as your server executes the instructions you’ve just provided. Just press enter at each of them till the process completes.

Step 6: Creating the Server’s Encryption Files

Now that we’ve created our Certificate Authority, we can start generating actual encryption keys. The first thing we need to do is create the OpenVPN server certificate along with its key pair:The server will suggest some values. Accept them all by typing “y”. Be sure to do the same when asked about certificate creation.Next we’ll create a few other miscellaneous files OpenVPN needs to operate. Use the following command:This can take some time, but wait until it’s done. After that, type the following command to create a signature for strengthening the verification process.

Step 7: Creating the Client’s Certificate

Here, we’ll create a certificate and key pair for connecting your Linux computer. Use the following commands:Use the suggested defaults by hitting enter at the prompts.

Step 8: Configure OpenVPN

Now that we have all the certificates and key pairs we need, we can finally start setting up OpenVPN.The first thing we need to do is move some of the files we just created to the “openvpn” folder:Now we’ll add a sample configuration file so we can open and edit it ourselves:After its unzipped, type the following to open the configuration file:With the server.conf file open in the nano editor, look for the line below:Uncomment the line by removing the semi-colon at the beginning.On the line directly below it, add the following:Now, scroll to find the section filled with ciphers (keys). Here, we need to choose the security strength we need. Select AES 128 bit by finding the line below and uncommenting it (removing the semi-colon).Just below that line, add the following:Next, uncomment the user and group settings. They are the lines below:

Push DNS Changes to Redirect All Traffic through the VPN

While the settings we have already created will tunnel your traffic, they won’t force any connections to use the tunnel. To force all your traffic to the VPN tunnel, you’ll need to push the DNS settings to the client computers.To do this, we need to uncomment the directives listed below. Find them and remove the semicolon.Just below that line, find the dhcp-option section. Again, uncomment the two linesThese settings will make the clients reconfigure their DNS settings to always use the VPN tunnel as the default gateway.

Adjust the Port and Protocol

Now, we need to change the port that OpenVPN will use. By default, it uses port 1194 and the UDP protocol. To make the VPN more inclusive, let’s use port 443 which is rarely restricted by firewalls. Search for the #Optional! line and change the port to 443.After that, change the protocol from UDP to TCPAfter that, save and close the file.

Step 9: Adjusting Network Settings

To ensure that OpenVPN routes traffic correctly, we need to do some edits.The first thing is to allow IP forwarding. This can be done by modifying the /etc/sysctl.conf file. Open it.Find the line below and remove the ‘#’ character to uncomment it.Save and close the file.Now, run this command to adjust the values.Now, we need to set up our server’s firewall so that it can properly manipulate traffic. Let’s start by finding the public network interface of our server machine.At some point, the output line produced will include the word “dev”. What follows after that should be your interface name. For example in the line below, w1p11s0 is the interface name.Now, we need to add the name above to its appropriate place by editing the rules file. Enter the command below:Look for the block of text that begins on the following phrase which has been commented out:Below it, you’ll see a line that starts with “-A POSTROUTING”. This is where you need to add the interface name. Replace the XXXX with it.Now save and close the file.After that, look for the line marked “DEFAULT_FORWARD_POLICY”. Change “DROP” to “ACCEPT”. After that, it should look like the following:Save and close the file.Lastly, adjust the firewall settings to allow traffic to OpenVPN. Use the commands below:To load the changes, disable and then re-enable the firewall.Your server is now set up to handle your VPN traffic. You are almost there!

Step 10: Starting the OpenVPN Service

Since you’ve already set up the basic configurations, you can now start OpenVPN to get your server going.To ensure that OpenVPN always starts every time your server boots, enter the following command:

Step 11: Client Configurations

We need to make the server ready to accept any devices that you’d like to connect. First, we need to create a directory to hold client related files, then change permissions to lock it down.Now we’ll copy an example configuration file and then edit it:Open the file in a text editor:Scroll to find the line that starts with the “remote” directive. Edit it to reflect port 443 which is the port we are using:Below that, change the line marked “proto” from UDP to TCPRemove the semicolons from the “user” and “group” lines to uncomment them:Locate the ca, cert, and key lines and comment them out by adding a hash at the beginning. They should look like this:Change the “cipher” and “auth” settings to match the ones we set above. They should look like this:Now, add a line anywhere in the file and type:Lastly, copy and paste the following commented out lines into the bottom of the file:Save your changes and exit the editor.The last thing we need to do is to create a script that will compile everything that we’ve made. Start by creating a file in the ~/client-configs directory called “make_config.sh”, then open it using nano. Paste the following code into the script:Save the file and exit. Now, make it executable with this command:

Step 12:Configure your VPN on Linux

To use the VPN you’ve just set up, install OpenVPN on your computer using the commands below:We now need to open and edit the configuration file we’ve just downloaded:Uncomment the following three lines:Save and close the file. You’ve now set up your Linux computer to connect to your VPN.To connect to your new VPN, execute the following command:You should now be connected to your VPN!

How To Make Your Own Vpn In Linux In 12 Steps (2024)

References

Top Articles
26 Incredible Dairy-Free Cheesecake Recipes. No Oven Necessary!
Batata Vada Recipe | Maharashtrian Style Aloo Vada
Spasa Parish
Rentals for rent in Maastricht
159R Bus Schedule Pdf
Sallisaw Bin Store
Black Adam Showtimes Near Maya Cinemas Delano
5daysON | Hoofddorp (70089000)
Www.myschedule.kp.org
Ascension St. Vincent's Lung Institute - Riverside
Understanding British Money: What's a Quid? A Shilling?
Xenia Canary Dragon Age Origins
Momokun Leaked Controversy - Champion Magazine - Online Magazine
‘An affront to the memories of British sailors’: the lies that sank Hollywood’s sub thriller U-571
Tyreek Hill admits some regrets but calls for officer who restrained him to be fired | CNN
Haverhill, MA Obituaries | Driscoll Funeral Home and Cremation Service
Ems Isd Skyward Family Access
Sauce 423405
Elektrische Arbeit W (Kilowattstunden kWh Strompreis Berechnen Berechnung)
Omni Id Portal Waconia
Kellifans.com
Banned in NYC: Airbnb One Year Later
Four-Legged Friday: Meet Tuscaloosa's Adoptable All-Stars Cub & Pickle
Model Center Jasmin
Ice Dodo Unblocked 76
Is Slatt Offensive
Labcorp Locations Near Me
Storm Prediction Center Convective Outlook
Experience the Convenience of Po Box 790010 St Louis Mo
Fungal Symbiote Terraria
modelo julia - PLAYBOARD
Abby's Caribbean Cafe
Joanna Gaines Reveals Who Bought the 'Fixer Upper' Lake House and Her Favorite Features of the Milestone Project
Tri-State Dog Racing Results
Trade Chart Dave Richard
Lincoln Financial Field Section 110
Free Stuff Craigslist Roanoke Va
Stellaris Resolution
Wi Dept Of Regulation & Licensing
Pick N Pull Near Me [Locator Map + Guide + FAQ]
Horseheads Schooltool
Crystal Westbrooks Nipple
Ice Hockey Dboard
Über 60 Prozent Rabatt auf E-Bikes: Aldi reduziert sämtliche Pedelecs stark im Preis - nur noch für kurze Zeit
Wie blocke ich einen Bot aus Boardman/USA - sellerforum.de
Craigslist Pets Inland Empire
Infinity Pool Showtimes Near Maya Cinemas Bakersfield
Hooda Math—Games, Features, and Benefits — Mashup Math
How To Use Price Chopper Points At Quiktrip
Maria Butina Bikini
Busted Newspaper Zapata Tx
Latest Posts
Article information

Author: Roderick King

Last Updated:

Views: 5432

Rating: 4 / 5 (71 voted)

Reviews: 94% of readers found this page helpful

Author information

Name: Roderick King

Birthday: 1997-10-09

Address: 3782 Madge Knoll, East Dudley, MA 63913

Phone: +2521695290067

Job: Customer Sales Coordinator

Hobby: Gunsmithing, Embroidery, Parkour, Kitesurfing, Rock climbing, Sand art, Beekeeping

Introduction: My name is Roderick King, I am a cute, splendid, excited, perfect, gentle, funny, vivacious person who loves writing and wants to share my knowledge and understanding with you.