Почему ошибки часто именно в ядре
Ощущение «вечно что-то с ядром» имеет объективную причину: только ядро имеет дело с тем, чем никто не управляет, — с чужой сетью и чужим сервером.
Ядро стоит на границе системы
Посмотрите на схему: приложение общается только с ядром и с сервисом подписки, а ядро — с сервером через всю чужую сеть по дороге. Всё, что может пойти не так во внешнем мире, доходит до ядра и превращается в сообщение: сервер не ответил, ответил не то, разорвал соединение, отказал в приёме, ответил слишком поздно.
Плюс к этому ядро — единственная часть, которая требует прав у операционной системы: создать сетевой интерфейс, занять локальный порт, перенаправить трафик. Каждое из этих прав может быть не выдано, и снова сообщение придёт от ядра.
Четыре семейства сбоев
-
01
Ядро не стартовало
Задание собрано, но запуск не удался: не понято поле в конфигурации, занят порт, не выданы права, конфликт с другим сетевым софтом. Соединения не было вовсе.
ДЕЛАЕТ: локальные причины -
02
Не удалось договориться с сервером
Ядро дошло до сервера, но рукопожатие не состоялось: не совпали параметры протокола, сертификат не принят, сервер не узнал ключ. Разбор — почему один протокол работает, а другой нет.
ДЕЛАЕТ: совместимость и доступ -
03
Соединение установилось и оборвалось
Классический признак проблем с размером пакетов или нестабильным маршрутом: что такое MTU. Реже — сервер закрыл сессию сам.
ДЕЛАЕТ: сеть -
04
Соединение есть, трафика нет
Туннель поднят, но данные не идут: не разрешаются имена или трафик не попадает в туннель. Это уже маршрутизация и DNS.
ДЕЛАЕТ: правила на вашей стороне
Проверьте узел «Доступ» отдельно от остальных
Понять, какая часть схемы отказала, проще всего подстановкой: вставьте в тот же клиент другую, заведомо живую ссылку-подписку. Заработало — приложение, ядро и устройство исправны, вопрос был к доступу. Не заработало — причина выше по схеме, и разбор на этой странице остаётся в силе. Ссылка Happ Plus на 3 дня выдаётся без карты.
- ссылка приходит сразу
- карта не нужна
- проверка занимает две минуты
Почему это не значит, что ядро плохое
Аналогия: если в доме постоянно ломается входная дверь, дело редко в самой двери — это единственное место, где дом соприкасается с улицей. Ядро принимает на себя всю неопределённость внешней среды и честно о ней сообщает. Альтернатива — молчаливые сбои, при которых непонятно вообще ничего.
Что чинит пользователь, а что — нет
| Причина | Ваша зона | Как проявляется |
|---|---|---|
| Нет прав на туннель | Да: выдать разрешение | Ядро стартует и сразу останавливается |
| Занят локальный порт | Да: закрыть конфликтующую программу | Ошибка при запуске, соединения нет |
| Старая версия ядра | Да: обновить приложение | Работает у других, не работает у вас |
| Сервер не принимает ключ | Нет: вопрос к доступу | Рукопожатие обрывается сразу |
| Маршрут до сервера деградировал | Нет: сменить локацию | Тайм-ауты и обрывы на одном сервере |
Конкретные тексты сообщений и что делать по каждому — на соседнем сайте сети: happ.repair. Здесь важнее принцип: сообщение от ядра говорит о том, на каком этапе остановились, а не о том, кто виноват.
Ошибка ядра — это надолго?
Обычно нет: большинство таких сбоев одноразовые. Повторяющаяся ошибка на одном и том же сервере говорит о несовместимости или о проблеме конкретной локации — попробуйте другую.
Стоит ли переустанавливать приложение при ошибке ядра?
Как второй шаг, не как первый. Сначала смените сервер и проверьте, действует ли доступ: это отсекает большую часть случаев за минуту.
Почему у знакомого на том же сервере всё работает?
Разные версии ядра, разные системы, разные сети. Чаще всего дело в версии — см. версии ядра.
Схема наверху держится на одном узле, который нельзя починить настройками: серверы приходят из подписки. Есть живой доступ — приложению есть что показать, ядру есть что запустить. Нет — интерфейс исправен, а список пуст. Доступ Happ Plus закрывает этот узел: одна ссылка на все устройства, серверы обновляются сами, первые 3 дня бесплатно и без карты.
Оформить доступ →