• VPS
  • Linux
  • Docker



Change ovpn-data to the path you want to store your keys for the OpenVPN.

docker run -v $OVPN_DATA:/etc/openvpn --rm kylemanna/openvpn ovpn_genconfig -u udp://VPN.SERVERNAME.COM
docker run -v $OVPN_DATA:/etc/openvpn --rm -it kylemanna/openvpn ovpn_initpki

Change VPN.SERVERNAME.COM to the IP of the VPS.

docker run -v $OVPN_DATA:/etc/openvpn -d -p 1194:1194/udp --cap-add=NET_ADMIN kylemanna/openvpn

Change the port number 1194 to any available port that you want to use.

docker run -v $OVPN_DATA:/etc/openvpn --rm -it kylemanna/openvpn easyrsa build-client-full CLIENTNAME nopass
docker run -v $OVPN_DATA:/etc/openvpn --rm kylemanna/openvpn ovpn_getclient CLIENTNAME > CLIENTNAME.ovpn

Change the CLIENTNAME to the users who will connect the VPN.

0. Introduction

This is not my first time using reverse ssh tunnel to expose the NAT server (Ubuntu and Centos) to the Internet. But when I tried to use my previous experience on Raspberry Pi (Pi3), I was frustrated that I failed so many times.

Now that I have solved all the problems I have encountered and would like to write it down for the future me or someone else who gonna use the same function next time.

1. Prerequisites

  1. A vps accessible from the Internet
  2. The Pi3 (My Pi3 is headless, using Raspbian)

Read more »

0. Preface

I got the Raspberry Pi 3 (Pi3) yesterday, and couldn't wait to start using it. I plan to make it an NAS server and a downloader. I have already imagined that everyday I got some interesting movies or comics downloaded before I am back home. I just need to connect the Pi3 to the TV to enjoy the movies without waiting for buffering...

But the first thing to do now, it to set up the Pi3 making it available to login from the Internet.

Here is what I have got:

  1. the Pi3 board
  2. a 5V power
  3. a USB wire
  4. a LAN wire


Though I have HDMI wire but no available monitor, so I have to setup the Pi3 under command line environment.

Read more »