Skip to content
KitploitKITPLOIT
FerramentasExploitsBlog
Log in
Enviar
FerramentasExploitsBlog
Enviar

Ferramentas de Hacking, PenTest e Cibersegurança para o seu Arsenal de Segurança!

Kitploit é um diretório de ferramentas de hacking, cibersegurança e pentesting. Descubra as últimas atualizações de projetos para encontrar vulnerabilidades, analisar sistemas, automatizar testes e fortalecer sua segurança.

FeedsContatoPrivacidade© 2026 Kitploit

Diretório de Ferramentas

Categorias

Ver todas as categorias
Loading categories
Docker IPsec VPN Server — 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. | Kitploit
Ferramentas/GitLabGitLab/hwdsl2/docker-ipsec-vpn-server
Ferramentas de Criptografia/DescriptografiaSegurança de Rede
GitLabhwdsl2/docker-ipsec-vpn-server

Docker IPsec VPN Server

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.

Ver Repositório

Mais Populares

Ver todos →

Descubra as ferramentas mais usadas pela nossa comunidade.

Explore todas as ferramentas

Navegue pela nossa coleção de ferramentas

Ver todas as ferramentas →
Compartilhar
89há 4 diasAinda não revisado
[English](https://gitlab.com/hwdsl2/docker-ipsec-vpn-server/-/blob/master/README.md) | [简体中文](https://gitlab.com/hwdsl2/docker-ipsec-vpn-server/-/blob/master/README-zh.md) | [繁體中文](https://gitlab.com/hwdsl2/docker-ipsec-vpn-server/-/blob/master/README-zh-Hant.md) | [Русский](https://gitlab.com/hwdsl2/docker-ipsec-vpn-server/-/blob/master/README-ru.md)

# Servidor VPN IPsec no Docker

[![Build Status](https://github.com/hwdsl2/docker-ipsec-vpn-server/actions/workflows/main-alpine.yml/badge.svg)](https://github.com/hwdsl2/docker-ipsec-vpn-server/actions/workflows/main-alpine.yml) [![GitHub Stars](https://raw.githubusercontent.com/hwdsl2/badges/main/img/github-stars-docker-ipsec-vpn-server.svg)](https://github.com/hwdsl2/docker-ipsec-vpn-server/stargazers) [![Docker Stars](https://raw.githubusercontent.com/hwdsl2/badges/main/img/docker-stars-ipsec-vpn-server.svg)](https://hub.docker.com/r/hwdsl2/ipsec-vpn-server/) [![Docker Pulls](https://raw.githubusercontent.com/hwdsl2/badges/main/img/docker-pulls-ipsec-vpn-server.svg)](https://hub.docker.com/r/hwdsl2/ipsec-vpn-server/)

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](https://libreswan.org) (software de VPN IPsec) e [xl2tpd](https://github.com/xelerance/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:**

- Gera automaticamente as credenciais VPN e a configuração IKEv2 na primeira inicialização
- Suporta IKEv2 com cifras fortes e rápidas (por exemplo, AES-GCM)
- Gera perfis VPN para configurar automaticamente dispositivos iOS, macOS e Android
- Suporta Windows, macOS, iOS, Android, Chrome OS e Linux como clientes VPN
- Inclui um script auxiliar para gerenciar usuários e certificados IKEv2
- Compilada e publicada automaticamente via [GitHub Actions](https://github.com/hwdsl2/docker-ipsec-vpn-server/actions)
- Dados persistentes via um volume Docker
- Multi-arquitetura: `linux/amd64`, `linux/arm64`, `linux/arm/v7`

**Também disponível:**

- VPN: [IPsec sem Docker](https://github.com/hwdsl2/setup-ipsec-vpn), [WireGuard](https://github.com/hwdsl2/docker-wireguard), [OpenVPN](https://github.com/hwdsl2/docker-openvpn), [Headscale](https://github.com/hwdsl2/docker-headscale)
- IA: [Self-Hosted AI Stack](https://github.com/hwdsl2/self-hosted-ai-stack) para LLMs locais, chat, RAG, voz e ferramentas de IA

> 📘 Interessado em IA auto-hospedada? [The Self-Hosted AI Builder’s Guide](https://books2read.com/aiguide?store=amazon) é um guia prático para construir, proteger e operar a sua própria pilha de IA privada.

## Início rápido

Use este comando para configurar um servidor VPN IPsec no 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
```

Seus dados de login da VPN serão gerados aleatoriamente. Consulte [Recuperar dados de login da VPN](#retrieve-vpn-login-details).

Como alternativa, você pode [configurar uma VPN IPsec sem Docker](https://github.com/hwdsl2/setup-ipsec-vpn). Para saber mais sobre como usar esta imagem, leia as seções abaixo.

## Comunidade

- 📬 [Receba atualizações do projeto e guias de implantação gratuitos](https://selfhostedstack.beehiiv.com/subscribe?utm_campaign=vpn) (1–2 e-mails/mês)
- 💬 Participe da comunidade [r/selfhostedstack](https://www.reddit.com/r/selfhostedstack/) para discussões
- ⭐ Dê uma estrela ao repositório se achar útil — isso ajuda outras pessoas a descobri-lo

## Requisitos

- Um servidor Linux com um endereço IP público ou nome DNS
- Docker instalado
- Portas da VPN abertas no seu firewall (UDP 500 e 4500)
- Você também pode usar o [Podman](https://docs.podman.io) para executar esta imagem, após criar um alias para `docker`

**Nota:** Usuários avançados podem usar esta imagem no macOS com o [Docker for Mac](https://docs.docker.com/desktop/setup/install/mac-install/). 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.

## Download

Obtenha a build confiável do [registro do Docker Hub](https://hub.docker.com/r/hwdsl2/ipsec-vpn-server/):

```bash
docker pull hwdsl2/ipsec-vpn-server
```

Como alternativa, você pode baixar do [Quay.io](https://quay.io/repository/hwdsl2/ipsec-vpn-server):

```bash
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](https://gitlab.com/hwdsl2/docker-ipsec-vpn-server/-/blob/master/docs/advanced-usage.md#build-from-source-code) no GitHub.

### Comparação de imagens

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.

<details>
<summary>
Quero utilizar a versão mais antiga do Libreswan 4.
</summary>

Geralmente recomenda-se utilizar a versão mais recente do [Libreswan](https://libreswan.org/) 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:

```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 .
```
</details>

## Como usar esta imagem

### Variáveis de ambiente

**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](https://gitlab.com/hwdsl2/docker-ipsec-vpn-server/-/blob/master/vpn.env.example)):

```
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[\*](#important-notes). 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`.

Usuários VPN adicionais são suportados, e podem ser opcionalmente declarados no seu arquivo `env` assim. Nomes de usuário e senhas devem ser separados por espaços, e nomes de usuário não podem conter duplicatas. Todos os usuários VPN compartilharão o mesmo IPsec PSK.

```
VPN_ADDL_USERS=additional_username_1 additional_username_2
VPN_ADDL_PASSWORDS=additional_password_1 additional_password_2
```

As variáveis acima são apenas para os modos IPsec/L2TP e IPsec/XAuth ("Cisco IPsec"). Para IKEv2, consulte [Configurar e usar a VPN IKEv2](#configure-and-use-ikev2-vpn).

> [!IMPORTANT]
> No seu arquivo `env`, escreva os valores sem aspas ou espaços ao redor do `=`. Os valores não devem conter `\`, `"` ou `'`. Uma PSK IPsec segura deve consistir em pelo menos 20 caracteres aleatórios.

**Nota:** Se você modificar o arquivo `env` depois que o contêiner Docker já foi criado, você deve remover e recriar o contêiner para que as alterações tenham efeito. Consulte [Atualizar imagem Docker](#update-docker-image).

### Variáveis de ambiente adicionais

Usuários avançados podem opcionalmente especificar um nome DNS, nome do cliente e/ou servidores DNS personalizados.

<details>
<summary>
Saiba como especificar um nome DNS, nome do cliente e/ou servidores DNS personalizados.
</summary>

Usuários avançados podem opcionalmente especificar um nome DNS para o endereço do servidor IKEv2. O nome DNS deve ser um nome de domínio totalmente qualificado (FQDN). Exemplo:

```
VPN_DNS_NAME=vpn.example.com
```

Você pode especificar um nome para o primeiro cliente IKEv2. Use apenas uma palavra, sem caracteres especiais exceto `-` e `_`. O padrão é `vpnclient` se não for especificado.

```
VPN_CLIENT_NAME=your_client_name
```

Por padrão, os clientes são configurados para usar o [Google Public DNS](https://developers.google.com/speed/public-dns/) quando a VPN está ativa. Você pode especificar servidor(es) DNS personalizado(s) para todos os modos de VPN. Exemplo:

```
VPN_DNS_SRV1=1.1.1.1
VPN_DNS_SRV2=1.0.0.1
```

Para mais detalhes e uma lista de alguns provedores de DNS públicos populares, consulte [Use alternative DNS servers](https://gitlab.com/hwdsl2/docker-ipsec-vpn-server/-/blob/master/docs/advanced-usage.md).

Por padrão, nenhuma senha é necessária ao importar a configuração do cliente IKEv2. Você pode optar por proteger os arquivos de configuração do cliente usando uma senha aleatória.

```
VPN_PROTECT_CONFIG=yes
```

**Nota:** As variáveis acima não têm efeito para o modo IKEv2, se o IKEv2 já estiver configurado no contêiner Docker. Neste caso, você pode remover o IKEv2 e configurá-lo novamente usando opções personalizadas. Consulte [Configurar e usar VPN IKEv2](#configure-and-use-ikev2-vpn).
</details>

### Iniciar o servidor VPN IPsec

Crie um novo contêiner Docker a partir desta imagem (substitua `./vpn.env` pelo seu próprio arquivo `env`):

```bash
docker run \
    --name ipsec-vpn-server \
    --env-file ./vpn.env \
    --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
```

Neste comando, usamos a opção `-v` do `docker run` para criar um novo [volume Docker](https://docs.docker.com/storage/volumes/) chamado `ikev2-vpn-data` e montá-lo em `/etc/ipsec.d` no contêiner. Dados relacionados ao IKEv2, como certificados e chaves, persistirão no volume e, posteriormente, quando você precisar recriar o contêiner Docker, basta especificar o mesmo volume novamente.

Recomenda-se habilitar o IKEv2 ao usar esta imagem. No entanto, se você preferir não habilitar o IKEv2 e usar apenas os modos IPsec/L2TP e IPsec/XAuth ("Cisco IPsec") para se conectar à VPN, remova a primeira opção `-v` do comando `docker run` acima.

**Nota:** Usuários avançados também podem [executar sem o modo privilegiado](https://gitlab.com/hwdsl2/docker-ipsec-vpn-server/-/blob/master/docs/advanced-usage.md#run-without-privileged-mode).

### Recuperar os detalhes de login da VPN

Se você não especificou um arquivo `env` no comando `docker run` acima, `VPN_USER` será definido como `vpnuser` por padrão, e tanto `VPN_IPSEC_PSK` quanto `VPN_PASSWORD` serão gerados aleatoriamente. Para recuperá-los, visualize os logs do contêiner:

```bash
docker logs ipsec-vpn-server
```

Procure por estas linhas na saída:

```
Connect to your new VPN with these details:

Server IP: your_vpn_server_ip
IPsec PSK: your_ipsec_pre_shared_key
Username: your_vpn_username
Password: your_vpn_password
```

A saída também incluirá detalhes para o modo IKEv2, se ativado.

(Opcional) Faça backup dos detalhes de login da VPN gerados (se houver) para o diretório atual:

```bash
docker cp ipsec-vpn-server:/etc/ipsec.d/vpn-gen.env ./
```

## Usando docker-compose

```bash
cp vpn.env.example vpn.env
# Edit vpn.env if needed, then:
docker compose up -d
docker logs ipsec-vpn-server
```

Exemplo de `docker-compose.yml` (já incluído):

```yaml
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
```

## Próximos passos

*Leia isto em outros idiomas: [English](https://gitlab.com/hwdsl2/docker-ipsec-vpn-server/-/blob/master/README.md#next-steps), [简体中文](https://gitlab.com/hwdsl2/docker-ipsec-vpn-server/-/blob/master/README-zh.md#下一步), [繁體中文](https://gitlab.com/hwdsl2/docker-ipsec-vpn-server/-/blob/master/README-zh-Hant.md#下一步), [Русский](https://gitlab.com/hwdsl2/docker-ipsec-vpn-server/-/blob/master/README-ru.md#следующие-шаги).*

Configure seu computador ou dispositivo para usar a VPN. Consulte:

**[Configurar e usar a VPN IKEv2 (recomendado)](#configure-and-use-ikev2-vpn)**

**[Configurar clientes VPN IPsec/L2TP](https://github.com/hwdsl2/setup-ipsec-vpn/blob/master/docs/clients.md)**

**[Configurar clientes VPN IPsec/XAuth ("Cisco IPsec")](https://github.com/hwdsl2/setup-ipsec-vpn/blob/master/docs/clients-xauth.md)**

**Leia o [📘 livro sobre VPN](https://gitlab.com/hwdsl2/docker-ipsec-vpn-server/-/blob/master/docs/vpn-book.md) para acessar [conteúdo extra](https://ko-fi.com/post/Support-this-project-and-get-access-to-supporter-o-O5O7FVF8J).**

Aproveite sua própria VPN! :sparkles::tada::rocket::sparkles:

## Notas importantes

**Usuários do Windows**: Para o modo IPsec/L2TP, é necessária uma [alteração única no registro](https://github.com/hwdsl2/setup-ipsec-vpn/blob/master/docs/clients.md#windows-error-809) se o servidor ou cliente VPN estiver atrás de NAT (por exemplo, roteador doméstico).

A mesma conta VPN pode ser usada por vários dispositivos. No entanto, devido a uma limitação do IPsec/L2TP, se você deseja conectar vários dispositivos atrás do mesmo NAT (por exemplo, roteador doméstico), você deve usar o modo [IKEv2](#configure-and-use-ikev2-vpn) ou [IPsec/XAuth](https://github.com/hwdsl2/setup-ipsec-vpn/blob/master/docs/clients-xauth.md).

Se você deseja adicionar, editar ou remover contas de usuário VPN, primeiro atualize seu arquivo `env`, depois você deve remover e recriar o contêiner Docker usando as instruções da [próxima seção](#update-docker-image). Usuários avançados podem [montar por bind](https://gitlab.com/hwdsl2/docker-ipsec-vpn-server/-/blob/master/docs/advanced-usage.md#bind-mount-the-env-file) o arquivo `env`.

Para servidores com firewall externo (por exemplo, [EC2](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-security-groups.html)/[GCE](https://cloud.google.com/vpc/docs/firewalls)), abra as portas UDP 500 e 4500 para a VPN. Usuários do Aliyun, vejam [#433](https://github.com/hwdsl2/setup-ipsec-vpn/issues/433).

Os clientes estão configurados para usar o [Google Public DNS](https://developers.google.com/speed/public-dns/) quando a VPN estiver ativa. Se outro provedor de DNS for preferido, leia [esta seção](https://gitlab.com/hwdsl2/docker-ipsec-vpn-server/-/blob/master/docs/advanced-usage.md#use-alternative-dns-servers).

## Atualizar imagem Docker

Para atualizar a imagem e o contêiner Docker, primeiro [baixe](#download) a versão mais recente:

```bash
docker pull hwdsl2/ipsec-vpn-server
```

Se a imagem Docker já estiver atualizada, você deverá ver:

```
Status: Image is up to date for hwdsl2/ipsec-vpn-server:latest
```

Caso contrário, ele baixará a versão mais recente. Para atualizar seu contêiner Docker, primeiro anote seus [detalhes de login da VPN](#retrieve-vpn-login-details). Em seguida, remova o contêiner Docker com `docker rm -f ipsec-vpn-server`. Por fim, recrie-o usando as instruções de [Como usar esta imagem](#how-to-use-this-image).

## Configurar e usar a VPN IKEv2

O modo IKEv2 tem melhorias em relação ao IPsec/L2TP e ao IPsec/XAuth ("Cisco IPsec"), e não requer uma PSK IPsec, nome de usuário ou senha. Leia mais [aqui](https://github.com/hwdsl2/setup-ipsec-vpn/blob/master/docs/ikev2-howto.md).

Primeiro, verifique os logs do contêiner para visualizar detalhes do IKEv2:

```bash
docker logs ipsec-vpn-server
```

**Nota:** Se você não conseguir encontrar os detalhes do IKEv2, o IKEv2 pode não estar habilitado no contêiner. Tente atualizar a imagem e o contêiner do Docker usando as instruções da seção [Atualizar imagem do Docker](#update-docker-image).

Durante a configuração do IKEv2, um cliente IKEv2 (com o nome padrão `vpnclient`) é criado, com sua configuração exportada para `/etc/ipsec.d` **dentro do contêiner**. Para copiar o(s) arquivo(s) de configuração para o host do Docker:

```bash
# Check contents of /etc/ipsec.d in the container
docker exec -it ipsec-vpn-server ls -l /etc/ipsec.d
# Example: Copy a client config file from the container
# to the current directory on the Docker host
docker cp ipsec-vpn-server:/etc/ipsec.d/vpnclient.p12 ./
```

**Próximos passos:** [Configure seus dispositivos](https://github.com/hwdsl2/setup-ipsec-vpn/blob/master/docs/ikev2-howto.md) para usar a VPN IKEv2.

<details>
<summary>
Saiba como gerenciar clientes IKEv2.
</summary>

Você pode gerenciar clientes IKEv2 usando o script auxiliar. Veja os exemplos abaixo. Para personalizar as opções do cliente, execute o script sem argumentos.

```bash
# Add a new client (using default options)
docker exec -it ipsec-vpn-server ikev2.sh --addclient [client name]
# Export configuration for an existing client
docker exec -it ipsec-vpn-server ikev2.sh --exportclient [client name]
# List existing clients
docker exec -it ipsec-vpn-server ikev2.sh --listclients
# Show usage
docker exec -it ipsec-vpn-server ikev2.sh -h
```

**Nota:** Se você encontrar o erro "executable file not found", substitua `ikev2.sh` acima por `/opt/src/ikev2.sh`.
</details>
<details>
<summary>
Saiba como alterar o endereço do servidor IKEv2.
</summary>

Em certas circunstâncias, você pode precisar alterar o endereço do servidor IKEv2. Por exemplo, para mudar para usar um nome DNS, ou após a alteração do IP do servidor. Para alterar o endereço do servidor IKEv2, primeiro [abra um shell bash dentro do contêiner](https://gitlab.com/hwdsl2/docker-ipsec-vpn-server/-/blob/master/docs/advanced-usage.md#bash-shell-inside-container), depois [siga estas instruções](https://github.com/hwdsl2/setup-ipsec-vpn/blob/master/docs/ikev2-howto.md#change-ikev2-server-address). Observe que os logs do contêiner não mostrarão o novo endereço do servidor IKEv2 até que você reinicie o contêiner Docker.
</details>
<details>
<summary>
Remova o IKEv2 e configure-o novamente usando opções personalizadas.
</summary>

Em certas circunstâncias, você pode precisar remover o IKEv2 e configurá-lo novamente usando opções personalizadas.

**Aviso:** Toda a configuração do IKEv2, incluindo certificados e chaves, será **permanentemente excluída**. Isso **não pode ser desfeito**!

**Opção 1:** Remova o IKEv2 e configure-o novamente usando o script auxiliar.

Observe que isso substituirá as variáveis que você especificou no arquivo `env`, como `VPN_DNS_NAME` e `VPN_CLIENT_NAME`, e os logs do contêiner não mostrarão mais informações atualizadas para o IKEv2.

```bash
# Remove IKEv2 and delete all IKEv2 configuration
docker exec -it ipsec-vpn-server ikev2.sh --removeikev2
# Set up IKEv2 again using custom options
docker exec -it ipsec-vpn-server ikev2.sh
```

**Opção 2:** Remover `ikev2-vpn-data` e recriar o contêiner.

1. Anote todos os seus [detalhes de login da VPN](#retrieve-vpn-login-details).
1. Remova o contêiner Docker: `docker rm -f ipsec-vpn-server`.
1. Remova o volume `ikev2-vpn-data`: `docker volume rm ikev2-vpn-data`.
1. Atualize seu arquivo `env` e adicione opções personalizadas de IKEv2, como `VPN_DNS_NAME` e `VPN_CLIENT_NAME`, depois recrie o contêiner. Consulte [Como usar esta imagem](#how-to-use-this-image).
</details>

## Uso avançado

Consulte [Uso avançado](https://gitlab.com/hwdsl2/docker-ipsec-vpn-server/-/blob/master/docs/advanced-usage.md).

- [Usar servidores DNS alternativos](https://gitlab.com/hwdsl2/docker-ipsec-vpn-server/-/blob/master/docs/advanced-usage.md#use-alternative-dns-servers)
- [Executar sem modo privilegiado](https://gitlab.com/hwdsl2/docker-ipsec-vpn-server/-/blob/master/docs/advanced-usage.md#run-without-privileged-mode)
- [Selecionar modos de VPN](https://gitlab.com/hwdsl2/docker-ipsec-vpn-server/-/blob/master/docs/advanced-usage.md#select-vpn-modes)
- [Ativar sigilo perfeito futuro (PFS) do IKEv2](https://gitlab.com/hwdsl2/docker-ipsec-vpn-server/-/blob/master/docs/advanced-usage.md#enable-ikev2-perfect-forward-secrecy)
- [Acessar outros contêineres no host Docker](https://gitlab.com/hwdsl2/docker-ipsec-vpn-server/-/blob/master/docs/advanced-usage.md#access-other-containers-on-the-docker-host)
- [Especificar o IP público do servidor VPN](https://gitlab.com/hwdsl2/docker-ipsec-vpn-server/-/blob/master/docs/advanced-usage.md#specify-vpn-servers-public-ip)
- [Atribuir IPs estáticos aos clientes VPN](https://gitlab.com/hwdsl2/docker-ipsec-vpn-server/-/blob/master/docs/advanced-usage.md#assign-static-ips-to-vpn-clients)
- [Personalizar sub-redes da VPN](https://gitlab.com/hwdsl2/docker-ipsec-vpn-server/-/blob/master/docs/advanced-usage.md#customize-vpn-subnets)
- [Suporte a IPv6](https://gitlab.com/hwdsl2/docker-ipsec-vpn-server/-/blob/master/docs/advanced-usage.md#ipv6-support)
- [Split tunneling](https://gitlab.com/hwdsl2/docker-ipsec-vpn-server/-/blob/master/docs/advanced-usage.md#split-tunneling)
- [Sobre o modo de rede do host](https://gitlab.com/hwdsl2/docker-ipsec-vpn-server/-/blob/master/docs/advanced-usage.md#about-host-network-mode)
- [Ativar logs do Libreswan](https://gitlab.com/hwdsl2/docker-ipsec-vpn-server/-/blob/master/docs/advanced-usage.md#enable-libreswan-logs)
- [Verificar o status do servidor](https://gitlab.com/hwdsl2/docker-ipsec-vpn-server/-/blob/master/docs/advanced-usage.md#check-server-status)
- [Compilar a partir do código-fonte](https://gitlab.com/hwdsl2/docker-ipsec-vpn-server/-/blob/master/docs/advanced-usage.md#build-from-source-code)
- [Shell Bash dentro do contêiner](https://gitlab.com/hwdsl2/docker-ipsec-vpn-server/-/blob/master/docs/advanced-usage.md#bash-shell-inside-container)
- [Montar o arquivo env via bind mount](https://gitlab.com/hwdsl2/docker-ipsec-vpn-server/-/blob/master/docs/advanced-usage.md#bind-mount-the-env-file)
- [Implantar o controle de congestionamento Google BBR](https://gitlab.com/hwdsl2/docker-ipsec-vpn-server/-/blob/master/docs/advanced-usage.md#deploy-google-bbr-congestion-control)

## Detalhes técnicos

Há dois serviços em execução: `Libreswan (pluto)` para a VPN IPsec e `xl2tpd` para suporte a L2TP.

A configuração padrão de IPsec suporta:

* IPsec/L2TP com PSK
* IKEv1 com PSK e XAuth ("Cisco IPsec")
* IKEv2

Portas necessárias: `500/udp` e `4500/udp` (IPsec)

## Licença

**Nota:** Os componentes de software dentro da imagem pré-compilada (como Libreswan e xl2tpd) estão sob as respectivas licenças escolhidas por seus respectivos detentores de direitos autorais. Quanto a qualquer uso de imagem pré-compilada, é responsabilidade do usuário da imagem garantir que qualquer uso desta imagem esteja em conformidade com quaisquer licenças relevantes para todo o software contido nela.

Copyright (C) 2016-2026 [Lin Song](https://github.com/hwdsl2) [![View my profile on LinkedIn](https://assets.kitploit.com/production/public/readmes/648/0dc41eea05dcee104e4963528568884b531a1377d69460315bc16f61eebd4bdf.png)](https://www.linkedin.com/in/linsongui)   
Baseado em [o trabalho de Thomas Sarlandie](https://github.com/sarfata/voodooprivacy) (Copyright 2012)

[![Creative Commons License](https://assets.kitploit.com/production/public/readmes/648/acde67df4b37d9df101d6555c669c258cea69750bc84ae2051ebec0970f706c8.png)](http://creativecommons.org/licenses/by-sa/3.0/)   
Este trabalho está licenciado sob a [Creative Commons Attribution-ShareAlike 3.0 Unported License](http://creativecommons.org/licenses/by-sa/3.0/)   
Atribuição necessária: inclua meu nome em qualquer derivado e me avise como você o melhorou!
Baixar ferramenta