Torna agli aggiornamenti
UpdatedAug 8, 2026

Docker IPsec VPN Server — Updated!

Server VPN IPsec basato su Docker con supporto per IPsec/L2TP, Cisco IPsec e IKEv2, generazione automatica delle credenziali e configurazione client multi-piattaforma.

Condividi

English | 简体中文 | 繁體中文 | Русский

Server IPsec VPN su Docker

Build Status GitHub Stars Docker Stars Docker Pulls

Immagine Docker per eseguire un server VPN IPsec, con IPsec/L2TP, Cisco IPsec e IKEv2.

Basata su Alpine 3.23 o Debian 12 con Libreswan (software VPN IPsec) e xl2tpd (demone L2TP).

Una VPN IPsec crittografa il tuo traffico di rete, così che nessuno tra te e il server VPN possa intercettare i tuoi dati mentre viaggiano su Internet. Questo è particolarmente utile quando si utilizzano reti non sicure, ad esempio in bar, aeroporti o camere d'albergo.

Caratteristiche:

  • Genera automaticamente le credenziali VPN e la configurazione IKEv2 al primo avvio
  • Supporta IKEv2 con cifrari forti e veloci (es. AES-GCM)
  • Genera profili VPN per configurare automaticamente dispositivi iOS, macOS e Android
  • Supporta Windows, macOS, iOS, Android, Chrome OS e Linux come client VPN
  • Include uno script di supporto per gestire utenti e certificati IKEv2
  • Compilata e pubblicata automaticamente tramite GitHub Actions
  • Dati persistenti tramite un volume Docker
  • Multi-architettura: linux/amd64, linux/arm64, linux/arm/v7

Disponibile anche:

Avvio rapido

Usa questo comando per configurare un server VPN IPsec su Docker:```bash docker run
--name ipsec-vpn-server
--restart=always
-v ikev2-vpn-data:/etc/ipsec.d
-v /lib/modules:/lib/modules:ro
-p 500:500/udp
-p 4500:4500/udp
-d --privileged
hwdsl2/ipsec-vpn-server

I tuoi dati di accesso VPN verranno generati casualmente. Vedi [Recupera i dati di accesso VPN](#retrieve-vpn-login-details).

In alternativa, puoi [configurare IPsec VPN senza Docker](https://github.com/hwdsl2/setup-ipsec-vpn). Per saperne di più su come utilizzare questa immagine, leggi le sezioni seguenti.

## Community

- 📬 [Iscriviti per aggiornamenti sul progetto](https://selfhostedstack.beehiiv.com/subscribe?utm_campaign=vpn) (1–2 email al mese) — ricevi guide gratuite su VPN e AI (PDF)
- 💬 Unisciti alla community [r/selfhostedstack](https://www.reddit.com/r/selfhostedstack/) per discussioni
- ⭐ Metti una stella al repository se lo trovi utile — aiuta altri a scoprirlo

## Requisiti

- Un server Linux con un indirizzo IP pubblico o un nome DNS
- Docker installato
- Porte VPN aperte nel firewall (UDP 500 e 4500)
- Puoi anche usare [Podman](https://docs.podman.io) per eseguire questa immagine, dopo aver creato un alias per `docker`

**Nota:** Gli utenti avanzati possono usare questa immagine su macOS con [Docker for Mac](https://docs.docker.com/desktop/setup/install/mac-install/). Prima di usare la modalità IPsec/L2TP, potrebbe essere necessario riavviare il container una volta con `docker restart ipsec-vpn-server`. Questa immagine non supporta Docker for Windows.

## Download

Ottieni la build affidabile dal [registro Docker Hub](https://hub.docker.com/r/hwdsl2/ipsec-vpn-server/):```bash
docker pull hwdsl2/ipsec-vpn-server

In alternativa, puoi scaricare da Quay.io:```bash docker pull quay.io/hwdsl2/ipsec-vpn-server docker image tag quay.io/hwdsl2/ipsec-vpn-server hwdsl2/ipsec-vpn-server

Piattaforme supportate: `linux/amd64`, `linux/arm64` e `linux/arm/v7`.

Gli utenti avanzati possono [compilare dal codice sorgente](https://gitlab.com/hwdsl2/docker-ipsec-vpn-server/-/blob/master/docs/advanced-usage.md#build-from-source-code) su GitHub.

### Confronto delle immagini

Sono disponibili due immagini precompilate. L'immagine predefinita basata su Alpine è di soli ~19 MB.

|                   | Basata su Alpine             | Basata su Debian                   |
| ----------------- | ------------------------ | ------------------------------ |
| Nome immagine     | hwdsl2/ipsec-vpn-server  | hwdsl2/ipsec-vpn-server:debian |
| Dimensione compressa | ~ 19 MB                  | ~ 62 MB                        |
| Immagine base     | Alpine Linux 3.23        | Debian Linux 12                |
| Piattaforme       | amd64, arm64, arm/v7     | amd64, arm64, arm/v7           |
| Versione Libreswan | 5.4                      | 5.4                            |
| IPsec/L2TP        | ✅                       | ✅                              |
| Cisco IPsec       | ✅                       | ✅                              |
| IKEv2             | ✅                       | ✅                              |

**Nota:** Per utilizzare l'immagine basata su Debian, sostituisci ogni `hwdsl2/ipsec-vpn-server` con `hwdsl2/ipsec-vpn-server:debian` in questo README. Queste immagini non sono attualmente compatibili con i sistemi Synology NAS.

<details>
<summary>
Voglio usare la versione precedente di Libreswan 4.
</summary>

In generale si consiglia di utilizzare l'ultima versione di [Libreswan](https://libreswan.org/) 5, che è la versione predefinita in questo progetto. Tuttavia, se desideri utilizzare la versione precedente di Libreswan 4, puoi compilare l'immagine Docker dal codice sorgente:```bash
git clone https://github.com/hwdsl2/docker-ipsec-vpn-server
cd docker-ipsec-vpn-server
# Specify Libreswan version 4
sed -i 's/SWAN_VER=5\..*/SWAN_VER=4.15/' Dockerfile Dockerfile.debian
# To build Alpine-based image
docker build -t hwdsl2/ipsec-vpn-server .
# To build Debian-based image
docker build -f Dockerfile.debian -t hwdsl2/ipsec-vpn-server:debian .

Come usare questa immagine

Variabili d'ambiente

Nota: Tutte le variabili di questa immagine sono opzionali, il che significa che non devi inserire alcuna variabile e puoi avere un server VPN IPsec pronto all'uso! Per farlo, crea un file env vuoto usando touch vpn.env e passa alla sezione successiva.

Questa immagine Docker utilizza le seguenti variabili, che possono essere dichiarate in un file env (vedi esempio):``` VPN_IPSEC_PSK=your_ipsec_pre_shared_key VPN_USER=your_vpn_username VPN_PASSWORD=your_vpn_password

Questo creerà un account utente per l'accesso VPN, che potrà essere utilizzato dai tuoi più dispositivi[\*](#note-importanti). Il PSK IPsec (chiave pre-condivisa) è specificato dalla variabile d'ambiente `VPN_IPSEC_PSK`. Il nome utente VPN è definito in `VPN_USER`, e la password VPN è specificata da `VPN_PASSWORD`.

Categorie