Skip to content

Commit 78cf755

Browse files
committed
Openvpn container
1 parent 09c82bf commit 78cf755

12 files changed

+667
-0
lines changed

.gitattributes

+1
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,3 @@
11
*.tar.gz binary
22
*.deb binary
3+
*.zip binary

openvpn/.dockerignore

+6
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
_r
2+
_b
3+
gen_srv_config
4+
openvpn-db-log-master.zip
5+
pam-krb5-*.tar.gz
6+
*.keytab

openvpn/.gitignore

+2
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
*.keytab
2+
*.ovpn

openvpn/Dockerfile

+44
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,44 @@
1+
FROM kylemanna/openvpn
2+
3+
COPY openvpn-db-log.pl /usr/local/bin/
4+
#COPY pam-krb5-4.8.tar.gz /
5+
6+
RUN apk update && \
7+
apk add --no-cache perl perl-dbi perl-dbd-mysql mariadb-connector-c tzdata krb5 krb5-libs krb5-pkinit pam-krb5 && \
8+
chmod +x /usr/local/bin/openvpn-db-log.pl && \
9+
# no need to build pam-krb5
10+
#tar -xf /pam-krb5-4.8.tar.gz -C / && \
11+
#rm -f /pam-krb5-4.8.tar.gz && \
12+
# cleanup
13+
rm -rf /usr/local/share/man/* /var/cache/apk/* /var/cache/distfiles/*
14+
15+
RUN \
16+
# setup /etc/krb5.conf
17+
{ echo '[libdefaults]'; \
18+
echo ' default_realm = UWC.LOCAL'; \
19+
echo ' clockskew = 300'; \
20+
echo ' default_keytab_name = FILE:/etc/openvpn/krb5.keytab'; \
21+
echo ' dns_lookup_realm = false'; \
22+
echo ' forwardable = true'; \
23+
echo ' rdns = false'; \
24+
echo ' allow_weak_crypto = true'; \
25+
echo ' default_tgs_enctypes = arcfour-hmac-md5 des-cbc-crc des-cbc-md5'; \
26+
echo ' default_tkt_enctypes = arcfour-hmac-md5 des-cbc-crc des-cbc-md5'; \
27+
echo ' permitted_enctypes = arcfour-hmac-md5 des-cbc-crc des-cbc-md5'; \
28+
echo ; \
29+
echo '[realms]'; \
30+
echo ' UWC.LOCAL = {'; \
31+
echo ' kdc = plksrv1.uwc.local'; \
32+
echo ' kdc = plksrv2.uwc.local'; \
33+
echo ' }'; \
34+
echo ; \
35+
echo '[domain_realm]'; \
36+
echo ' .uwc.local = UWC.LOCAL'; \
37+
echo ; } > /etc/krb5.conf && \
38+
# setup /etc/pam.d/openvpn1
39+
{ echo '# PAM configuration for openvpn'; \
40+
echo 'auth required /usr/lib/security/pam_krb5.so fail_pwchange keytab=FILE:/etc/openvpn/krb5.keytab'; \
41+
echo 'account required pam_permit.so'; } > /etc/pam.d/openvpn1
42+
43+
# same as in origin
44+
#CMD ["ovpn_run"]

openvpn/_b

+3
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
#/bin/bash
2+
3+
docker build -t uralm1/openvpn .

openvpn/_r

+12
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
#!/bin/bash
2+
3+
# network for wispa host -- vmware hosts must use ipvlan
4+
#docker network create -d macvlan --subnet=10.0.0.0/10 --gateway=10.15.0.1 --ip-range=10.14.75.32/28 -o parent=eth0 uwcnet
5+
6+
docker run -d --name ovpn --network uwcnet --ip 10.14.72.2 \
7+
--hostname ovpn --domainname uwc.local \
8+
-v /srv/ovpn:/etc/openvpn \
9+
-p 1194:1194/udp \
10+
-e TZ=Asia/Yekaterinburg \
11+
--cap-add=NET_ADMIN \
12+
uralm1/openvpn

openvpn/create_client_cert

+5
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
#!/bin/bash
2+
3+
CLIENTNAME=CLIENTNAME
4+
docker run -v /srv/ovpn:/etc/openvpn --rm -it uralm1/openvpn easyrsa build-client-full $CLIENTNAME nopass
5+

openvpn/gen_cl_config

+5
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
#!/bin/bash
2+
3+
CLIENTNAME=CLIENTNAME
4+
docker run -v /srv/ovpn:/etc/openvpn --rm uralm1/openvpn ovpn_getclient $CLIENTNAME > cl_test.ovpn
5+

openvpn/init_pki

+4
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
#!/bin/bash
2+
3+
docker run -v /srv/ovpn:/etc/openvpn --rm -it uralm1/openvpn ovpn_initpki
4+

openvpn/openvpn-db-log-master.zip

24.6 KB
Binary file not shown.

0 commit comments

Comments
 (0)