OpenVPN is a opensourse Software to establish virtual private network(VPN) via encrypted TLS connections. It provides a secure and encrypted user data communication between different hosts and networks.
The following step by step instruction will guide you through a OpenVPN configuration. So basically OpenVPN does have two different modes:
Bridge mode (TAP):
Advantages
Disadvantages
Routing Mode (TUN)
Advantages
Disadvantages
| General | Parameter | 
|---|---|
| Operation mode | Server | 
| Server port | 1194 | 
| Type | TUN | 
| Protocol | UDP | 
| Cipher | AES-256-CBC | 
| Authentication | Parameter | 
| certificate-based | |
| HMAC digest | SHA256 | 
| Manage keys and certifictaes (below) | |
| Options | Parameter | 
| use compression | enable | 
| use keepalive | enable | 
After you done with the server configuation apply the setting and we will continue with the client configuation.
| General | Parameter | 
|---|---|
| Operation mode | Client | 
| Server port | 1194 | 
| Type | TUN | 
| Protocol | UDP | 
| Cipher | AES-256-CBC | 
| Authentication | Parameter | 
| certificate-based | |
| HMAC digest | SHA256 | 
| Manage keys and certifictaes (below) | |
| Options | Parameter | 
| use compression | enable | 
| use keepalive | enable | 
Generate a static key:
openvpn --genkey --secret static.key
Copy the static key to both client and server, over a pre-existing secure channel. Server configuration file
dev tun ifconfig 10.8.0.1 10.8.0.2 secret static.key
Client configuration file
remote myremote.mydomain dev tun ifconfig 10.8.0.2 10.8.0.1 secret static.key
See openvpn.pdf