How to Install and Configure OpenVPN on Windows 10


In this web log article we are going to discuss about How to Install and Configure OpenVPN on Windows 10. A VPN is short form of virtual private network, which gives us a privacy, anonymity and security system over populace internet. A VPN service masks our ISP IP so your on-line actions are about untraceable. A VPN can besides be used to connect computers to detached distant computer networks that is normally inaccessible, by using the Internet or another intercede network .
We can define OpenVPN as a full-featured SSL VPN. OpenVPN uses OSI layer 2 or 3 batten network propagation using the diligence standard SSL/TLS protocol. OpenVPN supports flexible client authentication methods based on certificates, ache cards and username/password credentials. OpenVPN is not a web application proxy and does not operate through a vane browser. OpenVPN server summons over a single TCP or UDP port. The default larboard count is 1194. OpenVPN 2.3 includes a large count of improvements, including broad IPv6 support and PolarSSL support .
OpenVPN is besides the identify of the open reservoir project started by our co-founder and which uses the GPL license. He developed the OpenVPN project that used to encrypt and secure point-to-point or site-to-site connection between two machines over the public Internet. In other bible using OpenVPN we can create a plug Private network over public Internet and will have Remote access to internal services of your IT infrastructure .

Use Cases of OpenVPN

secure Remote Access
Site-to-site, Users-to-Site or Users-to-Users connectivity to bring networks together
Protect screen sharing and distant desktop communications
Encrypt sensitive IoT communications
Secure Access to Cloud-Based Systems

OpenVPN available as Below.

  1. OpenVPN Community Edition, which is a free and open-source version
  2. OpenVPN Access Server (OpenVPN-AS), is based on the Community Edition, but provides additional paid and proprietary features like LDAP integration, Easy Management Admin Portal ,cluster option etc.
  3. OpenVPN-as-a-Service, solution eliminates the need for VPN server installation. By Purchasing OpenVPN Cloud we can simply connect to our hosted service with regions around the globe.

aside from OpenVPN Community Edition, the other two OpenVPN editions has economical license exemplar that is based lone on the number of coincident VPN connecting users or devices .
The OpenVPN Community Edition wholly exempt to use and there is no user limitations. OpenVPN community edition waiter can be installed on Linux or Windows Based systems .

OpenVPN for Windows

It can be installed from the self-installing exe file which is called OpenVPN GUI. OpenVPN GUI is a graphic fronted for OpenVPN running on Windows. It creates an icon in the presentment area from which you can control OpenVPN to start/stop your VPN tunnels, view the log and do other utilitarian things .

OpenVPN Connect client

It is the OpenVPN node software packages installing on node personal computer. This customer box used to connect to the OpenVPN server. OpenVPN Connect node supported on Windows, Linux, MacOS, IOS and Android .

Setting Up OpenVPN Server.

In this article will show you how to Setup up a OpenVPN Server ( Community Edition ) On Windows 10 to forward incoming traffic to the internet, then route the responses back to the client. This is a Users-to-Site Model.Which means settings up a OpenVPN Server to tunnel clients internet dealings through OpenVPN server. Those clients that successfully connected to the OpenVPN server will have their ISP IP Address will show as servers Public IP address.Commonly, a VPN burrow is used to privately access the internet, evading censoring or Geo placement by shielding your calculator ’ mho world wide web traffic when connecting through entrusted hotspots, or connections .

Section 1. Installing OpenVPN Server

