Перейти к содержимому

Восстановление при блокировке IP

Запустите со своей собственной машины (SSH не требуется):

meridian test 198.51.100.10

Если проверка TCP на порту 443 не проходит из вашей сети, но работает откуда-то ещё (из другой сети или через VPN), IP, скорее всего, заблокирован. Отказ TCP везде обычно означает облачный файрвол или сервер, который не работает.

Чтобы понять, что именно заблокировано, запустите meridian test 198.51.100.10 --probe изнутри цензурируемой сети: команда сообщит, выглядит ли заблокированным IP сервера или маскировочный SNI. Тем, у кого нет CLI, достаточно открыть свою страницу подключения: если она загружается в их сети, контрольный сервер оттуда достижим.

Если вы развёрнули с доменом (--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 сервер не может быть перемещён таким образом: его адрес входит в каждый URL подписки.

Если вы не использовали домен, добавьте его к новому выходу:

Окно терминала
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

Чтобы направить промежуточный сервер на другой выход, удалите его командой meridian relay remove и добавьте снова, указав в --exit новый выход.

node add и relay add нужна панель. Если сервер, на котором она была размещена, пропал и не может быть восстановлен, Meridian не может перенести его клиентов: разверните свежий сервер с 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/ никогда не копировался с машины, которая управляет серверами.
  1. Добавьте промежуточный сервер внутри страны: meridian relay add RELAY_IP --exit EXIT_IP
  2. Используйте домен для резервного CDN: разверните с --domain vpn.example.com
  3. Оба — клиенты затем имеют три пути входа: промежуточный сервер (домашний), CDN (Cloudflare) и прямой
  4. Создайте резервную копию ~/.config/meridian/ — это то, что позволяет вам управлять серверами с другой машины

Не удаляйте заблокированный сервер сразу — блокировки иногда снимаются через дни или недели. Проверяйте время от времени:

Окно терминала
meridian test 198.51.100.10

Когда он больше не нужен, удалите его командой meridian node remove.