File tree 8 files changed +40
-24
lines changed
8 files changed +40
-24
lines changed Original file line number Diff line number Diff line change 1
1
# Changelog
2
2
3
+ ### 2.0.2 - Added multi-instance support
4
+
5
+ - Added ` TUNNEL_INTERFACE ` to set interface name (in case of multiple containers)
6
+ - Some fixes for general user
7
+ - Changed generation of ` include-conf.conf ` to ` dynamic.conf `
8
+
3
9
### 2.0.1 - Fix service start
4
10
5
11
- Fixed command for starting service
Original file line number Diff line number Diff line change @@ -43,7 +43,8 @@ ENV EASYRSA=/usr/share/easy-rsa \
43
43
EASYRSA_VARS_FILE=/config/ssl/vars \
44
44
# EASYRSA_SSL_CONF=/config/ssl/openssl-easyrsa.cnf \
45
45
EASYRSA_SAFE_CONF=/config/ssl/safessl-easyrsa.cnf \
46
- EASYRSA_TEMP_FILE=/config/tmp/temp
46
+ EASYRSA_TEMP_FILE=/config/tmp/temp \
47
+ TUNNEL_INTERFACE="tun0"
47
48
48
49
# Install packages
49
50
RUN apk add --no-cache \
Original file line number Diff line number Diff line change @@ -43,7 +43,8 @@ ENV EASYRSA=/usr/share/easy-rsa \
43
43
EASYRSA_VARS_FILE=/config/ssl/vars \
44
44
#EASYRSA_SSL_CONF=/config/ssl/openssl-easyrsa.cnf \
45
45
EASYRSA_SAFE_CONF=/config/ssl/safessl-easyrsa.cnf \
46
- EASYRSA_TEMP_FILE=/config/tmp/temp
46
+ EASYRSA_TEMP_FILE=/config/tmp/temp \
47
+ TUNNEL_INTERFACE="tun0"
47
48
48
49
# Install packages
49
50
RUN apk add --no-cache \
Original file line number Diff line number Diff line change @@ -70,6 +70,7 @@ services:
70
70
| ` -e PUID=1000 ` | for UserID - see below for explanation|
71
71
| ` -e PGID=1000 ` | for GroupID - see below for explanation|
72
72
| ` -e PERSISTENT_INTERFACE=true ` | Enable persistent TUN interface|
73
+ | ` -e TUNNEL_INTERFACE="tun0" ` | Tunnel interface name (default: tun0)|
73
74
| ` -e USE_FIREWALL=false ` | Disable any firewall related rules to be created, modified ... (must be implemented in example)|
74
75
| ` -v /config ` | All the config files including OpenVPNs reside here|
75
76
| ` -v /log ` | Log files reside here|
@@ -152,6 +153,10 @@ Just put *.ovpn* file in `/config/openvpn/config` and restart container.
152
153
153
154
- [ OpenVPN troubleshoot guide] ( https://community.openvpn.net/openvpn/wiki/HOWTO#Troubleshooting )
154
155
156
+ ### Cannot ioctl TUNSETIFF tun0: Operation not permitted (errno=1)
157
+
158
+ Just manualy remove ** tun0** manually ` openvpn --rmtun --dev tun0 ` .
159
+
155
160
## Contribute
156
161
157
162
Feel free to contribute new features to this container, but first see [ Contribute Guide] ( CONTRIBUTING.md ) .
Original file line number Diff line number Diff line change 10
10
# Change permissions (user & group)
11
11
iproute "/usr/local/sbin/ovpn-ip"
12
12
13
- # Static interface
14
- dev tun0
15
-
16
13
# Script security level
17
14
script-security 2
18
15
@@ -54,4 +51,4 @@ client-config-dir /config/openvpn/ccd
54
51
crl-verify /config/pki/crl.pem
55
52
56
53
# Include configs
57
- config /config/openvpn/include-conf .conf
54
+ config /config/openvpn/dynamic .conf
Original file line number Diff line number Diff line change 5
5
#
6
6
7
7
# Delete tunnel interface (if not persistant)
8
- if [ -n " $( cat /proc/net/dev | grep tun0 ) " ] && { [ -z " $PERSISTENT_INTERFACE " ] || [ " $PERSISTENT_INTERFACE " != " true" ]; }; then
9
- echo " Removing tun0 interface"
10
- openvpn --rmtun --dev tun0
8
+ if [ -n " $( cat /proc/net/dev | grep $TUNNEL_INTERFACE ) " ] && { [ -z " $PERSISTENT_INTERFACE " ] || [ " $PERSISTENT_INTERFACE " != " true" ]; }; then
9
+ echo " Removing $TUNNEL_INTERFACE interface"
10
+ openvpn --rmtun --dev $TUNNEL_INTERFACE
11
11
fi
Original file line number Diff line number Diff line change @@ -19,13 +19,13 @@ if [ ! -c "/dev/net/tun" ]; then
19
19
fi
20
20
21
21
# Remove existing interface if not persistent interface selected
22
- if [ -n " $( cat /proc/net/dev | grep tun0 ) " ] && { [ -z " $PERSISTENT_INTERFACE " ] || [ " $PERSISTENT_INTERFACE " != " true" ]; }; then
23
- echo " Removing tun0 interface"
24
- openvpn --rmtun --dev tun0
22
+ if [ -n " $( cat /proc/net/dev | grep $TUNNEL_INTERFACE ) " ] && { [ -z " $PERSISTENT_INTERFACE " ] || [ " $PERSISTENT_INTERFACE " != " true" ]; }; then
23
+ echo " Removing $TUNNEL_INTERFACE interface"
24
+ openvpn --rmtun --dev $TUNNEL_INTERFACE
25
25
fi
26
26
27
27
# Create tunnel interface
28
- if [ -z " $( cat /proc/net/dev | grep tun0 ) " ]; then
29
- echo " Creating tun0 interface"
30
- openvpn --mktun --dev tun0 --dev-type tun --user abc --group abc
28
+ if [ -z " $( cat /proc/net/dev | grep $TUNNEL_INTERFACE ) " ]; then
29
+ echo " Creating $TUNNEL_INTERFACE interface"
30
+ openvpn --mktun --dev $TUNNEL_INTERFACE --dev-type tun --user $CONTAINER_USER --group $CONTAINER_USER
31
31
fi
Original file line number Diff line number Diff line change 1
1
#! /usr/bin/with-contenv bash
2
2
3
3
#
4
- # Link OpenVPN configs
4
+ # Dynamic OpenVPN configs
5
5
#
6
6
7
- LINK_FILE =/config/openvpn/include-conf .conf
7
+ DYNAMIC_FILE =/config/openvpn/dynamic .conf
8
8
9
9
# Build link file
10
- echo " #" > $LINK_FILE
11
- echo " # DO NOT EDIT" >> $LINK_FILE
12
- echo " # Autogenerated file, based on /config/openvpn/config" >> $LINK_FILE
13
- echo " #" >> $LINK_FILE
14
- echo " " >> $LINK_FILE
10
+ echo " #" > $DYNAMIC_FILE
11
+ echo " # DO NOT EDIT" >> $DYNAMIC_FILE
12
+ echo " # Autogenerated file, based on /config/openvpn/config" >> $DYNAMIC_FILE
13
+ echo " #" >> $DYNAMIC_FILE
14
+ echo " " >> $DYNAMIC_FILE
15
15
16
+ # Set interface name
17
+ echo " # Interface" >> $DYNAMIC_FILE
18
+ echo " dev $TUNNEL_INTERFACE " >> $DYNAMIC_FILE
19
+ echo " " >> $DYNAMIC_FILE
20
+
21
+ # Include all configuration files
16
22
for file in /config/openvpn/config/*
17
23
do
18
24
[ -e " $file " ] || continue
19
25
20
- echo " config $file " >> $LINK_FILE
26
+ echo " config $file " >> $DYNAMIC_FILE
21
27
done
22
28
23
- chown abc:abc $LINK_FILE
29
+ chown $CONTAINER_USER : $CONTAINER_USER $DYNAMIC_FILE
You can’t perform that action at this time.
0 commit comments