Сбитые системные часы ломают соединение: разбор ошибок рукопожатия TLS
Тест задержки выдаёт числа, в журнале раз за разом ошибки рукопожатия, и все узлы ведут себя одинаково — сначала взгляните на часы в углу экрана. У сертификатов TLS есть время начала и окончания действия, и расхождение локальных часов больше чем на несколько минут заставляет рукопожатие считать их недействительными.
Характерные признаки
- Падают все узлы Trojan, VMess over TLS и Hysteria, а обычные Shadowsocks продолжают работать;
- Если выключить прокси и открыть сайт напрямую, браузер тоже ругается на сертификат;
- Чаще всего это случается сразу после переустановки системы, после замены батарейки на материнской плате или на машинах с двумя системами.
Как чинить
- Параметры → Время и язык → Дата и время: включите «Установить время автоматически» и нажмите «Синхронизировать»;
- Если кнопка синхронизации ничего не даёт, смените сервер: Панель управления → Дата и время → Время по Интернету → Изменить параметры, укажите адрес, отличный от стандартного
time.windows.com; - Заодно проверьте часовой пояс — ошибка в поясе даёт расхождение в целые часы, а это куда хуже, чем дрейф в пару минут;
- Для двух систем: Windows считает, что аппаратные часы хранят локальное время, Linux — что UTC. Приведите обе стороны к одному варианту, иначе время будет сбиваться при каждом переключении.
Исправленные часы действуют сразу, перезапускать клиент не нужно, но уже открытые соединения придётся установить заново — закройте их все на странице Connections и снова прогоните тест задержки.