> For the complete documentation index, see [llms.txt](https://docs.plenit.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.plenit.com/docs-pt/productos/servers/how-to/how-to-configure-wireguard-for-multiple-vpn-connections.md).

# Como configurar WireGuard para várias ligações VPN a partir de uma Rede privada

Quando vários utilizadores se ligam a partir da mesma rede privada por trás de NAT, **L2TP só admite uma sessão concorrente**.

Nesta guia instalas **WireGuard**, uma VPN de túnel encriptado, para aceitar vários clientes ao mesmo tempo sem os expor à Internet.

> #### 👍 O que consegues
>
> Um servidor WireGuard na tua subscrição a aceitar várias ligações simultâneas a partir de uma rede privada, com a porta aberta no Firewall da Plenit.

### Por que WireGuard

L2TP por trás de NAT colapsa todas as ligações de uma mesma rede pública numa única sessão. O WireGuard funciona sobre UDP e trata a **cada cliente como um peer independente** com o seu próprio par de chaves, assim vários utilizadores da mesma rede ligam-se sem se atrapalharem.&#x20;

O modelo de chaves é como o do SSH: cada extremo tem uma chave privada (que guarda) e uma pública (que partilha com o outro lado).

### Antes de começar

* Iniciar sessão na plataforma da Plenit com uma organização ativa.
* Ter uma Subscrição de **Servidores** ou **Desktop Remoto** com um servidor Linux.
* Ter preparado o equipamento cliente onde instalarás WireGuard.

### Passo 1. Instala WireGuard no servidor Linux

A instalação varia consoante a distribuição. No CentOS, com utilizador root:

```bash
yum install yum-utils epel-release
yum-config-manager --setopt=centosplus.includepkgs=kernel-plus --enablerepo=centosplus --save
sed -e 's/^DEFAULTKERNEL=kernel$/DEFAULTKERNEL=kernel-plus/' -i /etc/sysconfig/kernel
yum install kernel-plus wireguard-tools
reiniciar
```

No Ubuntu, o comando base é:

```bash
sudo apt install wireguard
```

Gera o par de chaves do servidor: a privada fica no servidor e a pública será usada pelos clientes.

```bash
wg genkey | tee server_private.key | wg pubkey > server_public.key
```

### Passo 2. Instala o cliente

Neste exemplo o cliente é Windows. Descarrega o instalador do site do WireGuard e executa-o como administrador. Se o instalador principal falhar, usa o pacote MSI do cliente Windows.

{/\* 📸 CAPTURA 1 · janela do WireGuard após a instalação no cliente \*/}

![Instalação do WireGuard concluída no equipamento cliente](https://REEMPLAZA-URL/servidores-howto-wireguard-01.png)

### Passo 3. Cria o túnel no cliente

Com o WireGuard aberto, clica **Add Tunnel → Add empty tunnel…**. O cliente gera o seu par de chaves e mostra uma configuração inicial que completas com esta estrutura:

```bash
[Interface]
PrivateKey = <CLAVE_PRIVADA_CLIENTE>
Address = 10.0.0.2/32
DNS = 192.168.1.1

[Peer]
PublicKey = <CLAVE_PUBLICA_SERVIDOR>
AllowedIPs = 0.0.0.0/0
Endpoint = <IP_PUBLICA_SERVIDOR>:51820
```

| Campo        | O que indica                                                                                       |
| ------------ | -------------------------------------------------------------------------------------------------- |
| `PrivateKey` | Chave privada do cliente                                                                           |
| `Address`    | IP interna do cliente dentro do túnel (um intervalo privado, p. ex. `10.0.0.2/32`)                 |
| `DNS`        | Servidor DNS da rede                                                                               |
| `PublicKey`  | Chave pública do servidor WireGuard                                                                |
| `AllowedIPs` | Que tráfego é encaminhado pela VPN. Com `0.0.0.0/0` passa tudo; com uma sub-rede concreta, só essa |
| `Endpoint`   | IP pública e porta do servidor (UDP 51820)                                                         |

{/\* 📸 CAPTURA 2 · configuração do túnel concluída no cliente \*/}

![Configuração final do túnel no cliente](https://REEMPLAZA-URL/servidores-howto-wireguard-02.png)

### Passo 4. Regista o cliente no servidor

O servidor só deixa passar os clientes que conhece. Adiciona o cliente à secção `[Peer]` da configuração do servidor, ou em tempo real com:

```bash
wg set wg0 peer <CLAVE_PUBLICA_CLIENTE> allowed-ips <IP_INTERNA_CLIENTE>
```

Onde `<CLAVE_PUBLICA_CLIENTE>` é a chave gerada pelo cliente e `<IP_INTERNA_CLIENTE>` o IP interno que usará no túnel (o mesmo `Address` do Passo 3).

### Passo 5. Abre a porta no Firewall da Plenit

WireGuard escuta em **UDP 51820**. Sem essa porta aberta, o cliente não liga mesmo que o túnel esteja bem configurado. Na subscrição de Servidores, clica em **Nova regra** e configura-a:

1. Seleciona a rede pela qual o serviço se liga.
2. Define a origem das ligações. Se puderes, filtra os endereços IP permitidos em vez de as abrir a todas.
3. Protocolo **UDP**.
4. IP pública pela qual o WireGuard estabelece ligação.
5. Porta pública **51820**.
6. IP e porta privadas correspondentes.

{/\* 📸 CAPTURA 3 · regra de firewall com protocolo UDP e porta 51820 \*/}

![Regra de firewall para a porta UDP 51820 do WireGuard](https://REEMPLAZA-URL/servidores-howto-wireguard-03.png)

> #### 👍 Filtra a origem sempre que puderes
>
> Restringir os IP de origem na regra reduz a exposição face a deixar a porta aberta a toda a Internet.

### Passo 6. Valida a ligação

Ativa o túnel no cliente. No servidor, confirma que há handshake com cada peer:

```shell
wg show
```

Um `último handshake` recente e contadores de `transferência` que sobem indicam que o túnel está ativo. A partir do cliente, verifica também que sais com a IP pública do servidor.

Se não arrancar, verifica:

* As chaves públicas do servidor e do cliente estão bem trocadas.
* O cliente está registado no servidor (secção `[Peer]` ou `wg set`).
* O Firewall da Plenit permite **UDP 51820**.
* O `Endpoint` aponta para a IP pública correta do servidor.

### Limitações e segurança

* Esta guia resolve o limite de sessões de L2TP quando vários utilizadores partilham uma rede privada por trás de NAT.
* Não basta instalar o WireGuard: é preciso registar cada cliente no servidor e abrir a porta UDP 51820.
* Com `AllowedIPs = 0.0.0.0/0`, todo o tráfego do cliente passa pela VPN.
* Filtrar a origem no Firewall reduz a superfície de exposição.

### Conclusão

Com o WireGuard configurado, uma rede privada por trás de NAT deixa de estar limitada a uma única sessão: cada utilizador entra como um peer próprio.

A chave da implementação são três peças que têm de encaixar: as chaves bem cruzadas entre cliente e servidor, o registo do peer no servidor e a porta UDP 51820 aberta. Para adicionar mais clientes, repete o registo do túnel no cliente (Passo 3) e o seu registo no servidor (Passo 4).

<br>


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://docs.plenit.com/docs-pt/productos/servers/how-to/how-to-configure-wireguard-for-multiple-vpn-connections.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
