Хендшейк WireGuard падає на iOS, а на інших пристроях ні
Одна мережа, той самий конфіг: ноутбук на Linux і телефон на Android підключаються миттєво, а iPhone уперто повторює handshake did not complete. Перемикаєш той самий iPhone на 5G — тунель встає одразу. У цей момент майже всі хапаються за налаштування MTU і майже всі марнують вечір: невдалий хендшейк не може бути проблемою MTU.
Що перевіряти і в якому порядку
- Припиніть змінювати MTU. Ініціація хендшейка WireGuard — 148 байт, відповідь — 92. Це влізає в будь-який MTU, який колись застосовувався, тож фрагментувати тут нічого. Якщо хендшейк не проходить, пакети просто не доходять. Поверніть MTU на 1420 і не торкайтеся.
- Перевірте, чи виходить UDP із пристрою. Зробіть STUN-запит на тому Wi-Fi, де не працює. Відповідає — отже UDP назовні йде, і річ у конкретному порті чи ендпоінті. Не відповідає тут, але відповідає на мобільному звʼязку — ця мережа фільтрує UDP саме для цього пристрою.
- Порівняйте, що бачать два пристрої. Покладіть рядом IP, маску, шлюз і DNS iPhone та ноутбука. Інша підмережа або інший шлюз означають, що телефон потрапив у гостьовий VLAN або до нього на роутері привʼязано окремий профіль — обмеження живе там, а не в конфізі.
Безкоштовно · 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 →