Решение проблем

Какой инструмент использовать

ДО УСТАНОВКИ           → meridian check IP
  "Будет ли этот сервер работать с Meridian?"
  Проверяет: SNI доступность, порт 443, DNS, ОС, диск.

ПОСЛЕ УСТАНОВКИ, ЗДОРОВ ЛИ? → meridian check
  "Панель, узлы, ретрансляторы, порты и сертификаты в порядке?"
  Проверяет каждый сервер в флоте по ролям, по SSH.

ПОСЛЕ УСТАНОВКИ, НЕ МОГУ ПОДКЛЮЧИТЬСЯ → meridian test IP
  "Доступен ли прокси отсюда?"
  Проверяет: настроенные слушатели, TLS/SNI, каноническую подписку и прокси-трафик.
  SSH не нужен — запускается с клиентского устройства.

ПОСЛЕ УСТАНОВКИ, ПРОВЕРИТЬ ЭКСПОЗИЦИЮ → meridian test IP --probe
  "Раскрывает ли развёртывание прокси или интерфейс управления?"
  Проверяет: публичные порты, TLS/HTTP, пути, SNI, DNS и политику топологии.
  SSH не нужен — запускается с клиентского устройства.

ПОСЛЕ УСТАНОВКИ, ЧТО-ТО СЛОМАЛОСЬ → meridian doctor IP
  "Собрать всё для отладки."
  Собирает: ОС сервера, Docker, логи узла Remnawave и nginx, порты, фаервол, SNI, DNS.

Добавьте --ai к check или doctor для готовой к AI диагностической подсказки.

Не может подключиться вообще

Порт 443 не доступен

Причины:

  1. Брандмауэр облачного провайдера / группа безопасности блокирует входящий порт 443
  2. ISP или сетевая блокировка IP-адреса сервера целиком
  3. Сервер не работает или прокси не запущен
  4. UFW на сервере не разрешает порт 443

Решения:

  1. Проверьте консоль облачного провайдера — убедитесь, что 443/TCP разрешен входящему трафику
  2. Попробуйте с другой сети (мобильные данные, другой Wi-Fi)
  3. Подключитесь к серверу по SSH и проверьте: docker ps (запущены ли remnawave и remnawave-node?), systemctl status nginx, ss -tlnp sport = :443
  4. Проверьте UFW: ufw status — должно показать 443/tcp ALLOW

TLS handshake не пройден

Причины:

  1. Xray не работает внутри Docker контейнера
  2. Порт 443 занят другим сервисом
  3. Целевой SNI Reality недоступен с сервера

Решения:

  1. Проверьте Xray: docker logs remnawave-node --tail 20
  2. Проверьте порт: ss -tlnp sport = :443 — должен быть nginx
  3. Протестируйте SNI: meridian check IP --sni HOST

Домен не доступен

Причины:

  1. DNS не указывает на IP сервера
  2. nginx не работает или не получил TLS сертификат
  3. nginx не маршрутизирует домен SNI правильно

Решения:

  1. Проверьте DNS: dig +short yourdomain.com @8.8.8.8
  2. Проверьте nginx: systemctl status nginx
  3. Проверьте конфигурацию nginx: /etc/nginx/stream.d/meridian.conf

Соединение прерывается через несколько секунд

Причины:

  1. Рассинхронизация системных часов >30 секунд между клиентом и сервером
  2. Проблемы с MTU на сетевом пути
  3. ISP сбрасывает долгоживущие TLS сессии

Решения:

  1. Сервер: timedatectl set-ntp true. Клиент: включите автоматическую установку даты/времени
  2. Попробуйте другую сеть
  3. Используйте WSS/CDN подключение (режим домена)

Установка не удалась

Конфликт порта 443

Другой сервис (Apache, Nginx) использует порт 443. Остановите его или используйте чистый сервер. meridian check IP подскажет вам, что использует порт.

Docker установка не удалась

