С октября 2024 года Cloudflare по умолчанию включает технологию ECH (Encrypted Client Hello) в TLS 1.3. Она скрывает SNI-заголовок (домен сайта) и повышает конфиденциальность. Однако некоторые DPI-системы (ТСПУ) не умеют корректно обрабатывать ECH и разрывают TLS-соединение ещё на стадии ClientHello. В результате сайты, обслуживаемые через Cloudflare, у многих операторов «падают» с ошибками timeout
или connection reset
.
Самый быстрый способ восстановить стабильность — отключить ECH и DNS-over-HTTPS (DoH) в браузере или на уровне ОС. Ниже приведена пошаговая инструкция для Firefox, Google Chrome/Chromium и мобильных устройств Android/iOS.
1. Firefox (Windows, macOS, Linux)
Введите в адресной строке about:config
и подтвердите предупреждение.
В поиске найдите и измените параметры:
network.dns.echconfig.enabled false
Полностью выключает ECHnetwork.trr.mode 5
Отключает DoH, заставляя использовать системный DNS- (опц.)
network.dns.httpssvc.enabled false
Запрещает Alt-Svc DNS-ответы
Перезапустите браузер.
Проверьте статус на https://crypto.cloudflare.com/cdn-cgi/trace — строка sni=plaintext
означает, что ECH не используется.
2. Google Chrome и другие Chromium-браузеры
2.1 Отключаем DoH через интерфейс
Откройте:
chrome://settings/security
В разделе Безопасный DNS («Use secure DNS
») выключите переключатель или выберите «С текущим провайдером».
2.2 Запускаем Chrome без ECH
В стабильных сборках Chrome нет флага для ECH, поэтому используем параметр запуска:
Windows
Правый клик по ярлыку → Свойства. В поле Объект допишите после кавычек:
--disable-features=EncryptedClientHello
Пример:
"C:\Program Files\Google\Chrome\Application\chrome.exe" --disable-features=EncryptedClientHello
Linux/macOS — аналогично, прописав параметр в скрипте запуска или .desktop
-файле.
2.3 Проверка
Перейдите на https://crypto.cloudflare.com/cdn-cgi/trace;
- значение
sni=plaintext
подтверждает успех.
3. Android
3.1 Системное отключение Private DNS (DoH)
Настройки → Сеть и интернет → Частный DNS.
Выберите Отключено либо укажите DNS-хост без ECH, например dns.google
.
3.2 Firefox для Android
Откройте about:config
, задайте:
network.dns.echconfig.enabled = false
network.trr.mode = 5
3.3 Chrome для Android
Chrome использует системный DNS; после отключения Private DNS проблемы пропадают. Для полного контроля можно запускать Chrome через adb с ключом --disable-features=EncryptedClientHello
, но это удобнее делать на рутованных устройствах или в корпоративной MDM-среде.
4. iOS (Safari, Chrome, Firefox)
Safari пока не поддерживает ECH, поэтому ничего менять не нужно. Chrome/Firefox inherit системные настройки. Если установлен профиль, включающий DoH/DoT, удалите его:
Настройки → VPN и устройства → Профили конфигураций.
Проверьте DNS — достаточно задать публичные IPv4-серверы (8.8.8.8) в настройках Wi-Fi.
5. Рекомендации
- Информируйте клиентов о временном отключении ECH/DoH до стабилизации ситуации.
- Следите за списками IPv4, попадающих под DPI-фильтрацию: иногда помогает перевод части трафика на IPv6.
- Для корпоративных пользователей предложите автоматический скрипт, который правит ярлык Chrome и вносит значения в реестр/ policies.
- Рассмотрите внедрение Cloudflare Spectrum или Argo Tunnel — они обходят большинство региональных блоков.
Заключение
Отключение Encrypted Client Hello и шифрованного DNS возвращает прежнюю стабильность соединения, не требуя смены CDN-провайдера. Как только провайдеры DPI адаптируются, ECH можно будет включить снова для повышения конфиденциальности.