-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathDockerfile
82 lines (72 loc) · 2.65 KB
/
Dockerfile
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
FROM alpine:3.15 as builder
ENV STRONGSWAN_RELEASE=https://download.strongswan.org/old/5.x/strongswan-5.9.9.tar.bz2
ARG REPOSITORY_URL=mirrors.tuna.tsinghua.edu.cn
RUN sed -i "s/dl-cdn.alpinelinux.org/${REPOSITORY_URL}/g" /etc/apk/repositories && \
apk --update add build-base \
curl \
clang \
ca-certificates \
gmp-dev \
iptables-dev \
openssl-dev && \
mkdir -p /tmp/strongswan && \
curl -Lo /tmp/strongswan.tar.bz2 $STRONGSWAN_RELEASE && \
tar --strip-components=1 -C /tmp/strongswan -xjf /tmp/strongswan.tar.bz2 && \
cd /tmp/strongswan && \
./configure CC=clang \
--prefix=/usr \
--sysconfdir=/etc \
--libexecdir=/usr/lib \
--with-ipsecdir=/usr/lib/strongswan \
--enable-cmd \
--enable-eap-identity \
--enable-eap-md5 \
--enable-eap-mschapv2 \
--enable-eap-radius \
--enable-eap-tls \
--enable-openssl \
--enable-shared \
--enable-gmp \
--enable-eap-aka \
--enable-eap-aka-3gpp2 \
--enable-eap-sim \
--enable-eap-simaka-pseudonym \
--enable-eap-simaka-reauth \
--enable-xauth-eap \
--enable-xauth-generic \
--enable-mediation \
--disable-aes \
--disable-des \
--disable-hmac \
--disable-ikev1 \
--disable-md5 \
--disable-rc2 \
--disable-sha1 \
--disable-sha2 \
--disable-kdf \
--disable-gcm \
--disable-static && \
make && \
make install
FROM alpine:3.15
ARG REPOSITORY_URL=mirrors.tuna.tsinghua.edu.cn
RUN --mount=type=bind,from=builder,source=/,target=/builder cp -r /builder/etc/strongswan.d/ \
/builder/etc/strongswan.conf \
/builder/etc/ipsec.d/ \
/builder/etc/ipsec.conf \
/builder/etc/swanctl \
/etc/ && \
cp -r /builder/usr/sbin/charon-cmd \
/builder/usr/sbin/swanctl \
/builder/usr/sbin/ipsec \
/usr/sbin/ && \
cp -r /builder/usr/share/strongswan /usr/share/ && \
cp -r /builder/usr/lib/strongswan /builder/usr/lib/ipsec /usr/lib && \
cp /builder/usr/bin/pki /usr/bin && \
sed -i "s/dl-cdn.alpinelinux.org/${REPOSITORY_URL}/g" /etc/apk/repositories && \
apk --update add gmp-dev && \
sed -i 's/# install_routes = yes/install_routes = no/' /etc/strongswan.d/charon.conf && \
rm -rf /var/cache/apk/
EXPOSE 500/udp 4500/udp
ENTRYPOINT ["/usr/sbin/ipsec"]
CMD ["start", "--nofork"]