NetDiag+

Handshake WireGuard zawodzi na iOS, a na innych urządzeniach nie

Ta sama sieć, ten sam plik konfiguracyjny: laptop z Linuksem i telefon z Androidem łączą się natychmiast, a iPhone powtarza handshake did not complete. Przełącz tego samego iPhone’a na 5G i tunel wstaje od razu. W tym momencie prawie wszyscy sięgają po ustawienie MTU i prawie wszyscy tracą wieczór: nieudany handshake nie może być problemem MTU.

Co sprawdzić, po kolei

  1. Przestań zmieniać MTU. Inicjacja handshake’u WireGuard to 148 bajtów, a odpowiedź 92. Mieszczą się w każdym MTU, jakie kiedykolwiek zastosowano, więc nic nie jest fragmentowane. Handshake, który nigdy się nie kończy, oznacza, że pakiety wcale nie docierają. Przywróć MTU 1420 i zostaw.
  2. Sprawdź, czy UDP wychodzi z urządzenia. Wykonaj zapytanie STUN na tym Wi-Fi, które nie działa. Jeśli odpowiada, UDP wychodzi, a problem dotyczy konkretnego portu lub endpointu. Jeśli tu jest timeout, a w sieci komórkowej odpowiada — ta sieć filtruje UDP dla tego urządzenia.
  3. Porównaj, co widzą oba urządzenia. Postaw IP, maskę, bramę i DNS iPhone’a obok danych laptopa. Inna podsieć albo brama znaczy, że telefon trafił do gościnnego VLAN-u lub ma na routerze przypisany osobny profil — ograniczenie mieszka tam, nie w twojej konfiguracji.
Pobierz z App Store

Bezpłatnie · 25 narzędzi · jednorazowy zakup usuwa reklamy · bez subskrypcji

Pytania, które ludzie naprawdę zadają

Dlaczego działa na 5G, a na Wi-Fi nie?

To najcenniejsza wskazówka, jaką masz. Identyczna konfiguracja, identyczny serwer, inny wynik — więc zmienną jest sieć, nie tunel. Operator przepuszcza handshake, a ta sieć Wi-Fi nie.

Próbowałem MTU 1280, 1200 i 1100. Nic się nie zmieniło.

Tak miało być. MTU rządzi rozmiarem pakietów przenoszonych wewnątrz tunelu, a to liczy się dopiero wtedy, gdy tunel istnieje. Przed zakończeniem handshake’u nie ma tunelu ani niczego do fragmentacji.

Czy sieć może blokować port UDP?

To najbardziej prawdopodobna pojedyncza przyczyna, zwłaszcza w sieciach hotelowych, kampusowych, biurowych i na części hotspotów. Spróbuj przenieść port nasłuchu serwera na 443 lub 53 — tam ruch zwykle przechodzi, bo blokada tych portów zepsułaby internet wszystkim.

A Private Relay, ograniczanie śledzenia IP i prywatny adres Wi-Fi?

Warto wyłączyć na czas testu, ale rzadko są przyczyną. Zmieniają adres, z którego się pokazujesz; nie decydują, czy pakiet UDP dotrze do twojego endpointu.

Kiedy więc MTU naprawdę ma znaczenie przy WireGuard?

Po handshake’u. Znak rozpoznawczy: tunel łączy się bez problemu, a potem staje na wszystkim dużym — strona ładuje się w połowie, transfer zamiera po kilku kilobajtach. Na IPv4 typowa wartość to 1420.

Jeśli tunel się łączy, a potem staje na dużych transferach — to naprawdę MTU. Jak zmierzyć swoją prawdziwą Path MTU →