SSD Nodes Learn Hosting plans →
Guias Matt ConnorPor Matt Connor · Atualizado 2026-10-30

WireGuard vs OpenVPN: qual usar no seu VPS?

WireGuard vence em velocidade, tamanho da configuração e superfície de auditoria. Veja as evidências e os 4 casos em que o OpenVPN ainda é melhor.

A resposta curta

WireGuard vs OpenVPN, para uma pessoa que executa um servidor VPN em seu próprio VPS, não é uma disputa equilibrada: escolha WireGuard. Ele é menor, executa dentro do kernel do Linux, estabelece a conexão em uma fração de segundo, e uma configuração de cliente funcional tem cerca de dez linhas. O OpenVPN mantém quatro funções reais, e, se nenhuma delas se aplica a você, você não precisa dele.

Essas quatro funções são sair de uma rede que permite somente a porta TCP 443, integrar-se a uma autoridade de certificação existente, autenticar usuários identificados por nome com uma senha ou um segundo fator, e fazer uma ponte na Camada 2. Todo o conteúdo abaixo apresenta as evidências por trás dessa recomendação e o ponto exato em que cada exceção passa a se aplicar a você.

Por que o WireGuard foi escolhido pelos administradores de servidores próprios

A base de código é suficientemente pequena para ser lida. O projeto WireGuard tem cerca de 4,000 linhas de código na implementação do protocolo. O OpenVPN fica na ordem das centenas de milhares de linhas quando se conta a biblioteca OpenSSL, da qual depende para todas as operações criptográficas. O tamanho é importante porque cada linha aumenta a superfície de ataque, e nem você nem o seu revisor vão ler 100,000 linhas. É possível ler 4,000.

É executado no kernel. O WireGuard faz parte do kernel principal do Linux desde a versão 5.6, por isso o Ubuntu 24.04 e o Debian 13 já o incluem sem ser necessário compilar nada. Os pacotes são cifrados onde já estão, no espaço do kernel, sem serem copiados para um processo no espaço do utilizador e de volta. Verifique isto antes de qualquer outra coisa:

sudo modprobe wireguard && echo ok

Num VPS KVM, esse comando apresenta ok. Em virtualização de contentores que partilha o kernel do host, como OpenVZ ou LXC, falha com Operation not supported, porque não é possível carregar um módulo num kernel que não lhe pertence.

Não há nada para negociar. O WireGuard tem um único conjunto fixo de cifras: ChaCha20-Poly1305 para os dados, com chaves Curve25519. Não há uma versão para baixar nem uma opção que possa ser configurada incorretamente. O OpenVPN negocia a cifra e a versão do TLS (transport layer security) com cada cliente. Isto oferece flexibilidade, mas também é onde surgem as configurações incorretas. Um servidor deixado com data-ciphers AES-256-GCM:AES-128-CBC recua sem problemas para a cifra CBC quando um cliente não oferece nada melhor, e o log não assinala a cifra mais fraca como um problema. Quando está disponível o offload do canal de dados, o OpenVPN apresenta uma nota a indicar que a entrada CBC desativou o offload. Isto é um aviso sobre velocidade, não sobre segurança.

A porta não responde. Um pacote WireGuard que falha a verificação de autenticação da mensagem é descartado sem qualquer resposta. Assim, nmap -sU -p 51820 não consegue distinguir um servidor WireGuard de uma porta que a firewall descarta silenciosamente: em ambos os casos, recebe open|filtered. Apenas uma porta sem filtragem e sem nada a escutar se denuncia, porque o kernel responde com uma mensagem ICMP de porta inacessível e o nmap apresenta-a como closed. Um servidor OpenVPN em modo TCP conclui o handshake TCP antes de decidir que não aceita a ligação. Isto basta para provar a um scanner que existe algo nessa porta. O OpenVPN sobre UDP com tls-crypt é quase igualmente silencioso. Portanto, este é um argumento contra executar o OpenVPN sobre TCP, não contra o próprio OpenVPN.