Let ’ s receive Started. First thing is Download the latest window 64-bit MSI installer for OpenVPN Community edition from official OpenVPN Website, under community section .
The OpenVPN feasible should be installed on both server and customer machines, since the unmarried feasible provides both customer and server functions .
once Downloaded correct click the installer exe file and choose install option .
win10 openvpn1
The following screen will appear, click “ Customise ” to start the installation .
win10 openvpn2
Make sure to choose all features by clicking the icon future to each features and selecting the option “ Entire feature will be installed on local difficult drive ”. Below are the two features which will not be installed by default and we need to select during install .
Openssl utilities, EasyRSA 3 Certificate Management scripts
OpenVPN military service .
win10 openvpn3
win10 openvpn4
Click Install now button after selecting all features .
win10 openvpn5
The install will get completed and we will get below screen. Click Close. The default install placement will be C : \Program Files\OpenVPN
win10 openvpn6
We will get a warn message as ” No clear association profiles ( config files ) found. Its fine, cluck OK .
This Completes the OpenVPN MSI Package install. After the install, Under Windows 10 “ Network and Internet ” settings > > Under Ethernet > > Change adapter options > > We can see a newly network adapter named OpenVPN TAP device created .
win10 openvpn8
immediately we can manage the OpenVPN military service either from Windows Start Menu – > Control Panel – > administrative Tools – > Services section .
win10 openvpn9
As of OpenVPN version 2.5.0, While starting the OpenVPN wrap serve the OpenVPN will look for .ovpn configuration file under folder “ C : \Program Files\OpenVPN\config-auto ” to auto-start OpenVPN service when always our Windows 10 reboots .
Another option to start/stop OpenVPN overhaul is Click on Windows obscure telling area from job bar, there we can see the OpenVPN icon, right snap on it and you will see multiple options including Connect and Disconnect .
If you don ’ thymine see the OpenVPN icon in the Windows task barroom presentment sphere, double click the OpenVPN icon available in the desktop and that will make the OpenVPN icon available at the windows task bar notification area .
For better understand refer below screenshot .
win10 openvpn7
As I mentioned earlier As of OpenVPN version 2.5.0, when we start the OpenVPN service using the GUI component under windows task bar telling area, the OpenVPN will look for .ovpn configuration file under booklet “ C : \Program Files\OpenVPN\config ” .
This Concludes the OpenVPN Package install on Windows 10 for Server and for the Client personal computer. now lets move to the future section .

Section 2. Setup Master Certificate Authority (CA) and Generate Certificates and keys for OpenVPN Server and Clients.

OpenVPN uses public-key infrastructure ( PKI ) for certificate generation and Management. It is the engineering behind digital certificates. There for, PKI is the engineering that allows you to encrypt data, digitally sign documents, and authenticate yourself using certificates .
The PKI consists of :

  1. A separate certificate (also known as a public key) and private key for the server and each client, and
  2. A master Certificate Authority (CA) certificate and key which is used to sign each of the server and client certificates.

For PKI management, The latest interpretation of OpenVPN packages provided easy-rsa 3, a adjust of scripts which is bundled with OpenVPN MSI .
The easy-rsa3 scripts folder location should be “ C:\Program Files\OpenVPN\easy-rsa”.  besides the Easy-RSA 3 runs POSIX shell code, sol use on Windows has some extra
requirements such as an OpenSSL facility, and a available shell environment but Windows packages of EasyRSA 3.0.7+ include an OpenSSL binary and libraries that will be used by default option. so basically we don ’ t need to perform the OpenSSL install individually in our Windows Install .
additionally The Easy-RSA 3 Windows secrete includes a ready-to-use shell environment where we can run the commands that needed to issue SSL/TSL certificates. sol lets continue with the SSL/TLS certificate creation along with CA certificate using easy-rsa3 scripts .
foremost thing is go the folder “ C:\Program Files\OpenVPN\easy-rsa ” using Windows File internet explorer. Copy the file named “ vars.example ” to file named “ vars “ .
The “vars “ charge contains built-in Easy-RSA configuration settings. The default settings are finely unless if we need any custom changes. Few configurable options given in below table .

Variables Default Value Usage
set_var EASYRSA
C:\Program Files\OpenVPN\easy-rsa Defines the folder location of easy-rsa scripts
set_var EASYRSA_OPENSSL C:\Program Files\OpenVPN\bin\openssl.exe Defines the OpenSSL binary path
set_var EASYRSA_PKI C:\Program Files\OpenVPN\easy-rsa\pki The folder location of SSL/TLS file exists after creation
set_var EASYRSA_DN
This is used to adjust what elements are included in the Subject field as the DN
set_var EASYRSA_REQ_COUNTRY “US” Our Organisation Country
set_var EASYRSA_REQ_PROVINCE “California” Our Organisation Province
set_var EASYRSA_REQ_CITY “San Francisco” Our Organisation City
set_var EASYRSA_REQ_ORG “Copyleft Certificate Co” Our Organisation Name
set_var EASYRSA_REQ_EMAIL “” Our Organisation contact email
set_var EASYRSA_REQ_OU “My Organizational Unit” Our Organisation Unit name
Define the key pair size in bits
rsa The default crypt mode
3650 The CA key expire days
825 The Server certificate key expire days
“no” Support deprecated Netscape extension
Defines the x509 extension directory
Defines the openssl config file location
Defines the cryptographic digest to use

