Skip to content

hsousa/docker-strongswan

This branch is 1 commit ahead of kitten/docker-strongswan:master.

Folders and files

NameName
Last commit message
Last commit date

Latest commit

c45cc37 · Jul 12, 2018

History

25 Commits
Nov 21, 2015
Nov 21, 2015
Nov 21, 2015
Oct 2, 2017
Nov 21, 2015
Nov 22, 2015
Nov 21, 2015
Jan 8, 2017
Nov 21, 2015
Jul 12, 2018
Nov 21, 2015
Jan 8, 2017
Jan 12, 2016
Jan 12, 2016
Jan 12, 2016
Jan 12, 2016
Jan 12, 2016
Nov 21, 2015

Repository files navigation

Strongswan on Docker

Base docker image to run a Strongswan IPsec and a XL2TPD server.

Usage

Run the following to start the container:

docker run -d -p 500:500/udp -p 4500:4500/udp -p 1701:1701/udp --privileged philplckthun/strongswan

If you haven't set any login credentials via configuration files or environment variables, then a new random password will be set. To get it, read the logs of the running container:

docker logs <CONTAINER>

Search for this line in the output at the top:

No VPN_PASSWORD set! Generated a random password: mrXEv2S3F
No VPN_PSK set! Generated a random PSK key: NZESSabnC

Here, the user hasn't set a PSK secret and password.

Environment variables

By default a single account is added for EAP and XAuth login.

Its password is specified by the VPN_PASSWORD environment variable, and its username is specified by the VPN_USER variable.

VPN_USER defaults to user and VPN_PASSWORD is randomised if not changed.

The PSK (pre-shared key) is specified in the VPN_PSK environment variable, and is randomised as well.

You can inject these variables through docker run:

docker run ... -e VPN_USER=dave VPN_PASSWORD=dave-is-awesome ...

Volume / Configuration files

There is a single volume that is mounted at /etc/ipsec.d. Through it you can add a lot of Strongswan configuration. Additionally you can overwrite:

  • /etc/ppp/l2tp-secrets
  • /etc/ipsec.secrets
  • /etc/ipsec.conf
  • /etc/strongswan.conf
  • /etc/xl2tpd.conf

with it, by putting your configuration files in that volume folder as well. They will be copied to the correct locations.

Services running

There are two services running: Strongswan and addtionally XL2TPD for IPSec/L2TP support.

The default IPSec configuration supports:

  • IKEv2 with EAP Authentication (Though a certificate has to be added for that to work)
  • IKEv2 with PSK
  • IKEv1 with PSK and XAuth (Cisco IPSec)
  • IPSec/L2TP with PSK

The ports that are exposed for this container to work are:

  • 4500/udp and 500/udp for IPSec
  • 1701/udp for L2TP

About

Docker image for easily setting up a secure StrongSwan VPN

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Shell 85.9%
  • Python 14.1%