NetDiag+

O handshake do WireGuard falha no iOS mas não nos outros aparelhos

Mesma rede, mesmo arquivo de configuração: o notebook Linux e o celular Android conectam na hora, e o iPhone fica repetindo handshake did not complete. Passe esse mesmo iPhone para 5G e o túnel sobe de imediato. Nesse ponto quase todos vão mexer no MTU e quase todos perdem a noite: um handshake que falha não pode ser problema de MTU.

O que testar, em ordem

  1. Pare de mudar o MTU. A iniciação do handshake do WireGuard tem 148 bytes e a resposta 92. Isso cabe em qualquer MTU já usado, ou seja, nada está sendo fragmentado. Um handshake que nunca completa significa que os pacotes não chegam. Volte o MTU para 1420 e deixe assim.
  2. Verifique se o UDP sai do aparelho. Rode uma consulta STUN no Wi-Fi que falha. Se responder, o UDP sai e o problema é a porta ou o endpoint específicos. Se der timeout aqui mas responder no 4G/5G, essa rede está filtrando UDP para este aparelho.
  3. Compare o que os dois aparelhos veem. Ponha o IP, a máscara, o gateway e o DNS do iPhone ao lado dos do notebook. Sub-rede ou gateway diferentes significam que o celular caiu numa VLAN de visitantes, ou que existe um perfil por dispositivo aplicado no roteador — a restrição mora lá, não na sua configuração.
Baixar na App Store

Grátis · 25 ferramentas · compra única remove os anúncios · sem assinatura

Perguntas que as pessoas realmente fazem

Por que funciona no 5G e não no Wi-Fi?

Essa é a melhor pista que você tem. Configuração idêntica, servidor idêntico, resultado diferente — então a variável é a rede, não o túnel. Sua operadora deixa o handshake passar e esta rede Wi-Fi não.

Tentei MTU 1280, 1200 e 1100. Nada mudou.

Era esperado. O MTU rege o tamanho dos pacotes carregados dentro do túnel, e isso só importa quando o túnel existe. Antes do handshake concluir não há túnel nem nada para fragmentar.

A rede pode estar bloqueando a porta UDP?

É a causa única mais provável, principalmente em redes de hotel, campus, escritório e alguns roteadores móveis. Tente mover a porta de escuta do servidor para 443 ou 53 — ali o tráfego costuma passar, porque bloquear essas portas quebraria a web para todos.

E o Private Relay, limitar rastreamento de IP e endereço Wi-Fi privado?

Vale desligar durante o teste, mas raramente são a causa. Eles mudam de qual endereço você aparece; não decidem se um pacote UDP chega ao seu endpoint.

Então quando o MTU realmente importa no WireGuard?

Depois do handshake. A assinatura é um túnel que conecta bem e depois trava em tudo que é grande: uma página carregando pela metade, uma transferência congelando após alguns kilobytes. Sobre IPv4 o valor usual é 1420.

Se o túnel sobe e depois trava em transferências grandes, esse caso é MTU de verdade. Como medir seu Path MTU real →