Конфликтующие Docker пакеты из репозиториев дистрибутива. Meridian автоматически их удаляет, но если Docker уже работает с контейнерами, он пропускает для предотвращения сбоев.

Ошибки подключения SSH

Протестируйте SSH вручную: ssh root@SERVER_IP. Убедитесь, что у вас есть доступ на основе ключей. Используйте флаг --user если не root.

Xray не запускается в контейнере узла

Проверьте контейнер: docker logs remnawave-node --tail 50. Частые причины: порт на хосте уже занят (узел работает с network_mode: host, поэтому порты из cluster.yml должны быть свободны), панель недоступна (при запуске узлу нужен выданный панелью node_secret_key) или отсутствует разрешение Linux NET_ADMIN.

Решение: запустите meridian check IP и выполните предложенные исправления перед переразворачиванием. Чтобы проверить состояние панели Remnawave, откройте интерфейс администратора по адресу https://<IP>/<secret_path>/ и перейдите в Nodes: узел должен иметь статус connected. Команда meridian fleet status показывает те же сведения в CLI.

Ошибка создания XHTTP inbound (конфликт порта)

В старых версиях Meridian (до v3.6.0) Reality и XHTTP пытались использовать порт 443 одновременно. В v4 для Reality, XHTTP и WSS назначаются детерминированные порты каждого узла (см. Архитектура → Назначение портов), а внешний трафик направляется через nginx, поэтому такой конфликт больше не возникает.

Недостаточно места на диске

Менее 2ГБ свободного места. Освободите место: docker system prune -af, journalctl --vacuum-time=1d, проверьте /var/log/.

DNS не разрешается (режим домена)

Сертификат для вашего домена может быть выдан только когда A-запись домена указывает на сервер (серое облако во время развёртывания). Обновите запись, дождитесь распространения (обычно 5–15 минут), затем запустите команду развёртывания снова. meridian check IP --domain DOMAIN проверяет это перед развёртыванием.

Было работающим, теперь остановилось

Самая частая причина: IP-адрес сервера был заблокирован. Запустите meridian test IP: результаты разделяют сетевую доступность, TLS, подписку и выполнение прокси. Ошибка TCP также может означать облачный фаервол или выключенный сервер.

Подробные инструкции по восстановлению см. в Руководстве по восстановлению заблокированного IP.

Другие причины:

  • Сервер перезагрузился и сервисы не запустились автоматически → выполните docker compose up -d в /opt/remnawave и /opt/remnanode, затем systemctl restart nginx
  • Диск переполнен → df -h /, docker system prune -af

Низкая скорость

  1. Выберите сервер географически ближе (Финляндия, Нидерланды, Швеция для Европы/Ближнего Востока)
  2. Проверьте нагрузку на сервер: htop или uptime
  3. Попробуйте WSS/CDN ссылку — может иметь лучшую маршрутизацию через Cloudflare
  4. Проверьте, включен ли BBR: sysctl net.ipv4.tcp_congestion_control

НЕ запускайте другие протоколы (OpenVPN, WireGuard) на том же сервере — это помечает IP.

AI-усиленная помощь

meridian doctor --ai

Копирует диагностическую подсказку в буфер обмена для использования с любым AI ассистентом.

Или соберите диагностику для GitHub issue:

meridian doctor

Релейный узел не работает

Проблемы, связанные с релейными узлами, см. в разделе Руководство релейных узлов — Решение проблем.

Для V4-цепочки relay check намеренно недоступен: проверяйте клиентский маршрут через meridian test. В fleet status доступный relay означает только успешное TCP-соединение с публичным listener; внутренние hop’ы остаются unknown и могут дать общий код 3.

Интерпретация вывода предварительной проверки