A mobilidade não tem custo. Um peer WireGuard é identificado pela sua chave pública, não pelo seu endereço. O portátil passa da rede doméstica para um hotspot móvel, envia um handshake a partir do novo endereço e o servidor atualiza o endpoint para o qual responde. Nada é reconectado porque nunca houve uma ligação persistente. O OpenVPN pode fazer algo semelhante com float, mas normalmente o cliente encerra e recria uma sessão TLS completa. É por isso que a pausa ao abrir a tampa é percetível no OpenVPN, mas não no WireGuard.

Velocidade em 2026: a diferença só diminui com offload no kernel

Durante anos, o argumento honesto sobre velocidade era que o OpenVPN copiava cada pacote para o espaço de utilizador, fazia a encriptação nesse espaço e copiava o pacote de volta, enquanto o WireGuard nunca saía do kernel. Num servidor Ubuntu 24.04 sem alterações, essa descrição continua correta, e o WireGuard é muito mais rápido. A mudança em 2026 é que o OpenVPN também pode mover o caminho de dados para o kernel, quando o kernel e a versão do OpenVPN suportam essa funcionalidade. Uma comparação que ignore isto está desatualizada.

O OpenVPN 2.7 foi lançado em fevereiro de 2026 com suporte para o módulo de kernel ovpn, integrado no Linux 6.16. Isto é DCO (data channel offload): o canal de controlo continua no espaço de utilizador, enquanto o caminho principal dos dados passa para o kernel. É aproximadamente o que o WireGuard sempre fez. Com um kernel e uma versão do OpenVPN suficientemente recentes para utilizar esta funcionalidade, o débito fica na mesma categoria, em vez de ficar numa categoria diferente. Verifique o que tem efetivamente instalado:

uname -r
openvpn --version | head -n 1
modinfo ovpn 2>/dev/null | head -n 3

Em outubro de 2026, um Ubuntu 24.04 LTS sem alterações inclui o OpenVPN 2.6, não o 2.7, e o módulo ovpn requer a versão 2.7. Nessa versão, o offload só está disponível através do pacote openvpn-dco-dkms mais antigo, que compila um módulo externo em relação ao kernel em execução e, por isso, precisa de ser recompilado a cada atualização do kernel. Esta é uma componente adicional que o WireGuard não tem. O Ubuntu 26.04 LTS inclui o OpenVPN 2.7.0 e um kernel Linux 7.0, ambos suficientemente recentes para ovpn. Nessa versão, deve verificar a linha modinfo acima.

Leia os detalhes sobre DCO antes de o considerar um motivo para continuar a usar OpenVPN. Suporta apenas túneis de camada 3, aceita apenas cifras AEAD (authenticated encryption with associated data: AES-GCM ou ChaCha20-Poly1305), não suporta compressão e, num servidor, funciona apenas com topology subnet. Cada uma destas restrições elimina parte da flexibilidade que originalmente justificava o OpenVPN. Um OpenVPN rápido é um OpenVPN configurado para se comportar como o WireGuard.

Não confie nos valores de débito publicados por terceiros, incluindo os desta página. Numa VPS, o limite costuma ser a capacidade atribuída de CPU ou de rede, e não o protocolo. Faça a medição com o seu próprio iperf3 a funcionar através do túnel e repita-a fora do túnel. Depois compare os dois resultados.

Onde o OpenVPN ainda é a escolha certa

Precisa de sair pela porta TCP 443. O WireGuard funciona apenas com UDP, de forma deliberada, e não terá um modo TCP. Uma rede de hotel que filtra apenas pelo número da porta normalmente permite passar o OpenVPN configurado com proto tcp-server e port 443. Não confunda isso com disfarce: o OpenVPN sobre TCP usa o seu próprio enquadramento de pacotes, em vez de uma sessão TLS normal. Por isso, uma firewall ou proxy empresarial que inspecione ou termine HTTPS ainda pode reconhecê-lo e bloqueá-lo. O WireGuard precisa de um wrapper como wstunnel ou udp2raw para atravessar a mesma rede. Isso acrescenta mais um processo para executar e manter atualizado. Tenha em atenção o conflito: se um servidor web já ocupar a porta TCP 443 nesse endereço IP, um dos dois terá de mudar de porta.