then if you need to edit above default values, un-comment correspond lines and make necessary changes. The “var”  besides have other configurable options but I merely mentioned few crucial variables. so in our case we are fine with the default values and the default values will be used during certificate genesis .
immediately Open the windows command prompt and go the directory “ C : \Program Files\OpenVPN\easy-rsa ”. After that Launch EasyRSA shell. For that topic below commands .

Copy to Clipboard

now we have entered the easy-rsa3 carapace prompt and from there we will be able to issue easy-rsa3 scripts. Attached a screenshot for reference point .
win10 openvpn10
now Initiate the Public Key Infrastructure PKI directory. For that return below dominate in the EasyRSA Shell .

Copy to Clipboard

Below the screenshot for reference book. From there we can see the PKI directory is set to “ C : \Program Files\OpenVPN\easy-rsa\pki ”
win10 openvpn11
now build the certificate authority ( CA ) winder using the command below. This CA root certificate file subsequently will be used to sign early certificates and keys. The choice “ nopass ” we used is to disable password locking the CA certificate .

Copy to Clipboard

The command will be asked to enter the common appoint. here I entered my VPN server Hostname which is OPENVPNSERVER, and it is a common exercise. here we are free to use any name or values. besides the created the CA certificate will be saved to folder “C:\Program Files\OpenVPN\easy-rsa\pki” with file diagnose as “ca.crt”. Refer below screenshot .
win10 openvpn12
now Build a server security and key using below command. here Replace with your own server name.  Also I used Option nopass for disabling password locking the key.

Copy to Clipboard

Attached a screenshot for your mention. The issued server certificate will be in the booklet “ C : \Program Files\OpenVPN\easy-rsa\pki\issued ” with charge name as SERVER.crt .
win10 openvpn13
After that we can verify the issued server security using below openssl command in the EasyRSA beat itself. The Status Ok indicate that the certificate is fine .

Copy to Clipboard

now Build a customer certificate and key using below command. From that Replace with your client name.  Also used Option nopass for disabling password locking the key.

Copy to Clipboard

Attached a screenshot for your reference. The publish client certificate will besides be saved to folder “C:\Program Files\OpenVPN\easy-rsa\pki\issued” with file name as “CLIENT.crt”.
win10 openvpn14
After that we can verify the issue node certificate using below openssl command. The Ok argue that the certificate is finely .

Copy to Clipboard

This Completed the CA certificate, Sever and Client Certificate Generation along with Key. These keys will be used to authenticate between OpenVPN server and with the Client .
now Generate a shared-secret key that is used in addition to the standard RSA certificate/key. The charge name is tls-auth.key.
Using this key we enable tls-auth directive Which adds an extra HMAC signature to all SSL/TLS handshake packets for integrity confirmation. Any UDP packet not bearing the decline HMAC signature can be dropped without far work .
Enabling the tls-auth will protect us from

  • DoS attacks or port flooding on the OpenVPN UDP port.
  • Port scanning to determine which server UDP ports are in a listening state.
  • Buffer overflow vulnerabilities in the SSL/TLS implementation.
  • SSL/TLS handshake initiations from unauthorised machines.

so first Download Easy-TLS using the GitHub connection hypertext transfer protocol : // It is an Easy-RSA extension utility that we are using to generate tls-auth samara .
Click the Download zip up choice which is available under code yellow journalism. Refer below screenshot .
win10 openvpn15
After that unzip the easy-tls-master booklet and copy the files named “easytls”and “easytls-openssl.cnf” file to “C:\Program Files\OpenVPN\easy-rsa” directory. Check below screenshot for reference .
win10 openvpn16
now go rear to the EasyRSA shell prompt and emergence below command. This will initialise the easy-tls handwriting utility .

Copy to Clipboard

now after that generate the tls-auth key using below command .

Copy to Clipboard

The command will generate the tls-auth key file named “tls-auth.key” under the booklet “C:\Program Files\OpenVPN\easy-rsa\pki\easytls”. Refer below screenshot .
win10 openvpn17
now we need to Generate Diffie Hellman parameters .
Diffie Hellman parameters must be generated for the OpenVPN waiter .
These parameters define how OpenSSL performs the Diffie-Hellman ( DH ) key-exchange. Diffie–Hellman key exchange is a method of securely exchanging cryptanalytic keys over a populace impart
Issue below command for generating Diffie Hellman parameters from the EasyRSA shell .

Copy to Clipboard