ПроверкаЧто проверяетЕсли не прошла
Доступность SNI-целиМожет ли сервер достичь сайт маскировки?Исходящий трафик сервера ограничен. Попробуйте другой SNI с --sni
Доступность порта 443Свободен ли порт 443 или используется Meridian?Другой сервис на 443. Остановите его или используйте чистый сервер
Внешняя доступность порта 443Может ли внешний мир достичь порта 443?Облачный фаервол блокирует. Откройте порт 443/TCP входящий
DNS доменаРазрешается ли домен в IP сервера?Обновите A-запись DNS
ОС сервераUbuntu/Debian?Без apt (CentOS, Fedora, Alpine) — ошибка; переустановите Ubuntu или Debian
Дисковое пространствоМинимум 2ГБ свободно?Освободите место
Синхронизация часовРасхождение клиента и сервера меньше 30 секунд?Включите NTP и автоматическую установку времени на обоих устройствах

Интерпретация вывода doctor

РазделНа что обратить внимание
Локальная машинаСовместимость ОС
СерверВерсия ОС, uptime (недавняя перезагрузка?), использование диска/памяти
DockerЗапущены ли контейнеры remnawave и remnawave-node? Статус должен быть “Up”
Логи узла RemnawaveОшибки запуска узла, записи “failed to start”, проблемы с сертификатами
Прослушиваемые портыПорт 443 должен показывать nginx. Если отсутствует, прокси не работает
Фаервол (UFW)Порт 443/tcp должен быть ALLOW. Если не указан, он заблокирован
SNI-цельДолжно показывать CONNECTED с цепочкой сертификатов
DNS доменаДолжен разрешаться в IP сервера

Интерпретация вывода test

ПроверкаПройденаНе пройдена
Доступность TCPКаждый настроенный публичный TCP-слушатель доступенФаервол, блокировка ISP, выключенный сервер или неверная топология
Маскировка TLS/SNIЦель показывает ожидаемую маскировочную идентичностьОшибка TLS-маршрутизации, сертификата, DNS или SNI
Корень доменаДоступен защищённый ответ 403/404Ошибка DNS/nginx или непредусмотренный публичный контент
Каноническая подпискаRemnawave выдал корректный Xray JSON активного клиентаНет активного клиента, ошибка панели или шаблона
Автоматический fallbackВыданная политика провела реальный трафикОшибка балансировщика, маршрута, учётных данных или endpoint
Проверки протоколовКаждый outbound цели провёл реальный трафикОшибка слушателя, фаервола или выданной конфигурации протокола

Итоговый код выхода различает результат: 0 — всё прошло, 4 — проверка завершена с отрицательными результатами, 3 — результат неопределён из-за отсутствующих обязательных данных. --timeout принимает 1–30 секунд и ограничивает каждую сетевую операцию или запуск протокола, а не длительность всей команды. При первом полном тесте Meridian может до 120 секунд загружать закреплённый Xray и проверять опубликованный checksum с GitHub; затем используется локальный cache.

Проверка реального трафика чередует несколько внешних IP-observer’ов. Если запросы через proxy не проходят, но observer работает напрямую, это отрицательный результат; если observer’ы недоступны и через proxy, и напрямую, Meridian не обвиняет proxy и возвращает неопределённость (3). --basic не подтверждает UDP-трафик Hysteria. TARGET и --server нельзя передавать вместе.

Интерпретация вывода probe

probe использует те же коды 0/4/3 и тот же диапазон --timeout 1–30 секунд на операцию. Для управляемых маршрутов нарушение TLS trust, hostname или детерминированного SNI является находкой. Неполные повторные наблюдения и разные, но доверенные сертификаты независимых CDN edge считаются неопределёнными, а не ложным провалом. Пропущенная проверка никогда не учитывается как успех.

meridian scan требует IPv4: для IPv6-only сервера RealiTLScanner не запускается, и команда возвращает 3. В V4 выбранный SNI только показывается; изменяйте проверенный intent через meridian setup.

Если все проверки пройдены, но VPN-клиент всё ещё не может подключиться: пересканируйте QR-код, проверьте точность часов устройства (в пределах 30 секунд), или попробуйте другое приложение (v2rayNG, Hiddify).

On this page