NetDiag+

Хендшейк WireGuard падає на iOS, а на інших пристроях ні

Одна мережа, той самий конфіг: ноутбук на Linux і телефон на Android підключаються миттєво, а iPhone уперто повторює handshake did not complete. Перемикаєш той самий iPhone на 5G — тунель встає одразу. У цей момент майже всі хапаються за налаштування MTU і майже всі марнують вечір: невдалий хендшейк не може бути проблемою MTU.

Що перевіряти і в якому порядку

  1. Припиніть змінювати MTU. Ініціація хендшейка WireGuard — 148 байт, відповідь — 92. Це влізає в будь-який MTU, який колись застосовувався, тож фрагментувати тут нічого. Якщо хендшейк не проходить, пакети просто не доходять. Поверніть MTU на 1420 і не торкайтеся.
  2. Перевірте, чи виходить UDP із пристрою. Зробіть STUN-запит на тому Wi-Fi, де не працює. Відповідає — отже UDP назовні йде, і річ у конкретному порті чи ендпоінті. Не відповідає тут, але відповідає на мобільному звʼязку — ця мережа фільтрує UDP саме для цього пристрою.
  3. Порівняйте, що бачать два пристрої. Покладіть рядом IP, маску, шлюз і DNS iPhone та ноутбука. Інша підмережа або інший шлюз означають, що телефон потрапив у гостьовий VLAN або до нього на роутері привʼязано окремий профіль — обмеження живе там, а не в конфізі.
Завантажити в App Store

Безкоштовно · 25 інструментів · разова покупка прибирає рекламу · без підписки

Питання, які ставлять насправді

Чому на 5G працює, а на Wi-Fi ні?

Це найкорисніша зачіпка з усіх. Конфіг той самий, сервер той самий, результат різний — отже змінна в мережі, а не в тунелі. Оператор хендшейк пропускає, а цей Wi-Fi ні.

Я пробував MTU 1280, 1200 і 1100. Нічого не змінилося.

Так і має бути. MTU задає розмір пакетів усередині тунелю, а це має значення лише коли тунель уже є. До завершення хендшейка тунелю немає і фрагментувати нічого.

Може, мережа блокує UDP-порт?

Це найімовірніша єдина причина, особливо в готелях, кампусах, офісах і на деяких мобільних точках доступу. Спробуйте перевести порт сервера на 443 або 53 — там трафік зазвичай проходить, бо блокування цих портів зламало б веб усім.

А Private Relay, «Обмежити відстеження IP» і приватна адреса Wi-Fi?

Вимкнути на час перевірки варто, але причиною вони бувають рідко. Вони змінюють адресу, з якої вас видно, але не вирішують, чи дійде UDP-пакет до вашого ендпоінта.

То коли MTU справді важливий для WireGuard?

Після хендшейка. Ознака — тунель піднімається нормально, а потім встає на всьому великому: сторінка вантажиться наполовину, передача замирає через кілька кілобайт. Для IPv4 звичайне значення — 1420.

Якщо тунель піднімається, а потім встає на великих передачах — ось там MTU справді винен. Як виміряти свій реальний Path MTU →