The dominate will create the DH charge under folder “C:\Program Files\OpenVPN\easy-rsa\pki” with file identify as “dh.pem”.   Refer below screenshot .
win10 openvpn18
This completes the generation of necessity SSL/TLS key files needed for OpenVPN service. We will be able to find the create files under below folders .

Folder Path Content
C:\Program Files\OpenVPN\easy-rsa\pki CA file, DH file and other OpenSSL related files like config file
C:\Program Files\OpenVPN\easy-rsa\pki\private Include the private key files of CA, Server and Client certificates
C:\Program Files\OpenVPN\easy-rsa\pki\easytls Contains the tls-auth key
C:\Program Files\OpenVPN\easy-rsa\pki\issued Contains issued Server and Client certificates

Refer below screenshot .
win10 openvpn19
besides below is the short-change explanation of the relevant files .

Filename Needed By Purpose Secret
ca.crt server + all clients Root CA certificate No
ca.key Server Only Root CA key YES
dh.pem server only Diffie Hellman parameters No
SERVER.crt server only Server Certificate No
SERVER.key server only Server Key Yes
CLIENT.crt Client only Client Certificate No
CLIENT.key client only Client Key Yes
tls-auth.key server + all clients Used for tls-auth directive No

immediately its the time to copy Certificate files ca.crt, CLIENT.crt, CLIENT.key and tls-auth.key from OpenVPN server to the OpenVPN client personal computer. Make certain to copy mysterious files over a secure channel like SFTP .
Okay, this completes the creation of SSL/TLS certificates for the OpenVPN service. now lets move to the adjacent department .

Section 3. Create configuration files for server

In this segment, we create the OpenVPN Server configuration file and Make Necessary changes in it .
first open Windows Explorer and go the folder “C:\Program Files\OpenVPN\sample-config” and copy file named “server.ovpn” to “C:\Program Files\OpenVPN\config” .
Refer Below Screenshot .
win10 openvpn21
now open the config file using any Text editor program and make changes to below values consequently .

ca “C:\\Program Files\\OpenVPN\\easy-rsa\\pki\\ca.crt”
cert “ C : \\Program Files\\OpenVPN\\easy-rsa\\pki\\issued\\SERVER.crt ”
key “ C : \\Program Files\\OpenVPN\\easy-rsa\\pki\\private\\SERVER.key ”
dh “ C : \\Program Files\\OpenVPN\\easy-rsa\\pki\\dh.pem ”
crusade “ redirect-gateway def1 bypass-dhcp ”
push “ dhcp-option DNS ”
push “ dhcp-option DNS ”
tls-auth “ C : \\Program Files\\OpenVPN\\easy-rsa\\pki\\easytls\\tls-auth.key ” 0
cipher AES-256-CBC

In that first four values defines the placement of ca, cert, key and Diffie hellman parameters certificate locations .
The Next three lines enforce the clients to redirect their all dealings through OpenVPN server once they successfully connected to OpenVPN waiter .
Using “ tls-auth ” argument, we enable HMAC firewall. Its an extra level of security used to prevent DDos attack .
The last one “ data-ciphers AES-256-CBC ” enables a cryptanalytic calculate .
Refer below screenshots and then you will get an theme about how these parameters looks in server.ovpn config file .
win10 openvpn20
win10 openvpn22
win10 openvpn23
This Completes the OpenVPN config file Setup. now open the UDP Port 1194 in the Windows firewall using below office beat command .

Copy to Clipboard

now start the OpenVPN server service by cluck on Windows Show shroud icons section > > correct snap the OpenVPN icon > > Choose Connect .
win10 openvpn24
The OpenVPN service will start mechanically and you will see a green coloring material inside OpenVPN icon. This means that our OpenVPN service is running .
win10 openvpn25
Another choice to confirm the run of OpenVPN service is, take windows cmd and list all network interfaces. We will see immediately the OpenVPN TUN/TAP interface is assigned with secret IP, which is the default option secret IP address range assigned to server and with clients as per the config settings .
win10 openvpn26

Section 4. Enable Internet Connection Sharing (ICS) in Windows 10

As I mentioned in the introduction section we are setting up our OpenVPN waiter, to route clients all IP dealings such as Web browse and DNS lookups through VPN Server itself. For that we need to share the public internet through OpenVPN server Public Interface that already have internet entree to OpenVPN TUN/TAP Network interface .

  • So lets see how this can be accomplished. For that first go to the windows services section and Right-click “Routing and Remote Access” service. Choose Properties and make the startup type as Automatic. After that start the service.
  • After that go to VPN Server “Network and Internet ” settings >> Under Ethernet >> Change adaptor options >>  Right click the Network Adaptor name which is having Public Internet access and choose properties.

