Как включить аварийный доступ
Настройка аварийного доступа (OLCRTC) для ваших пользователей: подписка Pro, аварийный маршрут, переключатель кластера и запуск runtime на серверах — по шагам, в правильном порядке.
Это инструкция для вас как владельца сервиса. Она про то, как включить аварийный доступ, чтобы им могли пользоваться ваши пользователи. Для самих пользователей есть отдельные страницы: Аварийный доступ — как это работает и что делать во время блокировок, и Установка аварийного клиента — где скачать приложение и как его поставить.
Аварийный доступ (OLCRTC) — запасной канал для сетей с белыми списками, где обычное подключение не проходит вообще. Трафик идёт через ваши же серверы, но маскируется под видеозвонок в разрешённом сервисе. Это не второй протокол и не замена основному: медленнее, для коротких сессий, включается пользователем вручную и только тогда, когда всё остальное перестало работать.
Функция экспериментальная и раскатывается поэтапно. Даже когда все переключатели включены, аварийный runtime может ещё не быть установлен на ваши серверы, а запуск сессий — не активирован: доступ открывается постепенно. Если после включения состояние сервера долго не становится «здоров», скорее всего очередь просто ещё не дошла до вас.
Она также работает не во всех сетях и странах и зависит от доступности внешнего видеосервиса (а для почтового пути — ещё и от того, проходит ли почта). Не стоит обещать её как гарантированную возможность — правильнее подавать как страховку на случай жёстких блокировок.
Что потребуется
- подписка Pro (или Max — в него входит всё из Pro);
- хотя бы один маршрут, помеченный аварийным;
- включённый переключатель OLCRTC у кластера;
- хотя бы один сервер этого кластера с включённым runtime;
- у пользователей — подтверждённая почта и активный аккаунт (подробнее в разделе об ограничениях ниже).
Порядок включения
Переключателей три, в разных местах, и их легко перепутать — два из них называются почти одинаково:
| Что включаем | Где находится | Как называется |
|---|---|---|
| Маршрут | настройки маршрута (при редактировании) | «Аварийный маршрут (OLCRTC)» |
| Кластер | страница кластера, над списком маршрутов | «Включить OLCRTC для этого кластера» |
| Сервер | панель сервера, кнопка «Изменить» | «Запускать OLCRTC на этом сервере» |
Порядок важен: кластер не даст включить OLCRTC, пока нет ни одного аварийного маршрута — сначала маршрут, потом кластер.
Оформите Pro. Раздел Оплата → блок подписки. Без активной Pro переключателей аварийного доступа в интерфейсе просто не будет: вместо них на странице кластера показывается карточка «Аварийный доступ (OLCRTC)» с кнопкой «Оформить».
Пометьте маршрут аварийным — в настройках самого маршрута. Откройте маршрут на редактирование и в блоке «Аварийный доступ (OLCRTC)» включите тумблер «Аварийный маршрут (OLCRTC)».
Тумблер есть только при редактировании существующего маршрута. В форме создания нового маршрута его нет: сначала создайте маршрут, потом откройте его настройки и пометьте аварийным.
Серверы этого маршрута попадают в пул аварийного доступа. Пометить можно несколько маршрутов — пул объединяет их все, и если в одном не окажется подходящих серверов, подключение уедет на сервер из другого. В списке маршрутов у помеченных появится метка аварийный.
Включите OLCRTC для всего кластера. Это второй, отдельный тумблер — не тот, что в маршруте. Он живёт на странице кластера, в блоке «Аварийный доступ» с меткой OLCRTC, сразу над списком маршрутов, и называется «Включить OLCRTC для этого кластера».
Это главный рубильник: пока он выключен, пользователи кластера ничего запросить не смогут, сколько бы маршрутов вы ни пометили аварийными. Под переключателем видно, сколько аварийных маршрутов уже в пуле.
Разрешите запуск на серверах. Кликните по серверу — откроется панель с его настройками, в ней найдите блок Аварийный runtime (OLCRTC), нажмите «Изменить», включите «Запускать OLCRTC на этом сервере» и нажмите «Сохранить».
Runtime ставится и обновляется в фоне — вручную на сервер заходить не нужно. Пока он не установился и не отчитался, состояние будет показано как «не здоров»; это нормально, дождитесь «здоров · N/M активно».
Блок виден только в обычном режиме интерфейса — в упрощённом режиме Single его нет.
Задайте ёмкость. В том же блоке — Макс. одновременных сессий. Поле можно оставить пустым, но лучше не оставлять: см. следующий раздел.
Расскажите пользователям. Аварийный доступ бесполезен, если о нём узнают уже под блокировкой: клиент нужно установить заранее. Дайте им ссылки на Аварийный доступ и Установку клиента и попросите один раз пройти весь путь, пока интернет работает нормально.
Сколько сессий выдержит сервер
Одна аварийная сессия — это не «ещё один пользователь VPN», она заметно дороже: сервер упаковывает трафик в видеопоток, и это стоит процессорного времени.
По замеру на живой сессии (просмотр видео в Full HD, около 5 Мбит/с) одна сессия занимает примерно 15% одного ядра и 31 МБ памяти. Память практически ничего не значит — упирается всё в процессор.
| Ядер на сервере | Разумная ёмкость |
|---|---|
| 1 | 3 |
| 2 | 6–7 |
| 4 | 12–14 |
Выше этих значений подниматься не стоит даже на выделенном сервере: уже четыре сессии на одном ядре — это около 60% ядра плюс фон. И учтите, что замер сделан при просмотре видео (~5 Мбит/с); если пользователь выжмет из туннеля максимум, одна сессия может стоить заметно дороже.
Пустое поле ёмкости означает «без ограничения». Тогда единственная защита — автоматика, которая перестанет ставить новые сессии на совсем перегруженный сервер. Но она реагирует с задержкой, а на слабом сервере к этому моменту уже просядут обычные пользователи. На одноядерных серверах ёмкость лучше проставить явно.
Балансировка отчасти помогает: если у маршрута выбран алгоритм по нагрузке (он стоит по умолчанию), сервер с высокой загрузкой процессора показывает меньше свободной полосы, и новых обычных пользователей система уводит на менее загруженные серверы. Но это поправка по общей загрузке процессора, а не подсчёт аварийных сессий, и работает она с задержкой в несколько минут — заменой явной ёмкости она не является.
Что видно в интерфейсе
В блоке Аварийный runtime (OLCRTC) у каждого сервера:
- Возможность — включён ли запуск сессий на этом сервере;
- Ёмкость — ваш лимит одновременных сессий («не задана» = без лимита);
- Runtime — состояние: «здоров · N/M активно», «не здоров» или «пока не рапортует».
Сразу после включения ждите «не здоров» — это нормально, сервер ещё ставит runtime и пока не отчитался. Если состояние держится долго, проверьте, что сервер вообще на связи. Надпись «пока не рапортует» мелькает только в момент загрузки страницы.
Ограничения, о которых стоит знать заранее
Сессия живёт до 12 часов, потом останавливается сама. Продлить нельзя — пользователь создаёт новый созвон и запрашивает подключение заново.
Одна сессия на пользователя. Второй запрос не создаст вторую сессию: в кабинете он покажет «сессия уже запущена», а второе письмо останется без ответа — пользователю стоит заранее объяснить, что это нормально.
Около 14 Мбит/с на приём и меньше мегабита на отдачу, задержка 175–235 мс. Смотреть видео и работать с почтой комфортно, а отправлять большие файлы, созваниваться по видео и играть — нет. Это потолок текущей конфигурации туннеля, а не основного подключения.
Требования к пользователю жёстче, чем кажется. Нужна подтверждённая почта — те, кого вы завели вручную без почты, запросить доступ не смогут. Кроме того, аккаунт должен быть активен: приостановленные, истёкшие, исчерпавшие лимит и ожидающие первой оплаты (on_hold, а это все, кто зарегистрировался сам и ещё не платил) получают отказ. Письмо должно пройти проверку подлинности отправителя и содержать только ссылку на созвон, а частота ограничена — пять запросов в час на пользователя и сто на весь сервис (бюджет общий для кабинета и почты).
В кабинете каждый отказ показывается с причиной; на письмо ответ уходит, когда мы можем опознать отправителя как вашего пользователя (неаутентифицированный или незнакомый отправитель остаётся без ответа). Если к вам придут с жалобой «запросил, ничего не произошло» — начинайте со статуса аккаунта и ссылки на созвон, а для почтового пути проверьте, что письмо ушло с адреса аккаунта и содержало только ссылку.
Мультихоп-маршруты не участвуют. Для аварийных сессий используются только прямые маршруты.
iPhone — сложнее. Клиент для iOS ставится только через sideload, у Apple его нет. Ваши пользователи с айфонами должны подготовиться заранее и внимательнее — это описано в инструкции по установке.
Как выключить
Снять флаг Включить OLCRTC для этого кластера можно в любой момент — новые сессии перестанут запускаться. Уже запущенные доработают свой срок.
Последний аварийный маршрут при включённом OLCRTC снять или удалить нельзя: сначала пометьте другой маршрут или выключите OLCRTC у кластера.
Если подписка Pro закончилась, выключить всё можно, а включить обратно — только продлив её.