Восстановление при блокировке IP
Диагностика
Запустите со своей собственной машины (SSH не требуется):
meridian test 198.51.100.10
Если проверка TCP на порту 443 не проходит из вашей сети, но работает откуда-то ещё (другая сеть, VPN, ping tool), IP скорее всего заблокирован. Отказ TCP везде обычно означает облачный брандмауэр или сервер, который не работает.
Немедленное облегчение
Если вы развёрнули с доменом (--domain) и запись проксируется через Cloudflare, пути XHTTP и WSS всё ещё работают — они достигают Cloudflare, не вашего заблокированного IP. Приложения, использующие JSON Xray или подписку Mihomo, переключаются самостоятельно; другие могут выбрать запись XHTTP или WSS вручную.
Если у вас есть ретранслятор, клиенты, подключающиеся через него, не затрагиваются, пока ретранслятор сам может достичь выхода.
Варианты восстановления
Добавить замену выхода
Самый быстрый путь, пока ваш control-plane сервер (тот, на котором работает панель) всё ещё достижим с вашей машины:
# 1. Получите новый VPS у вашего провайдера (новый IP)
# 2. Добавьте его в флот
meridian node add 198.51.100.20 --name replacement
Клиенты сохраняют свои учётные записи. Они получают новый выход при следующем обновлении подписки — попросите их обновить в приложении, если это не происходит автоматически.
Или переместить заблокированный выход на новый сервер
node replace перемещает выход на новый сервер, сохраняя его ID, ключи, пути протокола и ретрансляторы, затем очищает старый сервер:
meridian node replace exit-1 198.51.100.20
Клиенты подберут новый адрес при следующем обновлении подписки. Сам control-plane сервер не может быть перемещён таким образом.
Добавить домен для резервного CDN
Если вы не использовали домен, добавьте его к новому выходу:
meridian node add 198.51.100.20 --domain vpn.example.com
См. Domain mode для шагов Cloudflare.
Добавить ретранслятор
Ретранслятор на домашнем сервере даёт пользователям точку входа, которая остаётся достижимой, когда иностранные IP заблокированы:
meridian relay add 203.0.113.10 --exit 198.51.100.20
Если control-plane сервер потерян
node add и relay add нужна панель. Если сервер, на котором она была размещена, пропал и не может быть восстановлен, автоматической миграции нет: разверните свежий сервер с meridian deploy, затем воссоздайте каждого клиента с meridian client add. Каждый человек получает новую ссылку.
Управление с более чем одной машины
Всё что Meridian знает о флоте живёт в ~/.config/meridian/ на машине из которой вы разворачиваете. Чтобы управлять флотом со второй машины, скопируйте весь тот директорий, и скопируйте его снова после каждого изменения которое вы делаете где-то ещё.
Вы не можете случайно отменить работу другой машины. Control-сервер держит маленький запись последнего изменения которое было применено (/var/lib/meridian/fence.json). Перед изменением чего-либо, Meridian сравнивает вашу копию с тем записью, и meridian plan предупреждает впереди времени если apply было бы отказано:
- “Another machine changed this fleet”: ваша копия устарела. Скопируйте
~/.config/meridian/с машины которая применила последней, затем запустите команду снова. - “Another apply is running”: кто-то изменяет флот прямо сейчас. Подождите пока они кончат. Если этот запуск потерпел крах, его требование истекает в пределах 30 минут; потерпевший крах запуск на вашей собственной машине не блокирует вас вообще.
- “This control server belongs to a different copy of the fleet”: этот
~/.config/meridian/никогда не копировался с машины которая управляет флотом.
Подготовка перед блокировкой
- Добавьте ретранслятор на домашний сервер:
meridian relay add RELAY_IP --exit EXIT_IP - Используйте домен для резервного CDN: разверните с
--domain vpn.example.com - Оба — клиенты затем имеют три пути входа: ретранслятор (домашний), CDN (Cloudflare) и прямой
- Создайте резервную копию
~/.config/meridian/— это то, что позволяет вам управлять флотом с другой машины
Оставьте старый сервер
Не удаляйте заблокированный сервер сразу — блокировки иногда снимаются через дни или недели. Проверяйте время от времени:
meridian test 198.51.100.10
Когда он больше не нужен, удалите его командой meridian node remove.