{"id":35536,"date":"2021-03-10T11:30:00","date_gmt":"2021-03-10T17:30:00","guid":{"rendered":"https:\/\/www.rosehosting.com\/blog\/?p=35536"},"modified":"2022-06-03T03:32:12","modified_gmt":"2022-06-03T08:32:12","slug":"how-to-set-up-an-openvpn-server-on-debian-10","status":"publish","type":"post","link":"https:\/\/www.rosehosting.com\/blog\/how-to-set-up-an-openvpn-server-on-debian-10\/","title":{"rendered":"How To Set Up an OpenVPN Server on Debian 10"},"content":{"rendered":"<div id=\"bsf_rt_marker\"><\/div>\r\n<figure class=\"wp-block-image size-large\"><img decoding=\"async\" width=\"742\" height=\"372\" class=\"wp-image-35882\" src=\"https:\/\/www.rosehosting.com\/blog\/wp-content\/uploads\/2021\/03\/how-to-set-up-an-openvpn-server-on-debian-10.jpg\" alt=\"\" srcset=\"https:\/\/www.rosehosting.com\/blog\/wp-content\/uploads\/2021\/03\/how-to-set-up-an-openvpn-server-on-debian-10.jpg 742w, https:\/\/www.rosehosting.com\/blog\/wp-content\/uploads\/2021\/03\/how-to-set-up-an-openvpn-server-on-debian-10-300x150.jpg 300w, https:\/\/www.rosehosting.com\/blog\/wp-content\/uploads\/2021\/03\/how-to-set-up-an-openvpn-server-on-debian-10-150x75.jpg 150w\" sizes=\"(max-width: 742px) 100vw, 742px\" \/><\/figure>\r\n\r\n\r\n\r\n<div class=\"wp-block-image\">\r\n<figure class=\"alignright size-large\"><img decoding=\"async\" width=\"150\" height=\"150\" class=\"wp-image-35764\" title=\"Installing PHP 8 on Ubuntu 20.04\" src=\"https:\/\/www.rosehosting.com\/blog\/wp-content\/uploads\/2021\/02\/how-to-set-up-an-openvpn-server-on-debian-10.png\" alt=\"how to set up an openvpn server on debian 10\" \/><\/figure>\r\n<\/div>\r\n\r\n\r\n\r\n<p>A virtual private network (VPN) is a secure and encrypted connection between two networks and individual users that protects your internet connection and privacy online. OpenVPN is a free and open-source VPN protocol that implements techniques to create secure point-to-point in routed configurations. It is cross-platform and compatible with all major operating systems.<\/p>\r\n\r\n\r\n\r\n<p><!--more--><\/p>\r\n\r\n\r\n\r\n<p>In this tutorial, we will show you how to install and setup the OpenVPN on <a href=\"https:\/\/www.rosehosting.com\/debian-hosting\/\">Debian 10 server<\/a>.<\/p>\r\n\r\n\r\n\r\n<div id=\"ez-toc-container\" class=\"ez-toc-v2_0_82_2 counter-hierarchy ez-toc-counter ez-toc-transparent ez-toc-container-direction\">\n<p class=\"ez-toc-title\" style=\"cursor:inherit\">Table of Contents<\/p>\n<label for=\"ez-toc-cssicon-toggle-item-69ee19d4d41af\" class=\"ez-toc-cssicon-toggle-label\"><span class=\"ez-toc-cssicon\"><span class=\"eztoc-hide\" style=\"display:none;\">Toggle<\/span><span class=\"ez-toc-icon-toggle-span\"><svg style=\"fill: #999;color:#999\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" class=\"list-377408\" width=\"20px\" height=\"20px\" viewBox=\"0 0 24 24\" fill=\"none\"><path d=\"M6 6H4v2h2V6zm14 0H8v2h12V6zM4 11h2v2H4v-2zm16 0H8v2h12v-2zM4 16h2v2H4v-2zm16 0H8v2h12v-2z\" fill=\"currentColor\"><\/path><\/svg><svg style=\"fill: #999;color:#999\" class=\"arrow-unsorted-368013\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"10px\" height=\"10px\" viewBox=\"0 0 24 24\" version=\"1.2\" baseProfile=\"tiny\"><path d=\"M18.2 9.3l-6.2-6.3-6.2 6.3c-.2.2-.3.4-.3.7s.1.5.3.7c.2.2.4.3.7.3h11c.3 0 .5-.1.7-.3.2-.2.3-.5.3-.7s-.1-.5-.3-.7zM5.8 14.7l6.2 6.3 6.2-6.3c.2-.2.3-.5.3-.7s-.1-.5-.3-.7c-.2-.2-.4-.3-.7-.3h-11c-.3 0-.5.1-.7.3-.2.2-.3.5-.3.7s.1.5.3.7z\"\/><\/svg><\/span><\/span><\/label><input type=\"checkbox\"  id=\"ez-toc-cssicon-toggle-item-69ee19d4d41af\"  aria-label=\"Toggle\" \/><nav><ul class='ez-toc-list ez-toc-list-level-1 ' ><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-1\" href=\"https:\/\/www.rosehosting.com\/blog\/how-to-set-up-an-openvpn-server-on-debian-10\/#Prerequisites\" >Prerequisites<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-2\" href=\"https:\/\/www.rosehosting.com\/blog\/how-to-set-up-an-openvpn-server-on-debian-10\/#Step-1-Log-in-to-the-Server-Update-the-Server-OS-Packages\" >Step 1: Log in to the Server &amp; Update the Server OS Packages<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-3\" href=\"https:\/\/www.rosehosting.com\/blog\/how-to-set-up-an-openvpn-server-on-debian-10\/#Step-2-Install-OpenVPN-and-EasyRSA\" >Step 2: Install OpenVPN and EasyRSA<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-4\" href=\"https:\/\/www.rosehosting.com\/blog\/how-to-set-up-an-openvpn-server-on-debian-10\/#Step-3-Build-the-Certificate-Authority\" >Step 3: Build the Certificate Authority<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-5\" href=\"https:\/\/www.rosehosting.com\/blog\/how-to-set-up-an-openvpn-server-on-debian-10\/#Step-4-Generate-Server-Certificate-and-Key-Files\" >Step 4: Generate Server Certificate and Key Files<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-6\" href=\"https:\/\/www.rosehosting.com\/blog\/how-to-set-up-an-openvpn-server-on-debian-10\/#Step-5-Copy-All-Certificate-and-Key-File\" >Step 5: Copy All Certificate and Key File<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-7\" href=\"https:\/\/www.rosehosting.com\/blog\/how-to-set-up-an-openvpn-server-on-debian-10\/#Step-6-Create-Client-Certificate-and-Key-File\" >Step 6: Create Client Certificate and Key File<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-8\" href=\"https:\/\/www.rosehosting.com\/blog\/how-to-set-up-an-openvpn-server-on-debian-10\/#Step-7-Configure-OpenVPN-Server\" >Step 7: Configure OpenVPN Server<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-9\" href=\"https:\/\/www.rosehosting.com\/blog\/how-to-set-up-an-openvpn-server-on-debian-10\/#Step-8-Enable-IP-Forwarding\" >Step 8: Enable IP Forwarding<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-10\" href=\"https:\/\/www.rosehosting.com\/blog\/how-to-set-up-an-openvpn-server-on-debian-10\/#Step-9-Install-and-Configure-OpenVPN-Client\" >Step 9: Install and Configure OpenVPN Client<\/a><\/li><\/ul><\/nav><\/div>\n<h2 class=\"wp-block-heading\" id=\"h-prerequisites\"><span class=\"ez-toc-section\" id=\"Prerequisites\"><\/span>Prerequisites<span class=\"ez-toc-section-end\"><\/span><\/h2>\r\n\r\n\r\n\r\n<ul class=\"wp-block-list\">\r\n<li>Debian 10 VPS (we\u2019ll be using our <a href=\"https:\/\/www.rosehosting.com\/managed-vps-hosting\/\">NVMe 2 VPS<\/a> plan)<\/li>\r\n<li>Access to the root user account (or access to an admin account with root privileges)<\/li>\r\n<\/ul>\r\n\r\n\r\n\r\n<h2 class=\"wp-block-heading\" id=\"h-step-1-log-in-to-the-server-update-the-server-os-packages\"><span class=\"ez-toc-section\" id=\"Step-1-Log-in-to-the-Server-Update-the-Server-OS-Packages\"><\/span>Step 1: Log in to the Server &amp; Update the Server OS Packages<span class=\"ez-toc-section-end\"><\/span><\/h2>\r\n\r\n\r\n\r\n<p>First, log in to your Debian 10 server via SSH as the root user:<\/p>\r\n\r\n\r\n\r\n<pre class=\"wp-block-preformatted\">ssh root@IP_Address -p Port_number<\/pre>\r\n\r\n\r\n\r\n<p>You will need to replace &#8216;IP_Address&#8217; and &#8216;Port_number&#8217; with your server\u2019s respective IP address and SSH port number. Additionally, replace &#8216;root&#8217; with the username of the admin account if necessary.<\/p>\r\n\r\n\r\n\r\n<p>Before starting, you have to make sure that all Debian OS packages installed on the server are up to date. You can do this by running the following commands:<\/p>\r\n\r\n\r\n\r\n<pre class=\"wp-block-preformatted\">apt-get update -y\r\napt-get upgrade -y<\/pre>\r\n\r\n\r\n\r\n<h2 class=\"wp-block-heading\" id=\"h-step-2-install-openvpn-and-easyrsa\"><span class=\"ez-toc-section\" id=\"Step-2-Install-OpenVPN-and-EasyRSA\"><\/span>Step 2: Install OpenVPN and EasyRSA<span class=\"ez-toc-section-end\"><\/span><\/h2>\r\n\r\n\r\n\r\n<p>By default, OpenVPN is included in the Debian default repository. You can install it with the following command:<\/p>\r\n\r\n\r\n\r\n<pre class=\"wp-block-preformatted\">apt-get install openvpn -y<\/pre>\r\n\r\n\r\n\r\n<p>Once the OpenVPN package has been installed, you will need to download EasyRSA to your system.<\/p>\r\n\r\n\r\n\r\n<p>EasyRSA is a command-line utility to build and manage a PKI CA. It allows you to generate multiple types of certificates.<br \/>It is used to create a root certificate authority, and request and sign certificates for OpenVPN.<\/p>\r\n\r\n\r\n\r\n<p>You can download the latest version of EasyRSA from the Git repository using the following command:<\/p>\r\n\r\n\r\n\r\n<pre class=\"wp-block-preformatted\">wget https:\/\/github.com\/OpenVPN\/easy-rsa\/releases\/download\/v3.0.8\/EasyRSA-3.0.8.tgz<\/pre>\r\n\r\n\r\n\r\n<p>Once the download is completed, extract the downloaded file using the following command:<\/p>\r\n\r\n\r\n\r\n<pre class=\"wp-block-preformatted\">tar -xvzf EasyRSA-3.0.8.tgz<\/pre>\r\n\r\n\r\n\r\n<p>Next, copy the extracted directory to the OpenVPN directory:<\/p>\r\n\r\n\r\n\r\n<pre class=\"wp-block-preformatted\">cp -r EasyRSA-3.0.8 \/etc\/openvpn\/easy-rsa<\/pre>\r\n\r\n\r\n\r\n<p>At this point, OpenVPN and EasyRSA is installed in your server.<\/p>\r\n\r\n\r\n\r\n<h2 class=\"wp-block-heading\" id=\"h-step-3-build-the-certificate-authority\"><span class=\"ez-toc-section\" id=\"Step-3-Build-the-Certificate-Authority\"><\/span>Step 3: Build the Certificate Authority<span class=\"ez-toc-section-end\"><\/span><\/h2>\r\n\r\n\r\n\r\n<p>Next, you will need to build the Certificate Authority (CA) for OpenVPN.<\/p>\r\n\r\n\r\n\r\n<p>First, change the directory to EasyRSA with the following command:<\/p>\r\n\r\n\r\n\r\n<pre class=\"wp-block-preformatted\">cd \/etc\/openvpn\/easy-rsa<\/pre>\r\n\r\n\r\n\r\n<p>Next, you will need to create a vars file inside this. A vars file is a simple file that Easy-RSA will source for configuration.<\/p>\r\n\r\n\r\n\r\n<p>You can create it with the following command:<\/p>\r\n\r\n\r\n\r\n<pre class=\"wp-block-preformatted\">nano vars<\/pre>\r\n\r\n\r\n\r\n<p>Add the following lines as per your needs:<\/p>\r\n\r\n\r\n\r\n<pre class=\"wp-block-preformatted\">set_var EASYRSA                 \"$PWD\"\r\nset_var EASYRSA_PKI             \"$EASYRSA\/pki\"\r\nset_var EASYRSA_DN              \"cn_only\"\r\nset_var EASYRSA_REQ_COUNTRY     \"USA\"\r\nset_var EASYRSA_REQ_PROVINCE    \"Newyork\"\r\nset_var EASYRSA_REQ_CITY        \"Newyork\"\r\nset_var EASYRSA_REQ_ORG         \"ROSE CERTIFICATE AUTHORITY\"\r\nset_var EASYRSA_REQ_EMAIL    \"admin@example.com\"\r\nset_var EASYRSA_REQ_OU          \"ROSE EASY CA\"\r\nset_var EASYRSA_KEY_SIZE        2048\r\nset_var EASYRSA_ALGO            rsa\r\nset_var EASYRSA_CA_EXPIRE    7500\r\nset_var EASYRSA_CERT_EXPIRE     365\r\nset_var EASYRSA_NS_SUPPORT    \"no\"\r\nset_var EASYRSA_NS_COMMENT    \"ROSE CERTIFICATE AUTHORITY\"\r\nset_var EASYRSA_EXT_DIR         \"$EASYRSA\/x509-types\"\r\nset_var EASYRSA_SSL_CONF        \"$EASYRSA\/openssl-easyrsa.cnf\"\r\nset_var EASYRSA_DIGEST          \"sha256\"\r\n<\/pre>\r\n\r\n\r\n\r\n<p>Save and close the file when you are finished.<\/p>\r\n\r\n\r\n\r\n<p>Next, initiate the public key infrastructure with the following command:<\/p>\r\n\r\n\r\n\r\n<pre class=\"wp-block-preformatted\">.\/easyrsa init-pki<\/pre>\r\n\r\n\r\n\r\n<p>You should get the following output:<\/p>\r\n\r\n\r\n\r\n<pre class=\"wp-block-preformatted\">Note: using Easy-RSA configuration from: \/etc\/openvpn\/easy-rsa\/vars\r\n\r\ninit-pki complete; you may now create a CA or requests.\r\nYour newly created PKI dir is: \/etc\/openvpn\/easy-rsa\/pki\r\n<\/pre>\r\n\r\n\r\n\r\n<p>Next, you will need to run build-ca command to create ca.crt and ca.key file. You can run it with the following command:<\/p>\r\n\r\n\r\n\r\n<pre class=\"wp-block-preformatted\">.\/easyrsa build-ca nopass<\/pre>\r\n\r\n\r\n\r\n<p>You will be asked for several questions as shown below:<\/p>\r\n\r\n\r\n\r\n<pre class=\"wp-block-preformatted\">Note: using Easy-RSA configuration from: \/etc\/openvpn\/easy-rsa\/vars\r\nUsing SSL: openssl OpenSSL 1.1.1f  31 Mar 2020\r\n\r\nEnter New CA Key Passphrase: \r\nRe-Enter New CA Key Passphrase: \r\nGenerating RSA private key, 2048 bit long modulus (2 primes)\r\n...+++++\r\n......................................................................+++++\r\ne is 65537 (0x010001)\r\nYou are about to be asked to enter information that will be incorporated\r\ninto your certificate request.\r\nWhat you are about to enter is what is called a Distinguished Name or a DN.\r\nThere are quite a few fields but you can leave some blank\r\nFor some fields there will be a default value,\r\nIf you enter '.', the field will be left blank.\r\n-----\r\nCommon Name (eg: your user, host, or server name) [Easy-RSA CA]:vpnserver\r\n\r\nCA creation complete and you may now import and sign cert requests.\r\nYour new CA certificate file for publishing is at:\r\n\/etc\/openvpn\/easy-rsa\/pki\/ca.crt\r\n<\/pre>\r\n\r\n\r\n\r\n<h2 class=\"wp-block-heading\" id=\"h-step-4-generate-server-certificate-and-key-files\"><span class=\"ez-toc-section\" id=\"Step-4-Generate-Server-Certificate-and-Key-Files\"><\/span>Step 4: Generate Server Certificate and Key Files<span class=\"ez-toc-section-end\"><\/span><\/h2>\r\n\r\n\r\n\r\n<p>Next, you will need to use the gen-req command followed by common name to generate the server key.<\/p>\r\n\r\n\r\n\r\n<pre class=\"wp-block-preformatted\">.\/easyrsa gen-req vpnserver nopass<\/pre>\r\n\r\n\r\n\r\n<p>You should see the following output:<\/p>\r\n\r\n\r\n\r\n<pre class=\"wp-block-preformatted\">Note: using Easy-RSA configuration from: \/etc\/openvpn\/easy-rsa\/vars\r\nUsing SSL: openssl OpenSSL 1.1.1f  31 Mar 2020\r\nGenerating a RSA private key\r\n.......................................................+++++\r\n....+++++\r\nwriting new private key to '\/etc\/openvpn\/easy-rsa\/pki\/easy-rsa-1428.Angtmh\/tmp.C9prw4'\r\n-----\r\nYou are about to be asked to enter information that will be incorporated\r\ninto your certificate request.\r\nWhat you are about to enter is what is called a Distinguished Name or a DN.\r\nThere are quite a few fields but you can leave some blank\r\nFor some fields there will be a default value,\r\nIf you enter '.', the field will be left blank.\r\n-----\r\nCommon Name (eg: your user, host, or server name) [vpnserver]:\r\n\r\nKeypair and certificate request completed. Your files are:\r\nreq: \/etc\/openvpn\/easy-rsa\/pki\/reqs\/vpnserver.req\r\nkey: \/etc\/openvpn\/easy-rsa\/pki\/private\/vpnserver.key\r\n<\/pre>\r\n\r\n\r\n\r\n<p>Next, you will need to sign the vpnserver key using your CA certificate. You can do it with the following command:<\/p>\r\n\r\n\r\n\r\n<pre class=\"wp-block-preformatted\">.\/easyrsa sign-req server vpnserver<\/pre>\r\n\r\n\r\n\r\n<p>You should get the following output:<\/p>\r\n\r\n\r\n\r\n<pre class=\"wp-block-preformatted\">Check that the request matches the signature\r\nSignature ok\r\nThe Subject's Distinguished Name is as follows\r\ncommonName            :ASN.1 12:'vpnserver'\r\nCertificate is to be certified until Feb  6 14:38:52 2022 GMT (365 days)\r\n\r\nWrite out database with 1 new entries\r\nData Base Updated\r\n\r\nCertificate created at: \/etc\/openvpn\/easy-rsa\/pki\/issued\/vpnserver.crt\r\n<\/pre>\r\n\r\n\r\n\r\n<p>Next, you will need to generate a strong Diffie-Hellman key to use for the key exchange. You can generate it with the following command:<\/p>\r\n\r\n\r\n\r\n<pre class=\"wp-block-preformatted\">.\/easyrsa gen-dh<\/pre>\r\n\r\n\r\n\r\n<h2 class=\"wp-block-heading\" id=\"h-step-5-copy-all-certificate-and-key-file\"><span class=\"ez-toc-section\" id=\"Step-5-Copy-All-Certificate-and-Key-File\"><\/span>Step 5: Copy All Certificate and Key File<span class=\"ez-toc-section-end\"><\/span><\/h2>\r\n\r\n\r\n\r\n<p>Next, you will need to copy all certificate and key file to the \/etc\/openvpn\/server\/ directory. You can copy the using the following command:<\/p>\r\n\r\n\r\n\r\n<pre class=\"wp-block-preformatted\">cp pki\/ca.crt \/etc\/openvpn\/server\/\r\ncp pki\/dh.pem \/etc\/openvpn\/server\/\r\ncp pki\/private\/vpnserver.key \/etc\/openvpn\/server\/\r\ncp pki\/issued\/vpnserver.crt \/etc\/openvpn\/server\/<\/pre>\r\n\r\n\r\n\r\n<h2 class=\"wp-block-heading\" id=\"h-step-6-create-client-certificate-and-key-file\"><span class=\"ez-toc-section\" id=\"Step-6-Create-Client-Certificate-and-Key-File\"><\/span>Step 6: Create Client Certificate and Key File<span class=\"ez-toc-section-end\"><\/span><\/h2>\r\n\r\n\r\n\r\n<p>Next, you will need to generate a certificate and key file for the client system.<\/p>\r\n\r\n\r\n\r\n<p>You can create it with the following command:<\/p>\r\n\r\n\r\n\r\n<pre class=\"wp-block-preformatted\">.\/easyrsa gen-req vpnclient nopass<\/pre>\r\n\r\n\r\n\r\n<p>You should get the following output:<\/p>\r\n\r\n\r\n\r\n<pre class=\"wp-block-preformatted\">Note: using Easy-RSA configuration from: \/etc\/openvpn\/easy-rsa\/vars\r\nUsing SSL: openssl OpenSSL 1.1.1f  31 Mar 2020\r\nGenerating a RSA private key\r\n....+++++\r\n.................................+++++\r\nwriting new private key to '\/etc\/openvpn\/easy-rsa\/pki\/easy-rsa-1563.TeOf5v\/tmp.i4YxLz'\r\n-----\r\nYou are about to be asked to enter information that will be incorporated\r\ninto your certificate request.\r\nWhat you are about to enter is what is called a Distinguished Name or a DN.\r\nThere are quite a few fields but you can leave some blank\r\nFor some fields there will be a default value,\r\nIf you enter '.', the field will be left blank.\r\n-----\r\nCommon Name (eg: your user, host, or server name) [vpnclient]:\r\n\r\nKeypair and certificate request completed. Your files are:\r\nreq: \/etc\/openvpn\/easy-rsa\/pki\/reqs\/vpnclient.req\r\nkey: \/etc\/openvpn\/easy-rsa\/pki\/private\/vpnclient.key\r\n<\/pre>\r\n\r\n\r\n\r\n<p>Next, sign the client key with the following command:<\/p>\r\n\r\n\r\n\r\n<pre class=\"wp-block-preformatted\">.\/easyrsa sign-req client vpnclient<\/pre>\r\n\r\n\r\n\r\n<p>You should get the following output:<\/p>\r\n\r\n\r\n\r\n<pre class=\"wp-block-preformatted\">Signature ok\r\nThe Subject's Distinguished Name is as follows\r\ncommonName            :ASN.1 12:'vpnclient'\r\nCertificate is to be certified until Feb  6 14:43:18 2022 GMT (365 days)\r\n\r\nWrite out database with 1 new entries\r\nData Base Updated\r\n\r\nCertificate created at: \/etc\/openvpn\/easy-rsa\/pki\/issued\/vpnclient.crt\r\n<\/pre>\r\n\r\n\r\n\r\n<p>Next, copy all client certificate and key to the \/etc\/openvpn\/client\/ directory.<\/p>\r\n\r\n\r\n\r\n<pre class=\"wp-block-preformatted\">cp pki\/ca.crt \/etc\/openvpn\/client\/\r\ncp pki\/issued\/vpnclient.crt \/etc\/openvpn\/client\/\r\ncp pki\/private\/vpnclient.key \/etc\/openvpn\/client\/<\/pre>\r\n\r\n\r\n\r\n<h2 class=\"wp-block-heading\" id=\"h-step-7-configure-openvpn-server\"><span class=\"ez-toc-section\" id=\"Step-7-Configure-OpenVPN-Server\"><\/span>Step 7: Configure OpenVPN Server<span class=\"ez-toc-section-end\"><\/span><\/h2>\r\n\r\n\r\n\r\n<p>At this point, both server and client certificate and key are ready. Now, you will need to create an OpenVPN configuration file and define all certificates and keys.<\/p>\r\n\r\n\r\n\r\n<pre class=\"wp-block-preformatted\">nano \/etc\/openvpn\/server.conf<\/pre>\r\n\r\n\r\n\r\n<p>Add the following lines:<\/p>\r\n\r\n\r\n\r\n<pre class=\"wp-block-preformatted\">port 1194\r\nproto udp\r\ndev tun\r\nca \/etc\/openvpn\/server\/ca.crt\r\ncert \/etc\/openvpn\/server\/vpnserver.crt\r\nkey \/etc\/openvpn\/server\/vpnserver.key\r\ndh \/etc\/openvpn\/server\/dh.pem\r\nserver 10.8.0.0 255.255.255.0\r\npush \"redirect-gateway def1\"\r\n\r\npush \"dhcp-option DNS 208.67.222.222\"\r\npush \"dhcp-option DNS 208.67.220.220\"\r\nduplicate-cn\r\ncipher AES-256-CBC\r\ntls-version-min 1.2\r\ntls-cipher TLS-DHE-RSA-WITH-AES-256-GCM-SHA384:TLS-DHE-RSA-WITH-AES-256-CBC-SHA256:TLS-DHE-RSA-WITH-AES-128-GCM-SHA256:TLS-DHE-RSA-WITH-AES-128-CBC-SHA256\r\nauth SHA512\r\nauth-nocache\r\nkeepalive 20 60\r\npersist-key\r\npersist-tun\r\ncompress lz4\r\ndaemon\r\nuser nobody\r\ngroup nogroup\r\nlog-append \/var\/log\/openvpn.log\r\nverb 3\r\n<\/pre>\r\n\r\n\r\n\r\n<p>Save and close the file then start the OpenVPN service and enable it to start at system reboot:<\/p>\r\n\r\n\r\n\r\n<pre class=\"wp-block-preformatted\">systemctl start openvpn@server\r\nsystemctl enable openvpn@server<\/pre>\r\n\r\n\r\n\r\n<p>If everything is fine, a new interface will be created. You can check it using the following command:<\/p>\r\n\r\n\r\n\r\n<pre class=\"wp-block-preformatted\">ip a show tun0<\/pre>\r\n\r\n\r\n\r\n<p>You should get the following output:<\/p>\r\n\r\n\r\n\r\n<pre class=\"wp-block-preformatted\">4: tun0:  mtu 1500 qdisc fq_codel state UNKNOWN group default qlen 100\r\n    link\/none \r\n    inet 10.8.0.1 peer 10.8.0.2\/32 scope global tun0\r\n       valid_lft forever preferred_lft forever\r\n    inet6 fe80::153d:f29:39a2:571a\/64 scope link stable-privacy \r\n       valid_lft forever preferred_lft forever\r\n<\/pre>\r\n\r\n\r\n\r\n<h2 class=\"wp-block-heading\" id=\"h-step-8-enable-ip-forwarding\"><span class=\"ez-toc-section\" id=\"Step-8-Enable-IP-Forwarding\"><\/span>Step 8: Enable IP Forwarding<span class=\"ez-toc-section-end\"><\/span><\/h2>\r\n\r\n\r\n\r\n<p>IP forwarding allows your operating system to accept the incoming network packets and forward it to the other network. You can enable it with the following command:<\/p>\r\n\r\n\r\n\r\n<pre class=\"wp-block-preformatted\">nano \/etc\/sysctl.conf<\/pre>\r\n\r\n\r\n\r\n<p>Uncomment or add the following line:<\/p>\r\n\r\n\r\n\r\n<pre class=\"wp-block-preformatted\">net.ipv4.ip_forward = 1<\/pre>\r\n\r\n\r\n\r\n<p>Save the file then apply the configuration changes with the following command:<\/p>\r\n\r\n\r\n\r\n<pre class=\"wp-block-preformatted\">sysctl -p<\/pre>\r\n\r\n\r\n\r\n<h2 class=\"wp-block-heading\" id=\"h-step-9-install-and-configure-openvpn-client\"><span class=\"ez-toc-section\" id=\"Step-9-Install-and-Configure-OpenVPN-Client\"><\/span>Step 9: Install and Configure OpenVPN Client<span class=\"ez-toc-section-end\"><\/span><\/h2>\r\n\r\n\r\n\r\n<p>Next, you will need to install the OpenVPN client on another system and connect to the OpenVPN server.<\/p>\r\n\r\n\r\n\r\n<p>First, install the OpenVPN with the following command:<\/p>\r\n\r\n\r\n\r\n<pre class=\"wp-block-preformatted\">apt-get install openvpn -y<\/pre>\r\n\r\n\r\n\r\n<p>Once installed, copy all Client certificate and key from the OpenVPN server to the Client machine. You can do it with the following command:<\/p>\r\n\r\n\r\n\r\n<pre class=\"wp-block-preformatted\">scp -r root@vpn-server-ip:\/etc\/openvpn\/client .<\/pre>\r\n\r\n\r\n\r\n<p>Next, change the directory to client and create a Client configuration file:<\/p>\r\n\r\n\r\n\r\n<pre class=\"wp-block-preformatted\">cd client\r\nnano client.ovpn<\/pre>\r\n\r\n\r\n\r\n<p>Add the following lines:<\/p>\r\n\r\n\r\n\r\n<pre class=\"wp-block-preformatted\">client\r\ndev tun\r\nproto udp\r\nremote vpn-server-ip 1194\r\nca ca.crt\r\ncert vpnclient.crt\r\nkey vpnclient.key\r\ncipher AES-256-CBC\r\nauth SHA512\r\nauth-nocache\r\ntls-version-min 1.2\r\ntls-cipher TLS-DHE-RSA-WITH-AES-256-GCM-SHA384:TLS-DHE-RSA-WITH-AES-256-CBC-SHA256:TLS-DHE-RSA-WITH-AES-128-GCM-SHA256:TLS-DHE-RSA-WITH-AES-128-CBC-SHA256\r\nresolv-retry infinite\r\ncompress lz4\r\nnobind\r\npersist-key\r\npersist-tun\r\nmute-replay-warnings\r\nverb 3\r\n<\/pre>\r\n\r\n\r\n\r\n<p>Save and close the file then connect to your OpenVPN server with the following command:<\/p>\r\n\r\n\r\n\r\n<pre class=\"wp-block-preformatted\">openvpn --config client.ovpn<\/pre>\r\n\r\n\r\n\r\n<p>Once the connection has been established, you should get the following output:<\/p>\r\n\r\n\r\n\r\n<pre class=\"wp-block-preformatted\">Sat Feb  6 14:53:50 2021 SENT CONTROL [vpnserver]: 'PUSH_REQUEST' (status=1)\r\nSat Feb  6 14:53:50 2021 PUSH: Received control message: 'PUSH_REPLY,redirect-gateway def1,dhcp-option DNS 208.67.222.222,dhcp-option DNS 208.67.220.220,route 10.8.0.1,topology net30,ping 20,ping-restart 60,ifconfig 10.8.0.6 10.8.0.5,peer-id 0,cipher AES-256-GCM'\r\nSat Feb  6 14:53:50 2021 OPTIONS IMPORT: timers and\/or timeouts modified\r\nSat Feb  6 14:53:50 2021 OPTIONS IMPORT: --ifconfig\/up options modified\r\nSat Feb  6 14:53:50 2021 OPTIONS IMPORT: route options modified\r\n<\/pre>\r\n\r\n\r\n\r\n<p>You can verify the OpenVPN interface on the client machine with the following command:<\/p>\r\n\r\n\r\n\r\n<pre class=\"wp-block-preformatted\">ip a show tun0<\/pre>\r\n\r\n\r\n\r\n<p>You should get the following output:<\/p>\r\n\r\n\r\n\r\n<pre class=\"wp-block-preformatted\">4: tun0:  mtu 1500 qdisc pfifo_fast state UNKNOWN group default qlen 100\r\n    link\/none \r\n    inet 10.8.0.6 peer 10.8.0.5\/32 scope global tun0\r\n       valid_lft forever preferred_lft forever\r\n    inet6 fe80::9206:94d7:8fb2:6b21\/64 scope link stable-privacy \r\n       valid_lft forever preferred_lft forever\r\n<\/pre>\r\n\r\n\r\n\r\n<div class=\"wp-block-image\">\r\n<figure class=\"alignright size-large\"><img decoding=\"async\" width=\"150\" height=\"150\" class=\"wp-image-35765\" title=\"Installing PHP 8 on Ubuntu 20.04\" src=\"https:\/\/www.rosehosting.com\/blog\/wp-content\/uploads\/2021\/02\/how-to-configure-an-openvpn-server-on-debian-10.png\" alt=\"how to configure an openvpn server on debian 10\" \/><\/figure>\r\n<\/div>\r\n\r\n\r\n\r\n<p>Of course, you don\u2019t have to install OpenVPN if you use one of our <a href=\"https:\/\/www.rosehosting.com\/openvpn-hosting.html\">Managed OpenVPN Hosting services<\/a>, in which case you can simply ask our expert Linux admins to install this for you. They are available 24\u00d77 and will take care of your request immediately.<\/p>\r\n\r\n\r\n\r\n<p><strong>PS<\/strong>. If you liked this post on how to install OpenVPN on Ubuntu, please share it with your friends on the social networks using the buttons on the left or simply leave a reply below. Thanks.<\/p>\r\n","protected":false},"excerpt":{"rendered":"<p>A virtual private network (VPN) is a secure and encrypted connection between two networks and individual users that protects your &#8230; <\/p>\n<p class=\"read-more-container\"><a title=\"How To Set Up an OpenVPN Server on Debian 10\" class=\"read-more button\" href=\"https:\/\/www.rosehosting.com\/blog\/how-to-set-up-an-openvpn-server-on-debian-10\/#more-35536\" aria-label=\"Read more about How To Set Up an OpenVPN Server on Debian 10\">Read More<\/a><\/p>\n","protected":false},"author":4,"featured_media":35882,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1700,1701],"tags":[48,1836,404],"class_list":["post-35536","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-debian","category-networking-and-domains","tag-debian","tag-debian-10","tag-openvpn","generate-columns","tablet-grid-50","mobile-grid-100","grid-parent","grid-33"],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v27.4 (Yoast SEO v27.4) - https:\/\/yoast.com\/product\/yoast-seo-premium-wordpress\/ -->\n<title>How To Set Up an OpenVPN Server on Debian 10<\/title>\n<meta name=\"description\" content=\"How To Set Up an OpenVPN Server on Debian 10 | RoseHosting\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.rosehosting.com\/blog\/how-to-set-up-an-openvpn-server-on-debian-10\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"How To Set Up an OpenVPN Server on Debian 10\" \/>\n<meta property=\"og:description\" content=\"In this tutorial, we will show you how to install and setup the OpenVPN on Debian 10 server.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.rosehosting.com\/blog\/how-to-set-up-an-openvpn-server-on-debian-10\/\" \/>\n<meta property=\"og:site_name\" content=\"RoseHosting\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/RoseHosting\" \/>\n<meta property=\"article:author\" content=\"https:\/\/www.facebook.com\/rosehosting.helpdesk\" \/>\n<meta property=\"article:published_time\" content=\"2021-03-10T17:30:00+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2022-06-03T08:32:12+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.rosehosting.com\/blog\/wp-content\/uploads\/2021\/03\/how-to-set-up-an-openvpn-server-on-debian-10.jpg?v=1616006742\" \/>\n\t<meta property=\"og:image:width\" content=\"742\" \/>\n\t<meta property=\"og:image:height\" content=\"372\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"Jeff Wilson\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:title\" content=\"How To Set Up an OpenVPN Server on Debian 10\" \/>\n<meta name=\"twitter:description\" content=\"In this tutorial, we will show you how to install and setup the OpenVPN on Debian 10 server.\" \/>\n<meta name=\"twitter:creator\" content=\"@rosehosting\" \/>\n<meta name=\"twitter:site\" content=\"@rosehosting\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Jeff Wilson\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"9 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/www.rosehosting.com\\\/blog\\\/how-to-set-up-an-openvpn-server-on-debian-10\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.rosehosting.com\\\/blog\\\/how-to-set-up-an-openvpn-server-on-debian-10\\\/\"},\"author\":{\"name\":\"Jeff Wilson\",\"@id\":\"https:\\\/\\\/www.rosehosting.com\\\/blog\\\/#\\\/schema\\\/person\\\/7ce77a842fa6a9a7f8efa186f2353713\"},\"headline\":\"How To Set Up an OpenVPN Server on Debian 10\",\"datePublished\":\"2021-03-10T17:30:00+00:00\",\"dateModified\":\"2022-06-03T08:32:12+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/www.rosehosting.com\\\/blog\\\/how-to-set-up-an-openvpn-server-on-debian-10\\\/\"},\"wordCount\":949,\"commentCount\":3,\"publisher\":{\"@id\":\"https:\\\/\\\/www.rosehosting.com\\\/blog\\\/#organization\"},\"image\":{\"@id\":\"https:\\\/\\\/www.rosehosting.com\\\/blog\\\/how-to-set-up-an-openvpn-server-on-debian-10\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.rosehosting.com\\\/blog\\\/wp-content\\\/uploads\\\/2021\\\/03\\\/how-to-set-up-an-openvpn-server-on-debian-10.jpg\",\"keywords\":[\"debian\",\"Debian 10\",\"openvpn\"],\"articleSection\":[\"Debian\",\"Networking and Domains\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/www.rosehosting.com\\\/blog\\\/how-to-set-up-an-openvpn-server-on-debian-10\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/www.rosehosting.com\\\/blog\\\/how-to-set-up-an-openvpn-server-on-debian-10\\\/\",\"url\":\"https:\\\/\\\/www.rosehosting.com\\\/blog\\\/how-to-set-up-an-openvpn-server-on-debian-10\\\/\",\"name\":\"How To Set Up an OpenVPN Server on Debian 10\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.rosehosting.com\\\/blog\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/www.rosehosting.com\\\/blog\\\/how-to-set-up-an-openvpn-server-on-debian-10\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/www.rosehosting.com\\\/blog\\\/how-to-set-up-an-openvpn-server-on-debian-10\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.rosehosting.com\\\/blog\\\/wp-content\\\/uploads\\\/2021\\\/03\\\/how-to-set-up-an-openvpn-server-on-debian-10.jpg\",\"datePublished\":\"2021-03-10T17:30:00+00:00\",\"dateModified\":\"2022-06-03T08:32:12+00:00\",\"description\":\"How To Set Up an OpenVPN Server on Debian 10 | RoseHosting\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.rosehosting.com\\\/blog\\\/how-to-set-up-an-openvpn-server-on-debian-10\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/www.rosehosting.com\\\/blog\\\/how-to-set-up-an-openvpn-server-on-debian-10\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/www.rosehosting.com\\\/blog\\\/how-to-set-up-an-openvpn-server-on-debian-10\\\/#primaryimage\",\"url\":\"https:\\\/\\\/www.rosehosting.com\\\/blog\\\/wp-content\\\/uploads\\\/2021\\\/03\\\/how-to-set-up-an-openvpn-server-on-debian-10.jpg\",\"contentUrl\":\"https:\\\/\\\/www.rosehosting.com\\\/blog\\\/wp-content\\\/uploads\\\/2021\\\/03\\\/how-to-set-up-an-openvpn-server-on-debian-10.jpg\",\"width\":742,\"height\":372,\"caption\":\"how to set up an openvpn server on debian 10\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/www.rosehosting.com\\\/blog\\\/how-to-set-up-an-openvpn-server-on-debian-10\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/www.rosehosting.com\\\/blog\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"How To Set Up an OpenVPN Server on Debian 10\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/www.rosehosting.com\\\/blog\\\/#website\",\"url\":\"https:\\\/\\\/www.rosehosting.com\\\/blog\\\/\",\"name\":\"RoseHosting.com\",\"description\":\"Premium Linux Tutorials Since 2001\",\"publisher\":{\"@id\":\"https:\\\/\\\/www.rosehosting.com\\\/blog\\\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/www.rosehosting.com\\\/blog\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/www.rosehosting.com\\\/blog\\\/#organization\",\"name\":\"RoseHosting\",\"url\":\"https:\\\/\\\/www.rosehosting.com\\\/blog\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/www.rosehosting.com\\\/blog\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/www.rosehosting.com\\\/blog\\\/wp-content\\\/uploads\\\/2022\\\/03\\\/android-chrome-192x192-1.png\",\"contentUrl\":\"https:\\\/\\\/www.rosehosting.com\\\/blog\\\/wp-content\\\/uploads\\\/2022\\\/03\\\/android-chrome-192x192-1.png\",\"width\":192,\"height\":192,\"caption\":\"RoseHosting\"},\"image\":{\"@id\":\"https:\\\/\\\/www.rosehosting.com\\\/blog\\\/#\\\/schema\\\/logo\\\/image\\\/\"},\"sameAs\":[\"https:\\\/\\\/www.facebook.com\\\/RoseHosting\",\"https:\\\/\\\/x.com\\\/rosehosting\",\"https:\\\/\\\/www.linkedin.com\\\/in\\\/rosehosting\\\/\"],\"description\":\"RoseHosting is a leading Linux hosting provider, serving thousands of clients world-wide since 2001.\",\"email\":\"info@rosehosting.com\",\"telephone\":\"(314) 275-0414\",\"legalName\":\"Rose Web Services LLC\",\"foundingDate\":\"2001-04-02\",\"numberOfEmployees\":{\"@type\":\"QuantitativeValue\",\"minValue\":\"11\",\"maxValue\":\"50\"}},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/www.rosehosting.com\\\/blog\\\/#\\\/schema\\\/person\\\/7ce77a842fa6a9a7f8efa186f2353713\",\"name\":\"Jeff Wilson\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/0985fed6af04cc60703d2ecf27c65dfa373e0ca00eb21c0b03477e099ea3f99f?s=96&r=g\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/0985fed6af04cc60703d2ecf27c65dfa373e0ca00eb21c0b03477e099ea3f99f?s=96&r=g\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/0985fed6af04cc60703d2ecf27c65dfa373e0ca00eb21c0b03477e099ea3f99f?s=96&r=g\",\"caption\":\"Jeff Wilson\"},\"description\":\"An experienced Linux veteran with many years of experience. Helping other Linux admins with frequent Linux and business-related blog posts on the RoseHosting blog. Techie by choice. Loving nature and travel. Happily married and father of two lovely children.\",\"sameAs\":[\"https:\\\/\\\/www.rosehosting.com\",\"https:\\\/\\\/www.facebook.com\\\/rosehosting.helpdesk\"],\"url\":\"https:\\\/\\\/www.rosehosting.com\\\/blog\\\/author\\\/jwilson\\\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"How To Set Up an OpenVPN Server on Debian 10","description":"How To Set Up an OpenVPN Server on Debian 10 | RoseHosting","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.rosehosting.com\/blog\/how-to-set-up-an-openvpn-server-on-debian-10\/","og_locale":"en_US","og_type":"article","og_title":"How To Set Up an OpenVPN Server on Debian 10","og_description":"In this tutorial, we will show you how to install and setup the OpenVPN on Debian 10 server.","og_url":"https:\/\/www.rosehosting.com\/blog\/how-to-set-up-an-openvpn-server-on-debian-10\/","og_site_name":"RoseHosting","article_publisher":"https:\/\/www.facebook.com\/RoseHosting","article_author":"https:\/\/www.facebook.com\/rosehosting.helpdesk","article_published_time":"2021-03-10T17:30:00+00:00","article_modified_time":"2022-06-03T08:32:12+00:00","og_image":[{"width":742,"height":372,"url":"https:\/\/www.rosehosting.com\/blog\/wp-content\/uploads\/2021\/03\/how-to-set-up-an-openvpn-server-on-debian-10.jpg?v=1616006742","type":"image\/jpeg"}],"author":"Jeff Wilson","twitter_card":"summary_large_image","twitter_title":"How To Set Up an OpenVPN Server on Debian 10","twitter_description":"In this tutorial, we will show you how to install and setup the OpenVPN on Debian 10 server.","twitter_creator":"@rosehosting","twitter_site":"@rosehosting","twitter_misc":{"Written by":"Jeff Wilson","Est. reading time":"9 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.rosehosting.com\/blog\/how-to-set-up-an-openvpn-server-on-debian-10\/#article","isPartOf":{"@id":"https:\/\/www.rosehosting.com\/blog\/how-to-set-up-an-openvpn-server-on-debian-10\/"},"author":{"name":"Jeff Wilson","@id":"https:\/\/www.rosehosting.com\/blog\/#\/schema\/person\/7ce77a842fa6a9a7f8efa186f2353713"},"headline":"How To Set Up an OpenVPN Server on Debian 10","datePublished":"2021-03-10T17:30:00+00:00","dateModified":"2022-06-03T08:32:12+00:00","mainEntityOfPage":{"@id":"https:\/\/www.rosehosting.com\/blog\/how-to-set-up-an-openvpn-server-on-debian-10\/"},"wordCount":949,"commentCount":3,"publisher":{"@id":"https:\/\/www.rosehosting.com\/blog\/#organization"},"image":{"@id":"https:\/\/www.rosehosting.com\/blog\/how-to-set-up-an-openvpn-server-on-debian-10\/#primaryimage"},"thumbnailUrl":"https:\/\/www.rosehosting.com\/blog\/wp-content\/uploads\/2021\/03\/how-to-set-up-an-openvpn-server-on-debian-10.jpg","keywords":["debian","Debian 10","openvpn"],"articleSection":["Debian","Networking and Domains"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.rosehosting.com\/blog\/how-to-set-up-an-openvpn-server-on-debian-10\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.rosehosting.com\/blog\/how-to-set-up-an-openvpn-server-on-debian-10\/","url":"https:\/\/www.rosehosting.com\/blog\/how-to-set-up-an-openvpn-server-on-debian-10\/","name":"How To Set Up an OpenVPN Server on Debian 10","isPartOf":{"@id":"https:\/\/www.rosehosting.com\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.rosehosting.com\/blog\/how-to-set-up-an-openvpn-server-on-debian-10\/#primaryimage"},"image":{"@id":"https:\/\/www.rosehosting.com\/blog\/how-to-set-up-an-openvpn-server-on-debian-10\/#primaryimage"},"thumbnailUrl":"https:\/\/www.rosehosting.com\/blog\/wp-content\/uploads\/2021\/03\/how-to-set-up-an-openvpn-server-on-debian-10.jpg","datePublished":"2021-03-10T17:30:00+00:00","dateModified":"2022-06-03T08:32:12+00:00","description":"How To Set Up an OpenVPN Server on Debian 10 | RoseHosting","breadcrumb":{"@id":"https:\/\/www.rosehosting.com\/blog\/how-to-set-up-an-openvpn-server-on-debian-10\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.rosehosting.com\/blog\/how-to-set-up-an-openvpn-server-on-debian-10\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.rosehosting.com\/blog\/how-to-set-up-an-openvpn-server-on-debian-10\/#primaryimage","url":"https:\/\/www.rosehosting.com\/blog\/wp-content\/uploads\/2021\/03\/how-to-set-up-an-openvpn-server-on-debian-10.jpg","contentUrl":"https:\/\/www.rosehosting.com\/blog\/wp-content\/uploads\/2021\/03\/how-to-set-up-an-openvpn-server-on-debian-10.jpg","width":742,"height":372,"caption":"how to set up an openvpn server on debian 10"},{"@type":"BreadcrumbList","@id":"https:\/\/www.rosehosting.com\/blog\/how-to-set-up-an-openvpn-server-on-debian-10\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.rosehosting.com\/blog\/"},{"@type":"ListItem","position":2,"name":"How To Set Up an OpenVPN Server on Debian 10"}]},{"@type":"WebSite","@id":"https:\/\/www.rosehosting.com\/blog\/#website","url":"https:\/\/www.rosehosting.com\/blog\/","name":"RoseHosting.com","description":"Premium Linux Tutorials Since 2001","publisher":{"@id":"https:\/\/www.rosehosting.com\/blog\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.rosehosting.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/www.rosehosting.com\/blog\/#organization","name":"RoseHosting","url":"https:\/\/www.rosehosting.com\/blog\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.rosehosting.com\/blog\/#\/schema\/logo\/image\/","url":"https:\/\/www.rosehosting.com\/blog\/wp-content\/uploads\/2022\/03\/android-chrome-192x192-1.png","contentUrl":"https:\/\/www.rosehosting.com\/blog\/wp-content\/uploads\/2022\/03\/android-chrome-192x192-1.png","width":192,"height":192,"caption":"RoseHosting"},"image":{"@id":"https:\/\/www.rosehosting.com\/blog\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/RoseHosting","https:\/\/x.com\/rosehosting","https:\/\/www.linkedin.com\/in\/rosehosting\/"],"description":"RoseHosting is a leading Linux hosting provider, serving thousands of clients world-wide since 2001.","email":"info@rosehosting.com","telephone":"(314) 275-0414","legalName":"Rose Web Services LLC","foundingDate":"2001-04-02","numberOfEmployees":{"@type":"QuantitativeValue","minValue":"11","maxValue":"50"}},{"@type":"Person","@id":"https:\/\/www.rosehosting.com\/blog\/#\/schema\/person\/7ce77a842fa6a9a7f8efa186f2353713","name":"Jeff Wilson","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/secure.gravatar.com\/avatar\/0985fed6af04cc60703d2ecf27c65dfa373e0ca00eb21c0b03477e099ea3f99f?s=96&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/0985fed6af04cc60703d2ecf27c65dfa373e0ca00eb21c0b03477e099ea3f99f?s=96&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/0985fed6af04cc60703d2ecf27c65dfa373e0ca00eb21c0b03477e099ea3f99f?s=96&r=g","caption":"Jeff Wilson"},"description":"An experienced Linux veteran with many years of experience. Helping other Linux admins with frequent Linux and business-related blog posts on the RoseHosting blog. Techie by choice. Loving nature and travel. Happily married and father of two lovely children.","sameAs":["https:\/\/www.rosehosting.com","https:\/\/www.facebook.com\/rosehosting.helpdesk"],"url":"https:\/\/www.rosehosting.com\/blog\/author\/jwilson\/"}]}},"_links":{"self":[{"href":"https:\/\/www.rosehosting.com\/blog\/wp-json\/wp\/v2\/posts\/35536","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.rosehosting.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.rosehosting.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.rosehosting.com\/blog\/wp-json\/wp\/v2\/users\/4"}],"replies":[{"embeddable":true,"href":"https:\/\/www.rosehosting.com\/blog\/wp-json\/wp\/v2\/comments?post=35536"}],"version-history":[{"count":7,"href":"https:\/\/www.rosehosting.com\/blog\/wp-json\/wp\/v2\/posts\/35536\/revisions"}],"predecessor-version":[{"id":41004,"href":"https:\/\/www.rosehosting.com\/blog\/wp-json\/wp\/v2\/posts\/35536\/revisions\/41004"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.rosehosting.com\/blog\/wp-json\/wp\/v2\/media\/35882"}],"wp:attachment":[{"href":"https:\/\/www.rosehosting.com\/blog\/wp-json\/wp\/v2\/media?parent=35536"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.rosehosting.com\/blog\/wp-json\/wp\/v2\/categories?post=35536"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.rosehosting.com\/blog\/wp-json\/wp\/v2\/tags?post=35536"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}