Já executa uma autoridade de certificação. O OpenVPN autentica com certificados X.509, pelo que se integra numa PKI (public key infrastructure) que já opera. Os certificados expiram automaticamente. Para revogar um certificado, basta adicioná-lo a uma lista de revogação de certificados que o servidor lê através de crl-verify. O WireGuard não usa certificados, expiração nem lista de revogação. Para remover um peer, é necessário editar a configuração do servidor e recarregá-la. Com dez peers, isso é simples. Com quatrocentos, e havendo requisitos de auditoria, o modelo baseado em certificados traz uma vantagem real.

Precisa de utilizadores identificados, não apenas de chaves. O OpenVPN pode delegar a autenticação num sistema externo através de auth-user-pass-verify ou de um plugin como openvpn-plugin-auth-pam.so. É assim que se adiciona LDAP ou um segundo fator baseado numa palavra-passe de utilização única. O WireGuard não tem o conceito de utilizador. Uma chave está na configuração ou não está. Se o requisito for "Sara tem de introduzir um código do telemóvel", o WireGuard não consegue representar isso sozinho.

Precisa de Layer 2 ou de um cliente para algum sistema antigo. O OpenVPN com dev tap faz bridge de frames Ethernet. Isso é importante para protocolos de broadcast e para jogos LAN antigos. O WireGuard funciona apenas em Layer 3 e continuará a funcionar assim. O OpenVPN também tem clientes para hardware e sistemas operativos que nunca terão uma aplicação WireGuard. Estas duas razões estão a perder importância. Além disso, dev tap é incompatível com DCO, pelo que o bridge obriga a usar o caminho mais lento.

Quanto as duas configurações realmente custam

Uma identidade do WireGuard é criada com um comando. Os parênteses são importantes porque definem as permissões do arquivo antes de a chave existir:

(umask 077; wg genkey > private.key)
wg pubkey < private.key > public.key

O equivalente no OpenVPN é uma autoridade de certificação que passa a ser sua enquanto a VPN existir:

sudo apt install -y easy-rsa
make-cadir ~/openvpn-ca
cd ~/openvpn-ca
./easyrsa init-pki
./easyrsa build-ca
./easyrsa gen-req server nopass
./easyrsa sign-req server server

Nenhuma das duas listas é injusta. A CA oferece expiração e revogação, mas exige uma chave privada que você precisa proteger por anos, uma renovação da qual precisa se lembrar e uma reconstrução se você perdê-la. Se você não usa esses recursos, está pagando por nada. O procedimento completo do WireGuard, incluindo encaminhamento, NAT (network address translation) e as falhas de handshake que desperdiçam uma tarde, está no guia para hospedar uma VPN WireGuard no seu VPS.

O que cada um exige do firewall

O WireGuard precisa exatamente de uma regra de entrada para UDP na porta em ListenPort:

sudo ufw allow 51820/udp
sudo ufw status verbose

Por padrão, o OpenVPN precisa de UDP 1194 ou de TCP 443 se você escolheu esse caminho. Depois, os dois precisam que o encaminhamento de IP esteja ativado e de uma regra de NAT de origem, porque uma máquina Linux descarta pacotes que não são endereçados a ela. Essa parte é idêntica nos dois protocolos e é a causa da maioria dos relatos de que "o túnel conecta, mas não há internet". Se o ufw é novidade para você, comece por os conceitos básicos do firewall ufw em um VPS e lembre-se de que a maioria dos provedores executa um segundo firewall de rede no painel de controle: uma regra adicionada no servidor não tem efeito se o pacote nunca chega ao servidor. Entender o que é uma porta e como o Linux escuta nela torna essas duas verificações mais rápidas.

