
Servidor VPN IPsec baseado em Docker com suporte a IPsec/L2TP, IPsec Cisco e IKEv2, com geração automática de credenciais e configuração de clientes multiplataforma.
English | 简体中文 | 繁體中文 | Русский
Imagem Docker para executar um servidor VPN IPsec, com IPsec/L2TP, Cisco IPsec e IKEv2.
Baseada em Alpine 3.23 ou Debian 12 com Libreswan (software de VPN IPsec) e xl2tpd (daemon L2TP).
Uma VPN IPsec criptografa o seu tráfego de rede, de modo que ninguém entre você e o servidor VPN possa interceptar os seus dados enquanto eles trafegam pela Internet. Isso é especialmente útil ao usar redes não seguras, por exemplo, em cafeterias, aeroportos ou quartos de hotel.
Recursos:
linux/amd64, linux/arm64, linux/arm/v7Também disponível:
📘 Interessado em IA auto-hospedada? The Self-Hosted AI Builder’s Guide é um guia prático para construir, proteger e operar a sua própria pilha de IA privada.
Use este comando para configurar um servidor VPN IPsec no Docker:
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
Seus dados de login da VPN serão gerados aleatoriamente. Consulte Recuperar dados de login da VPN.
Como alternativa, você pode configurar uma VPN IPsec sem Docker. Para saber mais sobre como usar esta imagem, leia as seções abaixo.
dockerNota: Usuários avançados podem usar esta imagem no macOS com o Docker for Mac. Antes de usar o modo IPsec/L2TP, talvez seja necessário reiniciar o contêiner uma vez com docker restart ipsec-vpn-server. Esta imagem não é compatível com o Docker for Windows.
Obtenha a build confiável do registro do Docker Hub:
docker pull hwdsl2/ipsec-vpn-server
Como alternativa, você pode baixar do Quay.io:
docker pull quay.io/hwdsl2/ipsec-vpn-server
docker image tag quay.io/hwdsl2/ipsec-vpn-server hwdsl2/ipsec-vpn-server
Plataformas suportadas: linux/amd64, linux/arm64 e linux/arm/v7.
Utilizadores avançados podem compilar a partir do código-fonte no GitHub.
Estão disponíveis duas imagens pré-compiladas. A imagem padrão baseada em Alpine tem apenas ~19 MB.
| Baseada em Alpine | Baseada em Debian | |
|---|---|---|
| Nome da imagem | hwdsl2/ipsec-vpn-server | hwdsl2/ipsec-vpn-server:debian |
| Tamanho comprimido | ~ 19 MB | ~ 62 MB |
| Imagem base | Alpine Linux 3.23 | Debian Linux 12 |
| Plataformas | amd64, arm64, arm/v7 | amd64, arm64, arm/v7 |
| Versão do Libreswan | 5.4.1 | 5.4.1 |
| IPsec/L2TP | ✅ | ✅ |
| Cisco IPsec | ✅ | ✅ |
| IKEv2 | ✅ | ✅ |
Nota: Para utilizar a imagem baseada em Debian, substitua cada hwdsl2/ipsec-vpn-server por hwdsl2/ipsec-vpn-server:debian neste README. Estas imagens não são atualmente compatíveis com sistemas Synology NAS.
Geralmente recomenda-se utilizar a versão mais recente do Libreswan 5, que é a versão padrão neste projeto. No entanto, se quiser utilizar a versão mais antiga do Libreswan 4, pode compilar a imagem Docker a partir do código-fonte:
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 .
Nota: Todas as variáveis desta imagem são opcionais, o que significa que você não precisa digitar nenhuma variável e pode ter um servidor VPN IPsec pronto para uso! Para isso, crie um arquivo env vazio usando touch vpn.env e pule para a próxima seção.
Esta imagem Docker usa as seguintes variáveis, que podem ser declaradas em um arquivo env (veja exemplo):
VPN_IPSEC_PSK=your_ipsec_pre_shared_key
VPN_USER=your_vpn_username
VPN_PASSWORD=your_vpn_password
Isso criará uma conta de usuário para login VPN, que pode ser usada pelos seus múltiplos dispositivos*. O IPsec PSK (chave pré-compartilhada) é especificado pela variável de ambiente VPN_IPSEC_PSK. O nome de usuário VPN é definido em VPN_USER, e a senha VPN é especificada por VPN_PASSWORD.