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

> Что делать когда IP-адрес сервера заблокирован — диагностика и варианты восстановления.

## Диагностика

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

```
meridian test IP
```

Если проверка TCP порта 443 не пройдена, IP, вероятно, заблокирован вашим провайдером или государством. Это наиболее распространенная проблема в цензурируемых регионах.

## Немедленное решение

Если вы развернули с **режимом домена** (`--domain`), ваше WSS/CDN соединение продолжает работать — оно маршрутизируется через CDN Cloudflare, полностью обходя блокировку IP. Скажите пользователям переключиться на ссылку WSS соединения на странице подключения.

Если у вас развернут **relay**, клиенты, подключающиеся через relay, остаются не затронуты — они подключаются к домашнему IP relay, а не к заблокированному IP выхода.

## Варианты восстановления

### Вариант A: Развернуть новый сервер

Самый быстрый способ, если у вас мало клиентов и нет relay:

```bash
# 1. Получите новый VPS у вашего провайдера (новый IP)
# 2. Разверните Meridian
meridian deploy NEW_IP

# 3. Повторно добавьте каждого клиента
meridian client add alice --server NEW_IP
meridian client add bob --server NEW_IP

# 4. Отправьте новые страницы подключения пользователям
```

Развертывание идемпотентно — повторное выполнение на том же IP безопасно и продолжит с того момента, где остановилось.

### Вариант B: Новый выходной сервер + существующий relay

Лучше всего, если у вас развернут relay — ваши клиенты сохраняют соединение relay, пока вы меняете выходной сервер позади него:

```bash
# 1. Разверните новый выходной сервер
meridian deploy NEW_EXIT_IP

# 2. Повторно добавьте клиентов на новый выход
meridian client add alice --server NEW_EXIT_IP
meridian client add bob --server NEW_EXIT_IP

# 3. Переключите relay на новый выход
meridian relay remove RELAY_IP --exit OLD_EXIT_IP
meridian relay deploy RELAY_IP --exit NEW_EXIT_IP

# Клиенты переподключаются автоматически — IP relay не изменяется
```

### Вариант C: Добавить режим домена для fallback CDN

Если вы раньше не использовали режим домена, добавьте его теперь, чтобы предотвратить будущие перебои:

```bash
meridian deploy NEW_IP --domain proxy.example.com
```

С режимом домена WSS/CDN соединение работает даже когда IP сервера заблокирован — трафик маршрутизируется через Cloudflare. Смотрите [руководство режима домена](/md/ru/domain-mode/) для настройки Cloudflare.

## Упреждающая защита

Установите устойчивость **до** того как ваш IP заблокирован:

1. **Разверните relay** — дает клиентам домашнюю точку входа. Когда выходной IP заблокирован, замените выход позади relay без изменения клиентов:
   ```bash
   meridian relay deploy RELAY_IP --exit EXIT_IP
   ```

2. **Включите режим домена** — добавляет WSS/CDN fallback, который работает даже если IP заблокирован:
   ```bash
   meridian deploy EXIT_IP --domain proxy.example.com
   ```

3. **Оба** — максимальная устойчивость. Клиенты имеют три пути: relay (домашний), CDN (Cloudflare) и прямой (если не заблокирован).

## Миграция клиентов

Каждого клиента нужно повторно добавить вручную на новый сервер — инструмента автоматической миграции еще нет. Рабочий процесс:

1. Развернуть новый сервер
2. `meridian client add NAME` для каждого клиента
3. Поделиться новыми страницами подключения с пользователями (QR код, общая ссылка или HTML файл)

Страницы подключения автоматически генерируются со всеми доступными вариантами подключения (прямой, relay, CDN). Если у вас включены серверные страницы, общие ссылки обновляются автоматически.

## Оставьте старый сервер

Не удаляйте старый сервер сразу — он может стать разблокированным через дни или недели. Вы можете проверять периодически:

```bash
meridian test OLD_IP
```

Если он вернется, у вас есть запасной выходной сервер готов к использованию.
