{"id":116,"date":"2022-05-31T22:01:02","date_gmt":"2022-05-31T13:01:02","guid":{"rendered":"https:\/\/www.bees-team.com\/?p=116"},"modified":"2022-07-22T14:41:16","modified_gmt":"2022-07-22T05:41:16","slug":"how-to-setup-aws-vpn-client","status":"publish","type":"post","link":"https:\/\/www.bees-team.com\/?p=116","title":{"rendered":"How to setup AWS VPN Client"},"content":{"rendered":"<div class=\"post-content\"><div class='booster-block booster-read-block'>\n                <div class=\"twp-read-time\">\n                \t<i class=\"booster-icon twp-clock\"><\/i> <span>Read Time:<\/span>5 Minute, 10 Second                <\/div>\n\n            <\/div><p>&nbsp;<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-118\" src=\"http:\/\/www.bees-team.com\/wp-content\/uploads\/2022\/05\/aws-vpn-client.png\" alt=\"\" width=\"880\" height=\"417\" \/><\/p>\n<p>&nbsp;<\/p>\n<h2><a href=\"https:\/\/www.bees-team.com\/?p=116#table-of-contents\" name=\"table-of-contents\"><\/a>Table of Contents<\/h2>\n<ol>\n<li><a href=\"https:\/\/www.bees-team.com\/?p=116#vpc\">Create a VPC<\/a><\/li>\n<li><a href=\"https:\/\/www.bees-team.com\/?p=116#auth\">Authentication<\/a>\n<ul>\n<li><a href=\"https:\/\/www.bees-team.com\/?p=116#certs\">Generate Certificates<\/a><\/li>\n<li><a href=\"https:\/\/www.bees-team.com\/?p=116#upload\">Upload Certificates to ACM<\/a><\/li>\n<\/ul>\n<\/li>\n<li><a href=\"https:\/\/www.bees-team.com\/?p=116#vpnendpoint\">Create a Client VPN Endpoint<\/a><\/li>\n<li><a href=\"https:\/\/www.bees-team.com\/?p=116#enable\">Enable VPN connectivity for clients<\/a><\/li>\n<li><a href=\"https:\/\/www.bees-team.com\/?p=116#authclients\">Authorize clients to access a network<\/a><\/li>\n<li><a href=\"https:\/\/www.bees-team.com\/?p=116#optional\">(Optional) Enable access to additional networks<\/a><\/li>\n<li><a href=\"https:\/\/www.bees-team.com\/?p=116#download\">Download the Client VPN endpoint configuration file<\/a><\/li>\n<li><a href=\"https:\/\/www.bees-team.com\/?p=116#connect\">Connect to the Client VPN endpoint<\/a><\/li>\n<li><a href=\"https:\/\/www.bees-team.com\/?p=116#test\">Testing<\/a><\/li>\n<li><a href=\"https:\/\/www.bees-team.com\/?p=116#scaling\">Client VPN scaling considerations<\/a>\n<ul>\n<li><a href=\"https:\/\/www.bees-team.com\/?p=116#cidr\">Client CIDR range size<\/a><\/li>\n<li><a href=\"https:\/\/www.bees-team.com\/?p=116#number\">Number of associated subnets<\/a><\/li>\n<\/ul>\n<\/li>\n<li><a href=\"https:\/\/www.bees-team.com\/?p=116#cost\">Cost<\/a><\/li>\n<li><a href=\"https:\/\/www.bees-team.com\/?p=116#referrals\">Referrals<\/a><\/li>\n<\/ol>\n<p><a name=\"vpc\"><\/a><\/p>\n<h3><a href=\"https:\/\/www.bees-team.com\/?p=116#step-1-create-a-vpc\" name=\"step-1-create-a-vpc\"><\/a>Step 1. Create a VPC<\/h3>\n<ul>\n<li>Navigate to\u00a0<code>VPC Console<\/code>\u00a0&gt;\u00a0<code>Create a VPC<\/code><\/li>\n<li>Enter Name as\u00a0<code>vpn-vpc<\/code>\u00a0and IPV4 CIDR as\u00a0<code>10.0.0.0\/22<\/code><\/li>\n<\/ul>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-127\" src=\"http:\/\/www.bees-team.com\/wp-content\/uploads\/2022\/05\/aws-create-vpc.png\" alt=\"\" width=\"851\" height=\"795\" \/><\/p>\n<p>&nbsp;<\/p>\n<ul>\n<li>Navigate to\u00a0<code>Subnet<\/code>\u00a0&gt; Click\u00a0<code>Create a Subnet<\/code>\u00a0&gt; Select\u00a0<code>vpn-vpc<\/code>\u00a0&gt; Subnet name as\u00a0<code>private-subnet<\/code>\u00a0and IPV4 CIDR as\u00a0<code>172.30.0.0\/22<\/code><\/li>\n<\/ul>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-128\" src=\"http:\/\/www.bees-team.com\/wp-content\/uploads\/2022\/05\/aws-create-subnet.png\" alt=\"\" width=\"865\" height=\"597\" \/><\/p>\n<blockquote><p>Note: We will launch an EC2 instance into this subnet for a connectivity test at the end.<\/p><\/blockquote>\n<hr \/>\n<p><a name=\"auth\"><\/a><\/p>\n<h3><a href=\"https:\/\/www.bees-team.com\/?p=116#step-2-authentication\" name=\"step-2-authentication\"><\/a>Step 2. Authentication<\/h3>\n<p>Client VPN uses Authentication as the first point of entry into the AWS cloud. There are three ways to authenticate, we are going to use Mutual authenticaiton (certificate-based)<\/p>\n<ul>\n<li><a href=\"https:\/\/docs.aws.amazon.com\/vpn\/latest\/clientvpn-admin\/client-authentication.html#ad\">Active Directory authentication (user-based)<\/a><\/li>\n<li><a href=\"https:\/\/docs.aws.amazon.com\/vpn\/latest\/clientvpn-admin\/client-authentication.html#mutual\">Mutual authentication (certificate-based)<\/a><\/li>\n<li><a href=\"https:\/\/docs.aws.amazon.com\/vpn\/latest\/clientvpn-admin\/client-authentication.html#federated-authentication\">Single sign-on (SAML-based federated authentication) (user-based)<\/a><\/li>\n<\/ul>\n<hr \/>\n<p><a name=\"certs\"><\/a><\/p>\n<h4><a href=\"https:\/\/www.bees-team.com\/?p=116#generate-certificates\" name=\"generate-certificates\"><\/a>Generate Certificates<\/h4>\n<div class=\"highlight js-code-highlight\">\n<pre class=\"highlight plaintext\"><code>git clone https:\/\/github.com\/kasukur\/clientvpn.git\r\ncd clientvpn\r\n<\/code><\/pre>\n<div class=\"highlight__panel js-actions-panel\">\n<div class=\"highlight__panel-action js-fullscreen-code-action\"><\/div>\n<\/div>\n<\/div>\n<div class=\"highlight js-code-highlight\">\n<pre class=\"highlight plaintext\"><code>chmod 755 generate_certs.sh\r\n.\/generate_certs.sh\r\n<\/code><\/pre>\n<div class=\"highlight__panel js-actions-panel\">\n<div class=\"highlight__panel-action js-fullscreen-code-action\"><\/div>\n<\/div>\n<\/div>\n<blockquote><p>Tip: Enter a\u00a0<code>directory<\/code>\u00a0name and then you could press ENTER at\u00a0<code>Common Name<\/code>\u00a0or provide a name<\/p><\/blockquote>\n<hr \/>\n<p><a name=\"upload\"><\/a><\/p>\n<h4><a href=\"https:\/\/www.bees-team.com\/?p=116#upload-certificates-to-acm\" name=\"upload-certificates-to-acm\"><\/a>Upload Certificates to ACM<\/h4>\n<p>You do not necessarily need to upload the client certificate to ACM. If the server and client certificates have been issued by the same Certificate Authority (CA), you can use the server certificate ARN for both server and client when you create the Client VPN endpoint.<\/p>\n<p>For this exercise, we are going to upload the server and the client certificates to ACM. Be sure to use the same Region in which you intended to create the client VPN endpoint.<\/p>\n<div class=\"highlight__panel js-actions-panel\">\n<div class=\"highlight__panel-action js-fullscreen-code-action\"><code>$ <\/code><code class=\"userinput\">aws configure<\/code><\/div>\n<div class=\"highlight__panel-action js-fullscreen-code-action\"><code>AWS Access Key ID [None]: <code class=\"userinput\"><code class=\"replaceable\">AKIAIOSFODNN7EXAMPLE<\/code><\/code> <\/code><\/div>\n<div class=\"highlight__panel-action js-fullscreen-code-action\"><code>AWS Secret Access Key [None]: <code class=\"userinput\"><code class=\"replaceable\">wJalrXUtnFEMI\/K7MDENG\/bPxRfiCYEXAMPLEKEY<\/code><\/code> <\/code><\/div>\n<div class=\"highlight__panel-action js-fullscreen-code-action\"><code>Default region name [None]: <code class=\"userinput\"><code class=\"replaceable\">us-west-2<\/code><\/code> <\/code><\/div>\n<div class=\"highlight__panel-action js-fullscreen-code-action\"><code>Default output format [None]: <code class=\"userinput\"><code class=\"replaceable\">json<\/code><\/code><\/code><\/div>\n<p><a href=\"https:\/\/us-east-1.console.aws.amazon.com\/iamv2\/home#\/home\" name=\"AWS Management Console\"><\/a><\/p>\n<p><strong>Server Certificate<\/strong><\/p>\n<div class=\"highlight js-code-highlight\">\n<pre class=\"highlight plaintext\"><code>aws acm import-certificate --certificate fileb:\/\/server.crt --private-key fileb:\/\/server.key --certificate-chain fileb:\/\/ca.crt\r\n<\/code><\/pre>\n<div class=\"highlight__panel js-actions-panel\">\n<div class=\"highlight__panel-action js-fullscreen-code-action\"><\/div>\n<\/div>\n<\/div>\n<p><strong>Client Certificate<\/strong><\/p>\n<div class=\"highlight js-code-highlight\">\n<pre class=\"highlight plaintext\"><code>aws acm import-certificate --certificate fileb:\/\/client1.domain.tld.crt --private-key fileb:\/\/client1.domain.tld.key --certificate-chain fileb:\/\/ca.crt\r\n\r\n<\/code><\/pre>\n<\/div>\n<\/div>\n<hr \/>\n<p><a name=\"vpnendpoint\"><\/a><\/p>\n<h3><a href=\"https:\/\/dev.to\/kasukur\/how-to-setup-an-aws-client-vpn-51f#step-3-create-a-client-vpn-endpoint\" name=\"step-3-create-a-client-vpn-endpoint\"><\/a>Step 3. Create a Client VPN endpoint<\/h3>\n<ul>\n<li>Navigate to\u00a0<code>VPC Console<\/code>\u00a0&gt;\u00a0<code>Client VPN Enpoints<\/code>\u00a0&gt;\u00a0<code>Create Clinet VPN EndPoint<\/code><\/li>\n<li>Provide a\u00a0<code>name<\/code>\u00a0and\u00a0<code>description<\/code>\u00a0(optional) for the Client VPN endpoint<\/li>\n<li>Enter a Client IPv4 CIDR as\u00a0<code>10.0.0.0\/22<\/code><\/li>\n<\/ul>\n<blockquote><p>Note: The IP address range cannot overlap with the target network or any of the routes that will be associated with the Client VPN endpoint. The client CIDR range must have a block size that is between \/12 and \/22 and not overlap with VPC CIDR or any other route in the route table. You cannot change the client CIDR after you create the Client VPN endpoint.<\/p><\/blockquote>\n<ul>\n<li>Select\u00a0<code>Server certificate ARN<\/code>,\u00a0<code>Client certificate ARN<\/code>\u00a0and check\u00a0<code>Use mutual authentication<\/code><\/li>\n<li>Select no for\u00a0<code>Connection Logging<\/code>\u00a0and\u00a0<code>Client Connect Handler<\/code><\/li>\n<li>Select\u00a0<code>Enable split-tunnel<\/code><\/li>\n<li>Leave the rest of the default settings, and choose\u00a0<code>Create Client VPN Endpoint<\/code>.<\/li>\n<\/ul>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-129\" src=\"http:\/\/www.bees-team.com\/wp-content\/uploads\/2022\/05\/aws-create-vpn-endpoint.png\" alt=\"\" width=\"827\" height=\"755\" \/><\/p>\n<p>&nbsp;<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-130\" src=\"http:\/\/www.bees-team.com\/wp-content\/uploads\/2022\/05\/aws-enable-split-tunnel.png\" alt=\"\" width=\"816\" height=\"222\" \/><\/p>\n<p>&nbsp;<\/p>\n<p>The status of Client VPN endpoint will be in\u00a0<code>pending-associate<\/code>\u00a0at this stage.<\/p>\n<hr \/>\n<p><a name=\"enable\"><\/a><\/p>\n<h3><a href=\"https:\/\/www.bees-team.com\/?p=116#step-4-enable-vpn-connectivity-for-clients\" name=\"step-4-enable-vpn-connectivity-for-clients\"><\/a>Step 4. Enable VPN connectivity for clients<\/h3>\n<ul>\n<li>Navigate to\u00a0<code>VPC Console<\/code>\u00a0&gt;\u00a0<code>Client VPN Enpoints<\/code>\u00a0&gt; Choose\u00a0<code>Clinet VPN EndPoint<\/code>\u00a0&gt; Click\u00a0<code>Associations<\/code>\u00a0&gt; Click\u00a0<code>Asscociate<\/code><\/li>\n<li>Select the VPC (same VPC as in Step 1) and a subnet<\/li>\n<li>Click on\u00a0<code>Associate<\/code><\/li>\n<\/ul>\n<blockquote><p>Note: If authorization rules allow it, one subnet association is enough for clients to access a VPC&#8217;s entire network. You can associate additional subnets to provide high availability in case one of the Availability Zones goes down.<\/p>\n<p>&nbsp;<\/p><\/blockquote>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-131\" src=\"http:\/\/www.bees-team.com\/wp-content\/uploads\/2022\/05\/aws-associate-target-network.png\" alt=\"\" width=\"1043\" height=\"644\" \/><\/p>\n<p>The following are created when we associate the Client VPN Enpoint with the first subnet<\/p>\n<ul>\n<li>The state of the Client VPN endpoint changes to available. Clients can now establish a VPN connection, but they cannot access any resources in the VPC until you add the authorization rules.<\/li>\n<\/ul>\n<p><a class=\"article-body-image-wrapper\" href=\"https:\/\/res.cloudinary.com\/practicaldev\/image\/fetch\/s--vWg8atTx--\/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880\/https:\/\/dev-to-uploads.s3.amazonaws.com\/uploads\/articles\/7ffc7gkmeq4s46ak0wrw.png\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/res.cloudinary.com\/practicaldev\/image\/fetch\/s--vWg8atTx--\/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880\/https:\/\/dev-to-uploads.s3.amazonaws.com\/uploads\/articles\/7ffc7gkmeq4s46ak0wrw.png\" alt=\"Associated\" width=\"880\" height=\"270\" \/><\/a><\/p>\n<ul>\n<li>The local route of the VPC is automatically added to the Client VPN endpoint route table.<\/li>\n<\/ul>\n<p><a class=\"article-body-image-wrapper\" href=\"https:\/\/res.cloudinary.com\/practicaldev\/image\/fetch\/s--Y8tLW3a4--\/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880\/https:\/\/dev-to-uploads.s3.amazonaws.com\/uploads\/articles\/0ho6oun23vovmc69mjuj.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-132\" src=\"http:\/\/www.bees-team.com\/wp-content\/uploads\/2022\/05\/aws-create-route.png\" alt=\"\" width=\"1564\" height=\"457\" \/><\/a><\/p>\n<ul>\n<li>The VPC&#8217;s default security group is automatically applied for the subnet association.<\/li>\n<\/ul>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-133\" src=\"http:\/\/www.bees-team.com\/wp-content\/uploads\/2022\/05\/aws-security-groups.png\" alt=\"\" width=\"1559\" height=\"387\" \/><\/p>\n<hr \/>\n<p><a name=\"authclients\"><\/a><\/p>\n<h3><a href=\"https:\/\/www.bees-team.com\/?p=116\" name=\"step-5-authorize-clients-to-access-a-network\"><\/a>Step 5. Authorize clients to access a network<\/h3>\n<ul>\n<li>Navigate to\u00a0<code>VPC Console<\/code>\u00a0&gt;\u00a0<code>Client VPN Enpoints<\/code>\u00a0&gt; Choose\u00a0<code>Clinet VPN EndPoint<\/code>\u00a0&gt; Click\u00a0<code>Authorization<\/code>\u00a0&gt; Click\u00a0<code>Authorize Ingress<\/code><\/li>\n<li>Enter\u00a0<code>172.30.0.0\/16<\/code>\u00a0for\u00a0<code>Destination network to enable<\/code>,\u00a0<code>Allow access to all users<\/code>\u00a0for\u00a0<code>Grant access to<\/code>\u00a0and Description as\u00a0<code>VPC-through-VPNEndPoint<\/code><\/li>\n<li>Click\u00a0<code>Add authorization rule<\/code><\/li>\n<\/ul>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-134\" src=\"http:\/\/www.bees-team.com\/wp-content\/uploads\/2022\/05\/aws-add-authorization-rule.png\" alt=\"\" width=\"1034\" height=\"692\" \/><\/p>\n<hr \/>\n<p><a name=\"optional\"><\/a><\/p>\n<h3><a href=\"https:\/\/www.bees-team.com\/?p=116#step-6-optional-enable-access-to-additional-networks\" name=\"step-6-optional-enable-access-to-additional-networks\"><\/a>Step 6. (Optional) Enable access to additional networks<\/h3>\n<p>You can enable access to additional networks connected to the VPC, such as AWS services, peered VPCs, and on-premises networks. For each additional network, you must add a route to the network and configure an authorization rule to give clients access.<br \/>\nMore information at Step 5 of\u00a0<a href=\"https:\/\/docs.aws.amazon.com\/vpn\/latest\/clientvpn-admin\/cvpn-getting-started.html#cvpn-getting-started-endpoint\">Getting started with Client VPN<\/a><\/p>\n<hr \/>\n<p><a name=\"download\"><\/a><\/p>\n<h3><a href=\"https:\/\/www.bees-team.com\/?p=116#step-7-download-the-client-vpn-endpoint-configuration-file\" name=\"step-7-download-the-client-vpn-endpoint-configuration-file\"><\/a>Step 7. Download the Client VPN endpoint configuration file<\/h3>\n<ul>\n<li>Navigate to\u00a0<code>VPC Console<\/code>\u00a0&gt;\u00a0<code>Client VPN Enpoints<\/code>\u00a0&gt; Click\u00a0<code>Download Client Configuration<\/code><\/li>\n<li>Open Client VPN endpoint configuraiton file and add the contents of the client certificate between tags and the contents of the private key between tags.<\/li>\n<\/ul>\n<div class=\"highlight js-code-highlight\">\n<pre class=\"highlight plaintext\"><code>&lt;cert&gt;\r\nContents of client certificate (.crt) file, which is client1.domain.tld.crt under the same direcroty when the server and client certificates are located\r\n&lt;\/cert&gt;\r\n\r\n&lt;key&gt;\r\nContents of private key (.key) file, which is client1.domain.tld.crt\r\n&lt;\/key&gt;\r\n<\/code><\/pre>\n<div class=\"highlight__panel js-actions-panel\">\n<div class=\"highlight__panel-action js-fullscreen-code-action\"><\/div>\n<\/div>\n<\/div>\n<ul>\n<li>Prepend a random string to the Client VPN endpoint DNS name and add it to Client VPN endpoint configuraiton file as shown below.<\/li>\n<\/ul>\n<div class=\"highlight js-code-highlight\">\n<pre class=\"highlight plaintext\"><code>remote srivpc.cvpn-endpoint-072a9ee98228b525b.prod.clientvpn.us-east-1.amazonaws.com 443\r\n<\/code><\/pre>\n<div class=\"highlight__panel js-actions-panel\">\n<div class=\"highlight__panel-action js-fullscreen-code-action\"><\/div>\n<\/div>\n<\/div>\n<ul>\n<li>Save the file.<\/li>\n<li>You could distribute the Client VPN endpoint configuration file to your clients if required.<\/li>\n<\/ul>\n<p><a href=\"https:\/\/github.com\/kasukur\/clientvpn\/blob\/main\/downloaded-client-config-nv.ovpn\">Sample Client VPN endpoint configuraiton file<\/a><\/p>\n<hr \/>\n<p><a name=\"connect\"><\/a><\/p>\n<h3><a href=\"https:\/\/www.bees-team.com\/?p=116#step-8-connect-to-the-client-vpn-endpoint\" name=\"step-8-connect-to-the-client-vpn-endpoint\"><\/a>Step 8: Connect to the Client VPN Endpoint<\/h3>\n<blockquote><p>Note: This is for Windows<\/p><\/blockquote>\n<ul>\n<li>Download latest\u00a0<a href=\"https:\/\/docs.aws.amazon.com\/vpn\/latest\/clientvpn-user\/client-vpn-connect-windows.html\">VPN client application<\/a><\/li>\n<li>Open the AWS VPN Client app.<\/li>\n<\/ul>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-135\" src=\"http:\/\/www.bees-team.com\/wp-content\/uploads\/2022\/05\/aws-vpn-client-app.png\" alt=\"\" width=\"445\" height=\"231\" \/><\/p>\n<ul>\n<li>Choose File, Manage Profiles.<\/li>\n<li>Enter\u00a0<code>Display Name<\/code>, Select\u00a0<code>VPN Configuration File<\/code>\u00a0and click\u00a0<code>VPN Configuration File<\/code><\/li>\n<\/ul>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-136\" src=\"http:\/\/www.bees-team.com\/wp-content\/uploads\/2022\/05\/aws-file-select.png\" alt=\"\" width=\"611\" height=\"270\" \/><\/p>\n<ul>\n<li>Click Add.<\/li>\n<\/ul>\n<hr \/>\n<p><a name=\"test\"><\/a><\/p>\n<h3><a href=\"https:\/\/www.bees-team.com\/?p=116#step-9-testing\" name=\"step-9-testing\"><\/a>Step 9: Testing<\/h3>\n<ul>\n<li>You could also check by use Putty connect to EC2 instance by private IP<\/li>\n<\/ul>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-138\" src=\"http:\/\/www.bees-team.com\/wp-content\/uploads\/2022\/05\/aws-vpn-connect-test-1.png\" alt=\"\" width=\"529\" height=\"454\" \/><\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<h3><\/h3>\n        <div class=\"booster-block booster-reactions-block\">\n            <div class=\"twp-reactions-icons\">\n                \n                <div class=\"twp-reacts-wrap\">\n                    <a react-data=\"be-react-1\" post-id=\"116\" class=\"be-face-icons un-reacted\" href=\"javascript:void(0)\">\n                        <img decoding=\"async\" src=\"https:\/\/www.bees-team.com\/wp-content\/plugins\/booster-extension\/\/assets\/icon\/happy.svg\" alt=\"Happy\">\n                    <\/a>\n                    <div class=\"twp-reaction-title\">\n                        Happy                    <\/div>\n                    <div class=\"twp-count-percent\">\n                                                    <span style=\"display: none;\" class=\"twp-react-count\">0<\/span>\n                        \n                                                <span class=\"twp-react-percent\"><span>0<\/span> %<\/span>\n                                            <\/div>\n                <\/div>\n\n                <div class=\"twp-reacts-wrap\">\n                    <a react-data=\"be-react-2\" post-id=\"116\" class=\"be-face-icons un-reacted\" href=\"javascript:void(0)\">\n                        <img decoding=\"async\" src=\"https:\/\/www.bees-team.com\/wp-content\/plugins\/booster-extension\/\/assets\/icon\/sad.svg\" alt=\"Sad\">\n                    <\/a>\n                    <div class=\"twp-reaction-title\">\n                        Sad                    <\/div>\n                    <div class=\"twp-count-percent\">\n                                                    <span style=\"display: none;\" class=\"twp-react-count\">0<\/span>\n                                                                        <span class=\"twp-react-percent\"><span>0<\/span> %<\/span>\n                                            <\/div>\n                <\/div>\n\n                <div class=\"twp-reacts-wrap\">\n                    <a react-data=\"be-react-3\" post-id=\"116\" class=\"be-face-icons un-reacted\" href=\"javascript:void(0)\">\n                        <img decoding=\"async\" src=\"https:\/\/www.bees-team.com\/wp-content\/plugins\/booster-extension\/\/assets\/icon\/excited.svg\" alt=\"Excited\">\n                    <\/a>\n                    <div class=\"twp-reaction-title\">\n                        Excited                    <\/div>\n                    <div class=\"twp-count-percent\">\n                                                    <span style=\"display: none;\" class=\"twp-react-count\">0<\/span>\n                                                                        <span class=\"twp-react-percent\"><span>0<\/span> %<\/span>\n                                            <\/div>\n                <\/div>\n\n                <div class=\"twp-reacts-wrap\">\n                    <a react-data=\"be-react-6\" post-id=\"116\" class=\"be-face-icons un-reacted\" href=\"javascript:void(0)\">\n                        <img decoding=\"async\" src=\"https:\/\/www.bees-team.com\/wp-content\/plugins\/booster-extension\/\/assets\/icon\/sleepy.svg\" alt=\"Sleepy\">\n                    <\/a>\n                    <div class=\"twp-reaction-title\">\n                        Sleepy                    <\/div>\n                    <div class=\"twp-count-percent\">\n                                                    <span style=\"display: none;\" class=\"twp-react-count\">0<\/span>\n                        \n                                                <span class=\"twp-react-percent\"><span>0<\/span> %<\/span>\n                                            <\/div>\n                <\/div>\n\n                <div class=\"twp-reacts-wrap\">\n                    <a react-data=\"be-react-4\" post-id=\"116\" class=\"be-face-icons un-reacted\" href=\"javascript:void(0)\">\n                        <img decoding=\"async\" src=\"https:\/\/www.bees-team.com\/wp-content\/plugins\/booster-extension\/\/assets\/icon\/angry.svg\" alt=\"Angry\">\n                    <\/a>\n                    <div class=\"twp-reaction-title\">Angry<\/div>\n                    <div class=\"twp-count-percent\">\n                                                    <span style=\"display: none;\" class=\"twp-react-count\">0<\/span>\n                                                                        <span class=\"twp-react-percent\"><span>0<\/span> %<\/span>\n                        \n                    <\/div>\n                <\/div>\n\n                <div class=\"twp-reacts-wrap\">\n                    <a react-data=\"be-react-5\" post-id=\"116\" class=\"be-face-icons un-reacted\" href=\"javascript:void(0)\">\n                        <img decoding=\"async\" src=\"https:\/\/www.bees-team.com\/wp-content\/plugins\/booster-extension\/\/assets\/icon\/surprise.svg\" alt=\"Surprise\">\n                    <\/a>\n                    <div class=\"twp-reaction-title\">Surprise<\/div>\n                    <div class=\"twp-count-percent\">\n                                                    <span style=\"display: none;\" class=\"twp-react-count\">0<\/span>\n                                                                        <span class=\"twp-react-percent\"><span>0<\/span> %<\/span>\n                                            <\/div>\n                <\/div>\n\n            <\/div>\n        <\/div>\n\n    <\/div>","protected":false},"excerpt":{"rendered":"<p>&nbsp; &nbsp; Table of Contents Create a VPC Authentication Generate<a href=\"https:\/\/www.bees-team.com\/?p=116\">Read More<i class=\"fa fa-long-arrow-right\" aria-hidden=\"true\"><\/i><\/a><\/p>\n","protected":false},"author":1,"featured_media":118,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[5],"tags":[],"class_list":["post-116","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-linux"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v28.7 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>How to setup AWS VPN Client - Experiment Log<\/title>\n<meta name=\"robots\" content=\"noindex, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"How to setup AWS VPN Client - Experiment Log\" \/>\n<meta property=\"og:description\" content=\"&nbsp; &nbsp; Table of Contents Create a VPC Authentication GenerateRead More\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.bees-team.com\/?p=116\" \/>\n<meta property=\"og:site_name\" content=\"Experiment Log\" \/>\n<meta property=\"article:published_time\" content=\"2022-05-31T13:01:02+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2022-07-22T05:41:16+00:00\" \/>\n<meta property=\"og:image\" content=\"http:\/\/www.bees-team.com\/wp-content\/uploads\/2022\/05\/aws-vpn-client.png\" \/>\n\t<meta property=\"og:image:width\" content=\"880\" \/>\n\t<meta property=\"og:image:height\" content=\"417\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"Bees-Team\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Bees-Team\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"5 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/www.bees-team.com\\\/?p=116#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.bees-team.com\\\/?p=116\"},\"author\":{\"name\":\"Bees-Team\",\"@id\":\"https:\\\/\\\/www.bees-team.com\\\/#\\\/schema\\\/person\\\/974321230684f994b6f3a28aa132b197\"},\"headline\":\"How to setup AWS VPN Client\",\"datePublished\":\"2022-05-31T13:01:02+00:00\",\"dateModified\":\"2022-07-22T05:41:16+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/www.bees-team.com\\\/?p=116\"},\"wordCount\":743,\"commentCount\":0,\"image\":{\"@id\":\"https:\\\/\\\/www.bees-team.com\\\/?p=116#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.bees-team.com\\\/wp-content\\\/uploads\\\/2022\\\/05\\\/aws-vpn-client.png\",\"articleSection\":[\"Linux\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/www.bees-team.com\\\/?p=116#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/www.bees-team.com\\\/?p=116\",\"url\":\"https:\\\/\\\/www.bees-team.com\\\/?p=116\",\"name\":\"How to setup AWS VPN Client - Experiment Log\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.bees-team.com\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/www.bees-team.com\\\/?p=116#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/www.bees-team.com\\\/?p=116#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.bees-team.com\\\/wp-content\\\/uploads\\\/2022\\\/05\\\/aws-vpn-client.png\",\"datePublished\":\"2022-05-31T13:01:02+00:00\",\"dateModified\":\"2022-07-22T05:41:16+00:00\",\"author\":{\"@id\":\"https:\\\/\\\/www.bees-team.com\\\/#\\\/schema\\\/person\\\/974321230684f994b6f3a28aa132b197\"},\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.bees-team.com\\\/?p=116#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/www.bees-team.com\\\/?p=116\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/www.bees-team.com\\\/?p=116#primaryimage\",\"url\":\"https:\\\/\\\/www.bees-team.com\\\/wp-content\\\/uploads\\\/2022\\\/05\\\/aws-vpn-client.png\",\"contentUrl\":\"https:\\\/\\\/www.bees-team.com\\\/wp-content\\\/uploads\\\/2022\\\/05\\\/aws-vpn-client.png\",\"width\":880,\"height\":417},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/www.bees-team.com\\\/?p=116#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/www.bees-team.com\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"How to setup AWS VPN Client\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/www.bees-team.com\\\/#website\",\"url\":\"https:\\\/\\\/www.bees-team.com\\\/\",\"name\":\"Experiment Log\",\"description\":\"Just note what I did\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/www.bees-team.com\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/www.bees-team.com\\\/#\\\/schema\\\/person\\\/974321230684f994b6f3a28aa132b197\",\"name\":\"Bees-Team\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/add4cc7534eb8184e1e6e0291e67fde3d200af851c04f17ba570f8c50e71f09f?s=96&d=monsterid&r=g\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/add4cc7534eb8184e1e6e0291e67fde3d200af851c04f17ba570f8c50e71f09f?s=96&d=monsterid&r=g\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/add4cc7534eb8184e1e6e0291e67fde3d200af851c04f17ba570f8c50e71f09f?s=96&d=monsterid&r=g\",\"caption\":\"Bees-Team\"},\"sameAs\":[\"https:\\\/\\\/www.bees-team.com\\\/\"],\"url\":\"https:\\\/\\\/www.bees-team.com\\\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"How to setup AWS VPN Client - Experiment Log","robots":{"index":"noindex","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"og_locale":"en_US","og_type":"article","og_title":"How to setup AWS VPN Client - Experiment Log","og_description":"&nbsp; &nbsp; Table of Contents Create a VPC Authentication GenerateRead More","og_url":"https:\/\/www.bees-team.com\/?p=116","og_site_name":"Experiment Log","article_published_time":"2022-05-31T13:01:02+00:00","article_modified_time":"2022-07-22T05:41:16+00:00","og_image":[{"width":880,"height":417,"url":"http:\/\/www.bees-team.com\/wp-content\/uploads\/2022\/05\/aws-vpn-client.png","type":"image\/png"}],"author":"Bees-Team","twitter_card":"summary_large_image","twitter_misc":{"Written by":"Bees-Team","Est. reading time":"5 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.bees-team.com\/?p=116#article","isPartOf":{"@id":"https:\/\/www.bees-team.com\/?p=116"},"author":{"name":"Bees-Team","@id":"https:\/\/www.bees-team.com\/#\/schema\/person\/974321230684f994b6f3a28aa132b197"},"headline":"How to setup AWS VPN Client","datePublished":"2022-05-31T13:01:02+00:00","dateModified":"2022-07-22T05:41:16+00:00","mainEntityOfPage":{"@id":"https:\/\/www.bees-team.com\/?p=116"},"wordCount":743,"commentCount":0,"image":{"@id":"https:\/\/www.bees-team.com\/?p=116#primaryimage"},"thumbnailUrl":"https:\/\/www.bees-team.com\/wp-content\/uploads\/2022\/05\/aws-vpn-client.png","articleSection":["Linux"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.bees-team.com\/?p=116#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.bees-team.com\/?p=116","url":"https:\/\/www.bees-team.com\/?p=116","name":"How to setup AWS VPN Client - Experiment Log","isPartOf":{"@id":"https:\/\/www.bees-team.com\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.bees-team.com\/?p=116#primaryimage"},"image":{"@id":"https:\/\/www.bees-team.com\/?p=116#primaryimage"},"thumbnailUrl":"https:\/\/www.bees-team.com\/wp-content\/uploads\/2022\/05\/aws-vpn-client.png","datePublished":"2022-05-31T13:01:02+00:00","dateModified":"2022-07-22T05:41:16+00:00","author":{"@id":"https:\/\/www.bees-team.com\/#\/schema\/person\/974321230684f994b6f3a28aa132b197"},"breadcrumb":{"@id":"https:\/\/www.bees-team.com\/?p=116#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.bees-team.com\/?p=116"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.bees-team.com\/?p=116#primaryimage","url":"https:\/\/www.bees-team.com\/wp-content\/uploads\/2022\/05\/aws-vpn-client.png","contentUrl":"https:\/\/www.bees-team.com\/wp-content\/uploads\/2022\/05\/aws-vpn-client.png","width":880,"height":417},{"@type":"BreadcrumbList","@id":"https:\/\/www.bees-team.com\/?p=116#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.bees-team.com\/"},{"@type":"ListItem","position":2,"name":"How to setup AWS VPN Client"}]},{"@type":"WebSite","@id":"https:\/\/www.bees-team.com\/#website","url":"https:\/\/www.bees-team.com\/","name":"Experiment Log","description":"Just note what I did","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.bees-team.com\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Person","@id":"https:\/\/www.bees-team.com\/#\/schema\/person\/974321230684f994b6f3a28aa132b197","name":"Bees-Team","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/secure.gravatar.com\/avatar\/add4cc7534eb8184e1e6e0291e67fde3d200af851c04f17ba570f8c50e71f09f?s=96&d=monsterid&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/add4cc7534eb8184e1e6e0291e67fde3d200af851c04f17ba570f8c50e71f09f?s=96&d=monsterid&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/add4cc7534eb8184e1e6e0291e67fde3d200af851c04f17ba570f8c50e71f09f?s=96&d=monsterid&r=g","caption":"Bees-Team"},"sameAs":["https:\/\/www.bees-team.com\/"],"url":"https:\/\/www.bees-team.com\/"}]}},"_links":{"self":[{"href":"https:\/\/www.bees-team.com\/index.php?rest_route=\/wp\/v2\/posts\/116","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.bees-team.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.bees-team.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.bees-team.com\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.bees-team.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=116"}],"version-history":[{"count":10,"href":"https:\/\/www.bees-team.com\/index.php?rest_route=\/wp\/v2\/posts\/116\/revisions"}],"predecessor-version":[{"id":141,"href":"https:\/\/www.bees-team.com\/index.php?rest_route=\/wp\/v2\/posts\/116\/revisions\/141"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.bees-team.com\/index.php?rest_route=\/wp\/v2\/media\/118"}],"wp:attachment":[{"href":"https:\/\/www.bees-team.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=116"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.bees-team.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=116"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.bees-team.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=116"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}