Сегодня столкнулся с довольно специфической проблемой на домашнем подключении и хотел бы уточнить, не менялось ли что-то на сети севстара — DPI, BRAS/BNG, фильтрация или иное промежуточное оборудование.
Симптом следующий: обычные HTTPS-соединения с современным TLS 1.3 периодически/стабильно зависают сразу после отправки ClientHello. При этом TCP-соединение на 443 устанавливается нормально.
Провёл A/B-тест с одного и того же устройства, на один и тот же сервер, через один и тот же маршрут:
* TLS 1.3 с настройками по умолчанию OpenSSL 3.5.5 — timeout сразу после ClientHello;
* тот же TLS 1.3, но с принудительным X25519 вместо стандартного набора групп — работает нормально;
* TLS 1.2 — работает нормально;
* обычный HTTP — работает нормально.
Современный OpenSSL 3.5 по умолчанию использует гибридный post-quantum key exchange X25519MLKEM768, из-за чего TLS ClientHello заметно увеличивается в размере и может разбиваться на несколько TCP-сегментов.
Дополнительно проверял на собственном VPS. Пакетный захват показывает, что TCP handshake проходит, но при проблемном варианте соединение зависает именно на этапе TLS. При TLS 1.2 тот же путь полностью работает, включая передачу крупных TCP-сегментов.
Поэтому есть подозрение не на блокировку конкретного сайта, IP или SNI, а на несовместимость какого-то промежуточного оборудования с современным TLS 1.3 ClientHello / X25519MLKEM768.
Ранее на этом же подключении всё работало, конфигурация домашнего оборудования в последнее время не менялась.
Не хотелось бы сразу предполагать намеренную фильтрацию — это вполне может быть побочным эффектом обновления DPI или сетевого оборудования.
Можете, пожалуйста, проверить:
1. не обновлялось ли в последнее время DPI/CGNAT/BNG или другое оборудование на моём направлении;
2. нет ли известных проблем с TLS 1.3 ClientHello, содержащим X25519MLKEM768;
3. не применяется ли какая-либо фильтрация или инспекция TLS ClientHello, которая может приводить к silent drop соединения.
В результате дома есть интернет без интернета, поскольку большинство серверов по умолчанию включили post-quantum TLS по-дефолту.
UPD: оставил заявку #2566069 в ТП.
UPD2: сегодня весь день даже древний TLS 1.2 то блэкхолится , то ходит с маленьким PQ Hello. Сходил к соседу по подъезду, он висит со мной на общедомовом коммутаторе, у него картина такая же. Ни один https сайт не открывается!
UPD3: короче у меня патч-панели патчкорд НЕПЛОТНО СИДЕЛ, КАРЛ! Но как я до этого дошёл? Можно снимать драму на нетфликсе.
Симптомы при диагностике получились очень обманчивые. Сначала я наблюдал примерно следующее:
* IP-связность частично работала, на полшишечки
* TCP хендшейк на 443 устанавливался(!)
* TLS ClientHello уходил, после чего соединение висло
* TLS 1.3 с PQ keyshare падал особенно стабильно
* в разные моменты TLS 1.3 с X25519 и TLS 1.2 могли работать или переставали работать наглухо
* обычный HTTP местами продолжал жить, но это не точно
Для проверки тот же телефон с curl 8.14.1 и OpenSSL 3.5.8 был протестирован через:
Через соседское подключение и МТС всё работало нормально, а через моё — нет. ХОТЯ было несколько ситуаций когда у соседа наблюдались почти идентичные симптомы, думаю здесь бабка пошептала
Решающим оказался tcpdump и статистика на йWAN порту роутера.
В захвате было видно крайне странное поведение TCP: сервер принимал запрос и продвигал sequence number, ACK/FIN иногда доходили, но сам ответный TCP payload на WAN-интерфейсе тупо отсутствовал.
После этого дернуло меня посмотреть счётчики эзернета:
То есть ошибок CRC на приёме было даже больше, чем успешно принятых пакетов!11
Дополнительно WAN при включённом autonegotiation согласовался всего на:
10 Mbps
Full Duplex
И тут зашевелилась мысль открыть шкаф и пошевелить кабель в кейстоуне.
Мораль сей басни получилась довольно показательная: повреждённый эзенрет-линк вовсе не обязательно выглядит как _линк_упал. Carrier может оставаться UP, TCP SYN/SYN-ACK могут проходить, маленькие служебные пакеты тоже, а данные будут теряться настолько выборочно, что проблема начинает выглядеть как DPI, MTU или сломанный TLS.
Так что при подобных мистических сетевых симптомах стоит достаточно рано смотреть:
ip -s -s link show
и в первую очередь RX errors / CRC / dropped, а также реально согласованную скорость порта.
СПАСИБО ЗА ВАШЕ ВНИМАНИЕ К ЭТОМУ ВОПРОСУ!
Думаю, банальный пинг большим пакетом сразу всё поставил бы на свои места. Судя по тексту - понимаете, о чем пишете, а такую банальную процедуру забыли.
_________________ Переводы на Приват https://forum.sevastopol.info/viewtopic.php?f=51&t=936444
Оформление Украинского свидетельства о рождении и пр., дубликаты https://forum.sevastopol.info/viewtopic.php?f=51&t=1227266
Да, большой пинг был бы разумным и быстрым сэнити-чек, его действительно стоило сделать раньше. Но он показал бы наличие потерь, а не их причину. Причину в итоге установили счётчики CRC + падение автосогласования до 10 Мбит/с + исчезновение CRC после переподключения кабеля.
_________________ Когда мы выходим на берег, то девочки радостно стонут.
И мы начинаем рассказы про разные трудности моря.
Зарегистрирован: 13 май, 2008, 16:07 Сообщения: 1868
Репутация:127
Постоялец: Хуторчанин
это в связи с выборами севстар ограничил службы кинетика ?
вчера начало тормозить, а сегодня вообще не работает
Или мы теперь все ближе и ближе к белым спискам
Здравствуйте! С нашей стороны нет блокировок и ограничений. Для диагностики проблемы свяжитесь с нами в любое время по номеру + 7 978 899 00 00, в онлайн-чате на нашем сайте или в приложении.
_________________ С уважением, официальный представитель Севстар.
Бесплатное мобильное приложение «Мой Севстар» - контроль баланса, управление услугами, консультации в чате, видеосервисы бесплатно, карта света. Доступно в Google Play и App Store. Установи и получи скорость интернета без ограничений на 30 дней.
По всем вопросам вы можете обращаться в наш колл-центр: +7 (8692) 539-500, +7 (978) 899-00-00 (Круглосуточно)
Есть вопрос, жалоба или предложение? Пишите - hеlр@sevstar.net