more README.md updates
This commit is contained in:
		
							
								
								
									
										26
									
								
								README.md
									
									
									
									
									
								
							
							
						
						
									
										26
									
								
								README.md
									
									
									
									
									
								
							@@ -59,7 +59,7 @@ If you prefer to use `docker-compose` please refer to the [documentation](docs/d
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
* Create an environment variable with the name DEBUG and value of 1 to enable debug output (using "docker -e").
 | 
					* Create an environment variable with the name DEBUG and value of 1 to enable debug output (using "docker -e").
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        docker run -v $OVPN_DATA:/etc/openvpn -p 1194:1194/udp --privileged -e DEBUG=1 kylemanna/openvpn
 | 
					        docker run -v $OVPN_DATA:/etc/openvpn -p 1194:1194/udp --privileged -e DEBUG=1 lawtancool/docker-openvpn-xor
 | 
				
			||||||
 | 
					
 | 
				
			||||||
* Test using a client that has openvpn installed correctly
 | 
					* Test using a client that has openvpn installed correctly
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -77,7 +77,7 @@ If you prefer to use `docker-compose` please refer to the [documentation](docs/d
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
## How Does It Work?
 | 
					## How Does It Work?
 | 
				
			||||||
 | 
					
 | 
				
			||||||
Initialize the volume container using the `kylemanna/openvpn` image with the
 | 
					Initialize the volume container using the `lawtancool/docker-openvpn-xor` image with the
 | 
				
			||||||
included scripts to automatically generate:
 | 
					included scripts to automatically generate:
 | 
				
			||||||
 | 
					
 | 
				
			||||||
- Diffie-Hellman parameters
 | 
					- Diffie-Hellman parameters
 | 
				
			||||||
@@ -93,11 +93,11 @@ declares that directory as a volume. It means that you can start another
 | 
				
			|||||||
container with the `-v` argument, and access the configuration.
 | 
					container with the `-v` argument, and access the configuration.
 | 
				
			||||||
The volume also holds the PKI keys and certs so that it could be backed up.
 | 
					The volume also holds the PKI keys and certs so that it could be backed up.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
To generate a client certificate, `kylemanna/openvpn` uses EasyRSA via the
 | 
					To generate a client certificate, `lawtancool/docker-openvpn-xor` uses EasyRSA via the
 | 
				
			||||||
`easyrsa` command in the container's path.  The `EASYRSA_*` environmental
 | 
					`easyrsa` command in the container's path.  The `EASYRSA_*` environmental
 | 
				
			||||||
variables place the PKI CA under `/etc/openvpn/pki`.
 | 
					variables place the PKI CA under `/etc/openvpn/pki`.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
Conveniently, `kylemanna/openvpn` comes with a script called `ovpn_getclient`,
 | 
					Conveniently, `lawtancool/docker-openvpn-xor` comes with a script called `ovpn_getclient`,
 | 
				
			||||||
which dumps an inline OpenVPN client configuration file.  This single file can
 | 
					which dumps an inline OpenVPN client configuration file.  This single file can
 | 
				
			||||||
then be given to a client for access to the VPN.
 | 
					then be given to a client for access to the VPN.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -163,7 +163,7 @@ OpenVPN with latest OpenSSL on Ubuntu 12.04 LTS).
 | 
				
			|||||||
### It Doesn't Stomp All Over the Server's Filesystem
 | 
					### It Doesn't Stomp All Over the Server's Filesystem
 | 
				
			||||||
 | 
					
 | 
				
			||||||
Everything for the Docker container is contained in two images: the ephemeral
 | 
					Everything for the Docker container is contained in two images: the ephemeral
 | 
				
			||||||
run time image (kylemanna/openvpn) and the `$OVPN_DATA` data volume. To remove
 | 
					run time image (lawtancool/docker-openvpn-xor) and the `$OVPN_DATA` data volume. To remove
 | 
				
			||||||
it, remove the corresponding containers, `$OVPN_DATA` data volume and Docker
 | 
					it, remove the corresponding containers, `$OVPN_DATA` data volume and Docker
 | 
				
			||||||
image and it's completely removed.  This also makes it easier to run multiple
 | 
					image and it's completely removed.  This also makes it easier to run multiple
 | 
				
			||||||
servers since each lives in the bubble of the container (of course multiple IPs
 | 
					servers since each lives in the bubble of the container (of course multiple IPs
 | 
				
			||||||
@@ -185,16 +185,6 @@ of a guarantee in the future.
 | 
				
			|||||||
  volume for re-use across containers
 | 
					  volume for re-use across containers
 | 
				
			||||||
* Addition of tls-auth for HMAC security
 | 
					* Addition of tls-auth for HMAC security
 | 
				
			||||||
 | 
					
 | 
				
			||||||
## Originally Tested On
 | 
					## Differences from kylemanna/openvpn
 | 
				
			||||||
 | 
					* Based on Ubuntu instead of Alpine
 | 
				
			||||||
* Docker hosts:
 | 
					* Compiles OpenVPN 2.4.7 from source, applying the [Tunnelblick obfuscation patches](https://github.com/Tunnelblick/Tunnelblick/tree/master/third_party/sources/openvpn/openvpn-2.4.7/patches)
 | 
				
			||||||
  * server a [Digital Ocean](https://www.digitalocean.com/?refcode=d19f7fe88c94) Droplet with 512 MB RAM running Ubuntu 14.04
 | 
					 | 
				
			||||||
* Clients
 | 
					 | 
				
			||||||
  * Android App OpenVPN Connect 1.1.14 (built 56)
 | 
					 | 
				
			||||||
     * OpenVPN core 3.0 android armv7a thumb2 32-bit
 | 
					 | 
				
			||||||
  * OS X Mavericks with Tunnelblick 3.4beta26 (build 3828) using openvpn-2.3.4
 | 
					 | 
				
			||||||
  * ArchLinux OpenVPN pkg 2.3.4-1
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
## License
 | 
					 | 
				
			||||||
[](https://app.fossa.io/projects/git%2Bgithub.com%2Fkylemanna%2Fdocker-openvpn?ref=badge_large)
 | 
					 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user