Como escolher, em um parágrafo

Execute o WireGuard, a menos que consiga indicar o recurso específico que ele não oferece. Se precisar do TCP 443 para escapar de uma rede restritiva, execute o OpenVPN nessa porta e considere executar ambos: eles usam portas diferentes e coexistem no mesmo servidor sem conflitos. Se precisar de contas por usuário ou de um segundo fator, não tente adaptar o WireGuard à força. Em vez disso, coloque uma camada de identidade acima dele. Um servidor de controle Headscale auto-hospedado usa WireGuard por baixo e adiciona o modelo de contas, a distribuição de chaves e a aprovação de dispositivos que o WireGuard básico deixa sob sua responsabilidade.

Migração do OpenVPN sem interrupção

Não há conversão. A PKI do OpenVPN não se transforma em chaves do WireGuard, porque o WireGuard não tem certificados para converter. Cada cliente recebe um novo par de chaves, gerado da mesma forma que o do servidor.

Faça a migração em paralelo em vez de alternar diretamente. O WireGuard na porta UDP 51820 e o OpenVPN na porta 1194 podem executar simultaneamente no mesmo host. Portanto, ative wg0, confirme com sudo wg show listando um latest handshake recente e migre os clientes um de cada vez. Quando a lista de peers do OpenVPN parar de mudar, interrompa o serviço com sudo systemctl disable --now openvpn-server@server. Mantenha os arquivos da CA até ter certeza, porque não é possível recriar um cliente revogado usando uma CA excluída.

Um item realmente não é transferido: as contas com nome de usuário e senha e o histórico de revogações associado a elas. Decida onde isso ficará antes de desligar o servidor antigo, não depois.

FAQ

O WireGuard é mais rápido do que o OpenVPN?

Num servidor Ubuntu 24.04 com a configuração padrão, sim, e com uma diferença significativa, porque o WireGuard cifra os dados no kernel, enquanto o OpenVPN 2.6 encaminha cada pacote através de um processo no espaço do utilizador. Com o OpenVPN 2.7 e o módulo de kernel ovpn do Linux 6.16, o caminho dos dados também fica no kernel, e os dois ficam na mesma categoria de desempenho. Meça o seu ambiente com iperf3 através do túnel, em vez de confiar num valor publicado num blogue, porque, numa VPS, o limite costuma ser o CPU ou o limite de largura de banda.

O WireGuard pode funcionar através da porta TCP 443?

Não por si só. O WireGuard utiliza apenas UDP por conceção, e não está previsto um modo TCP. Para atravessar uma rede que permite apenas TCP 443, envolva-o num túnel como wstunnel ou udp2raw. Isto acrescenta um processo que tem de ser executado e atualizado nos dois lados. Se essa restrição fizer parte do seu ambiente de trabalho normal, o OpenVPN com proto tcp-server e port 443 é a opção mais simples numa rede que filtra apenas pela porta. No entanto, um proxy que inspecione HTTPS ainda pode detetá-lo e bloqueá-lo.

O OpenVPN é atualmente inseguro?

Não. Um OpenVPN atual com uma cifra AEAD como AES-256-GCM e tls-crypt ativado é uma VPN segura. A principal vantagem do WireGuard é outra: o OpenVPN inclui muito mais código e muito mais opções, por isso oferece a um administrador cansado muitas outras formas de o configurar incorretamente. Menos opções significam menos configurações erradas.

Qual devo escolher para uma VPN pessoal numa VPS?

WireGuard. Um par de chaves por dispositivo, um ficheiro de configuração com cerca de dez linhas, uma porta UDP aberta e um handshake que termina antes de notar que começou. Escolha o OpenVPN apenas se se ligar regularmente a redes que bloqueiam UDP ou se tiver de o integrar numa autoridade de certificação ou num diretório de utilizadores que já existam.

Este artigo foi útil?