Sunday, September 29, 2013

Installing and Configuring OpenVPN Access Server

I've used ssh before to connect to my home router and send web traffic through it when I was out on untrusted public networks.  I thought that it would be nice to take that to the next step and set up a VPN server at home.  That way, I'd be able to connect to my home network securely from the internet.  I can also use it to secure my network traffic when on a public wifi connection.

Now that I have an ESXi server up, I thought that I'd try to use a dedicated virtual machine.  I searched for existing appliances, and found the OpenVPN Access Server appliance here.  The directions for configuring it are here.

There is a great description of what OpenVPN Access Server is on this page.
OpenVPN Access Server is a full featured SSL VPN software solution that integrates OpenVPN server capabilities, enterprise management capabilities, simplified OpenVPN Connect UI, and OpenVPN Client software packages that accommodate Windows, MAC, and Linux OS environments. OpenVPN Access Server supports a wide range of configurations, including secure and granular remote access to internal network and/ or private cloud network resources and applications with fine-grained access control.
It comes with two free licenses, which supports two concurrent connections.

I configured it using most defaults.  I then set up my router to forward TCP traffic on port 443 to the appliance, which I gave a static IP address.  The web interface is actually on port 943, but the server will automatically route https requests on port 443 to port 943.  There is also a UDP daemon on port 1194.

I was able to connect to the server using my phone and an OpenVPN client.  I downloaded the configuration from the server and connected with my username and password.

This was nice, but I'd much rather use certificates (public/private keys), especially because this is exposed to the internet.  My next step is to configure the server and clients to use PKI (Public Key Infrastructure).