mirror of https://github.com/tiyn/wiki
parent
663712f764
commit
a44146af39
@ -0,0 +1,68 @@
|
||||
# jonohill - docker-openvpn-proxy
|
||||
|
||||
This is a [Docker](/wiki/docker.md) container for an
|
||||
[OpenVPN proxy](/wiki/vpn.md#proxy).
|
||||
The official container and documentation was made by
|
||||
[jonohill](https://github.com/jonohill/docker-openvpn-proxy).
|
||||
|
||||
## Set-up
|
||||
|
||||
Create the file `rebuild.sh`.
|
||||
Change the settings according to your needs and run `./rebuild.sh` afterwards.
|
||||
|
||||
## Volumes
|
||||
|
||||
Set the following volumes with the -v tag.
|
||||
|
||||
| Outside mount/volume name | Container mount | Description |
|
||||
| ------------------------- | --------------- | ------------------------ |
|
||||
| `ovpn-proxy` | `/config` | storage for openvpn data |
|
||||
|
||||
## Ports
|
||||
|
||||
Set the following ports with the -p tag.
|
||||
|
||||
| Container Port | Recommended outside port | Protocol | Description |
|
||||
| -------------- | ------------------------ | -------- | ------------ |
|
||||
| `9050` | `8080` | HTTP | proxy port |
|
||||
|
||||
## Environment-variables
|
||||
|
||||
Set the following variables with the -e tag.
|
||||
|
||||
| Name | Usage | Default |
|
||||
| ------------------- | --------------------------- | ------- |
|
||||
| `LOCAL_NETWORK` | Set local network subnet | ` ` |
|
||||
| `OPENVPN_USERNAME` | username for OpenVPN | ` ` |
|
||||
| `OPENVPN_PASSWORD` | password for OpenVPN | ` ` |
|
||||
|
||||
## Additional
|
||||
|
||||
There are some special variables to set.
|
||||
|
||||
| Flag | Usage |
|
||||
| ----------- | ---------------------- |
|
||||
| `--cap-add` | add linux capabilities |
|
||||
| `--device` | connect devices |
|
||||
| `--sysctl` | configure systemctl |
|
||||
|
||||
## rebuild.sh
|
||||
|
||||
```sh
|
||||
#!/bin/sh
|
||||
docker stop openvpn-proxy
|
||||
docker rm openvpn-proxy
|
||||
docker pull jonoh/openvpn-proxy
|
||||
docker run --name openvpn-proxy \
|
||||
--restart unless-stopped \
|
||||
-p "9050:8080" \
|
||||
-v "openvpn-proxy:/config" \
|
||||
-e LOCAL_NETWORK=192.168.178.0/24 \
|
||||
-e OPENVPN_USERNAME="<OVPN_USERNAME>" \
|
||||
-e OPENVPN_PASSWORD="<OVPN_PASSWORD>" \
|
||||
--cap-add=NET_ADMIN \
|
||||
--device /dev/net/tun \
|
||||
--sysctl net.ipv6.conf.all.disable_ipv6=0 \
|
||||
-d jonoh/openvpn-proxy
|
||||
|
||||
```
|
@ -0,0 +1,37 @@
|
||||
# VPN
|
||||
|
||||
A VPN is a virtual private network.
|
||||
It uses a secure connection between a computer and a network or two networks.
|
||||
It can be used to display another IP address but does not make tracking or
|
||||
fingerprinting of the device impossible.
|
||||
VPNs feature a server and a client side.
|
||||
|
||||
## OpenVPN
|
||||
|
||||
[OpenVPN](https://openvpn.net) is a free software to create a VPN via an
|
||||
encrypted TLS connection.
|
||||
|
||||
### Set up
|
||||
|
||||
In the following sections the different set ups of OpenVPN usages are described.
|
||||
|
||||
#### Server
|
||||
|
||||
The software can be set up via [Docker](/wiki/docker.md) with the
|
||||
[kylemanna image](./docker-images/kylemanna_-_openvpn.md).
|
||||
Additionally to this a client is needed on the system that need access to the
|
||||
server software.
|
||||
|
||||
#### Client
|
||||
|
||||
OpenVPN clients can be found for many devices.
|
||||
For Android for example there is
|
||||
[OpenVPN for Android in the F-Droid store](https://f-droid.org/de/packages/de.blinkt.openvpn/).
|
||||
For most linux distributions there is a package called `openvpn`.
|
||||
|
||||
#### Proxy
|
||||
|
||||
For OpenVPN a proxy acts as an imntermediary between the system communicating
|
||||
with the proxy and the OpenVPN server.
|
||||
A proxy can be set up via [Docker](/wiki/docker.md) with the
|
||||
[jonohill image](./docker-images/jonohill_-_docker-openvpn-proxy.md).
|
Loading…
Reference in new issue