Docker image to run an IPsec VPN server, with IPsec/L2TP, Cisco IPsec and IKEv2. Auto-generates server config and supports VPN client setup on Linux, Windows, macOS, iOS and Android.
docker pull hwdsl2/ipsec-vpn-server
docker run -d -p 500:500 --name docker-ipsec-vpn-server hwdsl2/ipsec-vpn-server
docker compose up -d
volumes:
ikev2-vpn-data:
services:
vpn:
image: hwdsl2/ipsec-vpn-server
restart: always
env_file:
- ./vpn.env
ports:
- "500:500/udp"
- "4500:4500/udp"
privileged: true
hostname: ipsec-vpn-server
container_name: ipsec-vpn-server
volumes:
- ikev2-vpn-data:/etc/ipsec.d
- /lib/modules:/lib/modules:ro
# To enable IPv6 support for IKEv2 clients, the Docker host must have a
# public IPv6 address. Uncomment the network section below and configure
# IPv6 in your Docker daemon (set "ipv6": true and "fixed-cidr-v6" in
# /etc/docker/daemon.json), then re-create this container.
# networks:
# vpnnet:
# networks:
# vpnnet:
# enable_ipv6: true
# ipam:
# config:
# - subnet: fddd:1::/64