File tree 15 files changed +246
-0
lines changed
15 files changed +246
-0
lines changed Original file line number Diff line number Diff line change
1
+ FROM rockylinux
2
+ MAINTAINER Andreas Steffen <
[email protected] >
3
+
4
+ RUN \
5
+ # install packages
6
+ dnf install -y epel-release && \
7
+ dnf makecache --refresh && dnf install -y strongswan
8
+ # Expose IKE and NAT-T ports
9
+ EXPOSE 500 4500
Original file line number Diff line number Diff line change
1
+ -----BEGIN EC PRIVATE KEY-----
2
+ MIGkAgEBBDAjNX0721bMFzAxAkJBDgi0rZS42Z2f+ioWQL2gdVke1+/vuI6pvOs0
3
+ ozsASY+GmOigBwYFK4EEACKhZANiAARpFOA0dr+prcP+aO8ev8Kvh/bQoeIbOVqs
4
+ BeecOQNSdPv9gShYECiFiokU4565RzV2wiFdAU39VUs/4bJ/SlK7bvY3HuMDcjAR
5
+ FXXZbtxXbdg1QlWk1alja3rVRaId6Hg=
6
+ -----END EC PRIVATE KEY-----
Original file line number Diff line number Diff line change
1
+ -----BEGIN EC PRIVATE KEY-----
2
+ MIGkAgEBBDDkLe1KrVgC0FpshMBfagyVtPQ3kIemzZ3wXimPc0OTAIIV17nwul7b
3
+ CPIuyJtn44ygBwYFK4EEACKhZANiAARRunfdxuvDneKS/OyDNhsHFBL+m1uT6tcK
4
+ 9NjMMvdKS7p2wm3ZQs5QXcVAVpIW6PSPiX/WTtlxJBHujg8T/lvs7UCIAT0co+ON
5
+ SENyrHzaTj3k8MMX/+fGoP4QY46UMNQ=
6
+ -----END EC PRIVATE KEY-----
Original file line number Diff line number Diff line change
1
+ connections {
2
+
3
+ home {
4
+ remote_addrs = 192.168.0.2
5
+
6
+ local {
7
+ auth = pubkey
8
+ certs = clientCert.pem
9
+ id = client.strongswan.org
10
+ }
11
+ remote {
12
+ auth = pubkey
13
+ id = server.strongswan.org
14
+ }
15
+ children {
16
+ net {
17
+ remote_ts = 10.1.0.0/16
18
+
19
+ esp_proposals = aes256gcm128-ecp384
20
+ rekey_time = 10m
21
+ }
22
+ }
23
+ version = 2
24
+ proposals = aes256-sha256-ecp384
25
+ reauth_time = 15m
26
+ mobike = no
27
+ }
28
+ }
29
+
Original file line number Diff line number Diff line change
1
+ -----BEGIN CERTIFICATE-----
2
+ MIIB/zCCAYWgAwIBAgIIBIWcaj4wj10wCgYIKoZIzj0EAwMwNTELMAkGA1UEBhMC
3
+ Q0gxDjAMBgNVBAoTBUN5YmVyMRYwFAYDVQQDEw1DeWJlciBSb290IENBMB4XDTIy
4
+ MDcyMTAzMDQwNVoXDTI2MDcyMTAzMDQwNVowPTELMAkGA1UEBhMCQ0gxDjAMBgNV
5
+ BAoTBUN5YmVyMR4wHAYDVQQDExVjbGllbnQuc3Ryb25nc3dhbi5vcmcwdjAQBgcq
6
+ hkjOPQIBBgUrgQQAIgNiAARRunfdxuvDneKS/OyDNhsHFBL+m1uT6tcK9NjMMvdK
7
+ S7p2wm3ZQs5QXcVAVpIW6PSPiX/WTtlxJBHujg8T/lvs7UCIAT0co+ONSENyrHza
8
+ Tj3k8MMX/+fGoP4QY46UMNSjWjBYMB8GA1UdIwQYMBaAFLjSYIqHz0jucV3YUSAj
9
+ WsGq5feyMCAGA1UdEQQZMBeCFWNsaWVudC5zdHJvbmdzd2FuLm9yZzATBgNVHSUE
10
+ DDAKBggrBgEFBQcDAjAKBggqhkjOPQQDAwNoADBlAjAMwc04NsXsXTY3JD41qyTs
11
+ +K1zoozk66ifF60ESPaSL9YkWUkEe2eilg9vCKbfqEcCMQC/eCrNK03KPUV2CujQ
12
+ Mr5TkJAVyIW/hhsajGLEL2IVSwL7eNeZrTzsUJrP6bByrpk=
13
+ -----END CERTIFICATE-----
Original file line number Diff line number Diff line change
1
+ -----BEGIN CERTIFICATE-----
2
+ MIIB3zCCAWWgAwIBAgIIWWpjqeLZ9K8wCgYIKoZIzj0EAwMwNTELMAkGA1UEBhMC
3
+ Q0gxDjAMBgNVBAoTBUN5YmVyMRYwFAYDVQQDEw1DeWJlciBSb290IENBMB4XDTIw
4
+ MDMwOTEyMDIwOVoXDTMwMDMwOTEyMDIwOVowNTELMAkGA1UEBhMCQ0gxDjAMBgNV
5
+ BAoTBUN5YmVyMRYwFAYDVQQDEw1DeWJlciBSb290IENBMHYwEAYHKoZIzj0CAQYF
6
+ K4EEACIDYgAEaRTgNHa/qa3D/mjvHr/Cr4f20KHiGzlarAXnnDkDUnT7/YEoWBAo
7
+ hYqJFOOeuUc1dsIhXQFN/VVLP+Gyf0pSu272Nx7jA3IwERV12W7cV23YNUJVpNWp
8
+ Y2t61UWiHeh4o0IwQDAPBgNVHRMBAf8EBTADAQH/MA4GA1UdDwEB/wQEAwIBBjAd
9
+ BgNVHQ4EFgQUuNJgiofPSO5xXdhRICNawarl97IwCgYIKoZIzj0EAwMDaAAwZQIw
10
+ PR1T8MHS+aV9qSueIE9QfPRgEVyvuaz2g4q7DN51SUfypjYoAX+B6BqiR7vfgY2Y
11
+ AjEA65R8XZy0N6LEYgAEPPbQSyCdJudoa4MwidaomSwwgiVDePN356onk/lhURmE
12
+ QBaZ
13
+ -----END CERTIFICATE-----
Original file line number Diff line number Diff line change
1
+ version : " 3"
2
+
3
+ services :
4
+ vpn-server :
5
+ image : strongx509/rocky-linux:latest
6
+ container_name : vpn-server
7
+ cap_add :
8
+ - NET_ADMIN
9
+ - SYS_ADMIN
10
+ - SYS_MODULE
11
+ stdin_open : true
12
+ tty : true
13
+ volumes :
14
+ - ./server:/etc/strongswan/swanctl
15
+ - ./strongswan.conf:/etc/strongswan/strongswan.conf
16
+ networks :
17
+ internet :
18
+ ipv4_address : 192.168.0.2
19
+ intranet :
20
+ ipv4_address : 10.1.0.2
21
+ vpn-client :
22
+ image : strongx509/rocky-linux:latest
23
+ container_name : vpn-client
24
+ depends_on :
25
+ - vpn-server
26
+ cap_add :
27
+ - NET_ADMIN
28
+ - SYS_ADMIN
29
+ - SYS_MODULE
30
+ stdin_open : true
31
+ tty : true
32
+ volumes :
33
+ - ./client:/etc/strongswan/swanctl
34
+ - ./strongswan.conf:/etc/strongswan/strongswan.conf
35
+ networks :
36
+ internet :
37
+ ipv4_address : 192.168.0.3
38
+
39
+ networks :
40
+ internet :
41
+ ipam :
42
+ driver : default
43
+ config :
44
+ - subnet : 192.168.0.0/24
45
+ intranet :
46
+ ipam :
47
+ driver : default
48
+ config :
49
+ - subnet : 10.1.0.0/16
Original file line number Diff line number Diff line change
1
+ pki --gen --type ecdsa --size 384 --outform pem > caKey.pem
2
+
3
+ pki --self --type ecdsa --in caKey.pem --ca --lifetime 3652 \
4
+ --dn " C=CH, O=Cyber, CN=Cyber Root CA" \
5
+ --outform pem > caCert.pem
6
+
7
+ pki --gen --type ecdsa --size 384 --outform pem > serverKey.pem
8
+
9
+ pki --issue --cacert caCert.pem --cakey caKey.pem \
10
+ --type ecdsa --in serverKey.pem --lifetime 1461 \
11
+ --dn " C=CH, O=Cyber, CN=server.strongswan.org" \
12
+ --san server.strongswan.org --flag serverAuth \
13
+ --outform pem > serverCert.pem
14
+
15
+ pki --gen --type ecdsa --size 384 --outform pem > clientKey.pem
16
+
17
+ pki --issue --cacert caCert.pem --cakey caKey.pem \
18
+ --type ecdsa --in clientKey.pem --lifetime 1461 \
19
+ --dn " C=CH, O=Cyber, CN=client.strongswan.org" \
20
+ --san client.strongswan.org --flag clientAuth \
21
+ --outform pem > clientCert.pem
Original file line number Diff line number Diff line change
1
+ #! /bin/sh
2
+
3
+ for dir in client server
4
+ do
5
+ cd $dir
6
+ mkdir -p bliss pkcs12 pkcs8 private pubkey rsa x509aa x509ac x509crl x509ocsp
7
+ cd ..
8
+ done
Original file line number Diff line number Diff line change
1
+ pki --gen --type ecdsa --size 384 --outform pem > serverKey.pem
2
+
3
+ pki --issue --cacert caCert.pem --cakey caKey.pem \
4
+ --type ecdsa --in serverKey.pem --lifetime 1461 \
5
+ --dn " C=CH, O=Cyber, CN=server.strongswan.org" \
6
+ --san server.strongswan.org --flag serverAuth \
7
+ --outform pem > serverCert.pem
8
+
9
+ pki --gen --type ecdsa --size 384 --outform pem > clientKey.pem
10
+
11
+ pki --issue --cacert caCert.pem --cakey caKey.pem \
12
+ --type ecdsa --in clientKey.pem --lifetime 1461 \
13
+ --dn " C=CH, O=Cyber, CN=client.strongswan.org" \
14
+ --san client.strongswan.org --flag clientAuth \
15
+ --outform pem > clientCert.pem
Original file line number Diff line number Diff line change
1
+ -----BEGIN EC PRIVATE KEY-----
2
+ MIGkAgEBBDDpohH7Pq5abXcTYtfa8Y1bEv2JWjGVnzZnkbcXbas2ZlB5bf43vxJ2
3
+ 8FP4XmLVkySgBwYFK4EEACKhZANiAAQSeu5884G2ZeQMK60f8mLyFrqn3I8hFxtu
4
+ BhdsX+YGh24cimdOaLwQIGlNHgqusKcBnhOolAfe1YhOqZ8PjRctaopintt1qarF
5
+ A3WGboXMT3MiclUhERdudlk9ATNeg1E=
6
+ -----END EC PRIVATE KEY-----
Original file line number Diff line number Diff line change
1
+ connections {
2
+
3
+ rw {
4
+ local {
5
+ auth = pubkey
6
+ certs = serverCert.pem
7
+ id = server.strongswan.org
8
+ }
9
+ remote {
10
+ auth = pubkey
11
+ cacerts = caCert.pem
12
+ }
13
+ children {
14
+ net {
15
+ local_ts = 10.1.0.0/24
16
+
17
+ esp_proposals = aes256gcm128-ecp384
18
+ rekey_time = 10m
19
+ dpd_action = trap
20
+ }
21
+ }
22
+ version = 2
23
+ proposals = aes256-sha256-ecp384
24
+ reauth_time = 15m
25
+ dpd_delay = 60s
26
+ mobike = no
27
+ }
28
+ }
29
+
Original file line number Diff line number Diff line change
1
+ -----BEGIN CERTIFICATE-----
2
+ MIIB/jCCAYWgAwIBAgIIcU8jP3aAjFgwCgYIKoZIzj0EAwMwNTELMAkGA1UEBhMC
3
+ Q0gxDjAMBgNVBAoTBUN5YmVyMRYwFAYDVQQDEw1DeWJlciBSb290IENBMB4XDTIy
4
+ MDcyMTAzMDQwNVoXDTI2MDcyMTAzMDQwNVowPTELMAkGA1UEBhMCQ0gxDjAMBgNV
5
+ BAoTBUN5YmVyMR4wHAYDVQQDExVzZXJ2ZXIuc3Ryb25nc3dhbi5vcmcwdjAQBgcq
6
+ hkjOPQIBBgUrgQQAIgNiAAQSeu5884G2ZeQMK60f8mLyFrqn3I8hFxtuBhdsX+YG
7
+ h24cimdOaLwQIGlNHgqusKcBnhOolAfe1YhOqZ8PjRctaopintt1qarFA3WGboXM
8
+ T3MiclUhERdudlk9ATNeg1GjWjBYMB8GA1UdIwQYMBaAFLjSYIqHz0jucV3YUSAj
9
+ WsGq5feyMCAGA1UdEQQZMBeCFXNlcnZlci5zdHJvbmdzd2FuLm9yZzATBgNVHSUE
10
+ DDAKBggrBgEFBQcDATAKBggqhkjOPQQDAwNnADBkAjA0x/9mckjUi2FbNBr/+U9F
11
+ Ko6+2E11e6Bj9fc6aiwmblLdUrO5UfcC3HciHlHI7NQCMEgevkGwceM9XFebtP4A
12
+ 5ER/60lvkoJ1L5rvU7S91F07rMRB49iadEUb7JqqOaFxeQ==
13
+ -----END CERTIFICATE-----
Original file line number Diff line number Diff line change
1
+ -----BEGIN CERTIFICATE-----
2
+ MIIB3zCCAWWgAwIBAgIIWWpjqeLZ9K8wCgYIKoZIzj0EAwMwNTELMAkGA1UEBhMC
3
+ Q0gxDjAMBgNVBAoTBUN5YmVyMRYwFAYDVQQDEw1DeWJlciBSb290IENBMB4XDTIw
4
+ MDMwOTEyMDIwOVoXDTMwMDMwOTEyMDIwOVowNTELMAkGA1UEBhMCQ0gxDjAMBgNV
5
+ BAoTBUN5YmVyMRYwFAYDVQQDEw1DeWJlciBSb290IENBMHYwEAYHKoZIzj0CAQYF
6
+ K4EEACIDYgAEaRTgNHa/qa3D/mjvHr/Cr4f20KHiGzlarAXnnDkDUnT7/YEoWBAo
7
+ hYqJFOOeuUc1dsIhXQFN/VVLP+Gyf0pSu272Nx7jA3IwERV12W7cV23YNUJVpNWp
8
+ Y2t61UWiHeh4o0IwQDAPBgNVHRMBAf8EBTADAQH/MA4GA1UdDwEB/wQEAwIBBjAd
9
+ BgNVHQ4EFgQUuNJgiofPSO5xXdhRICNawarl97IwCgYIKoZIzj0EAwMDaAAwZQIw
10
+ PR1T8MHS+aV9qSueIE9QfPRgEVyvuaz2g4q7DN51SUfypjYoAX+B6BqiR7vfgY2Y
11
+ AjEA65R8XZy0N6LEYgAEPPbQSyCdJudoa4MwidaomSwwgiVDePN356onk/lhURmE
12
+ QBaZ
13
+ -----END CERTIFICATE-----
Original file line number Diff line number Diff line change
1
+ # strongSwan configuration file
2
+
3
+ charon {
4
+ load = random nonce pem x509 openssl constraints pki socket-default kernel-netlink vici swanctl resolve
5
+
6
+ start-scripts {
7
+ creds = swanctl --load-creds
8
+ conns = swanctl --load-conns
9
+ }
10
+ filelog {
11
+ stderr {
12
+ default = 1
13
+ }
14
+ }
15
+ # make_before_break = yes
16
+ }
You can’t perform that action at this time.
0 commit comments