win10 openvpn27

  • Choose Sharing tab and from there Tick the box “Allow other network users to connect through this computer’s Internet connection” option
  • From the drop-down list select “OpenVPN Tap-Windows6”, or whatever is the connection name of your TAP server connection.
  • Also if you needed you can tick the box next to ” Allow other network users to control or disable the shared internet connection” option
  • Click Ok and confirm the changes

win10 openvpn28

  • Now edit the below registry  key value. For that run the  “regedit” in Windows Run.
Key Value Type Data
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters IPEnableRouter REG_DWORD 0x00000001 (1)

Okay, this completes enable Internet Connection Sharing ( ICS ) in Windows 10. nowadays lets motivate to the next section. besides reconnect the OpenVPN connection again to take effect the changes .

Section 5. Setup OpenVPN Client.

In this section we beginning install the OpenVPN MSI installer on client personal computer like Windows 10. After that we will setup OpenVPN customer config files. ultimately start the the OpenVPN connection and trial it out .

Section 5 a. OpenVPN Client MSI Install

For OpenVPN MSI facility on Client personal computer, follow the lapp steps described on section 1. The OpenVPN Community Edition MSI Installer can be used on both Server side and with the node slope .
After the OpenVPN MSI initiation. receptive Windows Explorer and go the booklet “C:\Program Files\OpenVPN\sample-config” and transcript file named “client.ovpn” to “C:\Program Files\OpenVPN\config” .
win10 openvpn30
Move already downloaded ca.crt, CLIENT.crt, CLIENT.key and tls-auth.key to folder “C:\Program Files\OpenVPN\config” .
Refer below screenshot for better understand on file social organization .
win10 openvpn29

Section 5 b. Configure Client Config File.

Go to the folder “ C : \Program Files\OpenVPN\config ” and afford client.ovpn file using any text editor program and specify below parameters accordingly .

remote 1194
ca “ C : \\Program Files\\OpenVPN\\config\\ca.crt ”
cert “ C : \\Program Files\\OpenVPN\\config\\CLIENT.crt ”
key “ C : \\Program Files\\OpenVPN\\config\\CLIENT.key ”
remote-cert-tls server
tls-auth “ C : \\Program Files\\OpenVPN\\config\\tls-auth.key ” 1
zero AES-256-CBC

In that first value defines The hostname/IP and port of the OpenVPN server
The future three ca, cert, cardinal values defines the localization of CA and client certificate locations .
Using “ remote-cert-tls server ”, the OpenVPN client will verify the waiter certificate extendedKeyUsage .
Using “ tls-auth ” parameter, we enable HMAC firewall. Its an extra level of security used to prevent DDos attack .
The death one “ cipher AES-256-CBC ” enables a cryptanalytic cipher .
Below photograph shows how these parameters looks in the customer config charge .
win10 openvpn31
win10 openvpn32
win10 openvpn33
This Completes the Client Setup. now test the VPN Connection from customer side. Make surely to open UDP port 1194 in the customer side windows firewall besides .

Section 5 c. Testing the OpenVPN connection.

Under windows Hidden Notification sphere, right click on OpenVPN icon and Click Connect .
win10 openvpn34
The OpenVPN connection will establish automatically. After the successful connection, try to ping to the private IP of OpenVPN waiter and make sure its approachable. besides test the internet connection of your node personal computer .
win10 openvpn35
besides on a Successfully connected OpenVPN Client personal computer, if we lookup the what is my IP on web browser, we will see its our VPN Server IP. This means that all our world wide web traffic is routing through OpenVPN server.

win10 openvpn36


We have successfully completed the OpenVPN apparatus On Windows 10 and successfully connected from a Windows 10 OpenVPN customer personal computer. besides we have seen how to route all IP traffic from customer side through OpenVPN server. I hope this article is enlightening. Leave your thoughts at the comment box .

Share This Story, Choose Your Platform!

source :
Category : Tech

About admin

I am the owner of the website, my purpose is to bring all the most useful information to users.

Check Also


Manage participants in a zoom meeting webinar

Call the people who attend the meet as follows Alternate host host Who scheduled the …

Leave a Reply

Your email address will not be published.