Skip to content

Шаблоны ​

Шаблон — вся конфигурация, которую обслуживает группа узлов. Вы собираете его из частей общего пула, назначаете одному или нескольким узлам, и каждый узел с этим шаблоном обслуживает ровно то, что в нём есть. Эта страница описывает, что входит в шаблон, как до него доходят узлы и пользователи и что происходит, когда вы его меняете.

Страница шаблонов: полоса сводки с назначенными, неназначенными и пустыми шаблонами над списком шаблонов с числом инбаундов, аутбаундов и эндпоинтовСтраница шаблонов: полоса сводки с назначенными, неназначенными и пустыми шаблонами над списком шаблонов с числом инбаундов, аутбаундов и эндпоинтов

Шаблоны находятся в разделе Конфигурации ядра → Шаблоны.

Что содержит шаблон ​

Сами части лежат в общих пулах, у каждого из которых своя страница. Шаблон выбирает из них и добавляет настройки, которые имеют смысл только для узла целиком.

ЧастьОткуда берётсяЧто с ней делает шаблон
ИнбаундыИнбаундыВходы, к которым подключаются пользователи
АутбаундыАутбаундыВыходы, из которых может выбирать маршрутизация
ЭндпоинтыЭндпоинтыWireGuard, OpenVPN и похожие интерфейсы
Наборы правилНаборы правилСписки, по которым могут срабатывать его правила маршрутизации
Маршрутизациязадаётся в шаблонеПравила, Исходящее по умолчанию
DNSзадаётся в шаблонеDNS-серверы и правила DNS
Логи и NTPзадаётся в шаблонеУровень журнала узла и синхронизация времени

Один инбаунд, аутбаунд или эндпоинт может входить во многие шаблоны. Измените его один раз в его пуле, и изменение получат все шаблоны, которые его содержат, и все узлы этих шаблонов.

Создание шаблона ​

  1. Откройте Конфигурации ядра → Шаблоны и нажмите Добавить.
  2. На вкладке Общие задайте Название и необязательное Примечание.
  3. Выберите Входящие, Исходящие и Эндпоинты, которые он содержит.
  4. На вкладке Маршрутизация выберите нужные Наборы правил и напишите правила или начните с пресета (см. Пресеты).
  5. На вкладке DNS добавьте DNS-серверы или начните с пресета.
  6. Нажмите Сохранить.

В редакторе пять вкладок:

  • Общие: название, примечание и выбор инбаундов, аутбаундов и эндпоинтов.
  • Маршрутизация: наборы правил, правила и аутбаунд по умолчанию. См. Маршрутизация и DNS.
  • DNS: DNS-серверы и правила DNS. См. Маршрутизация и DNS.
  • Логи и NTP: уровень журнала узла и необязательный сервер времени.
  • Дополнительно (JSON): дополнительные блоки верхнего уровня, которые вливаются в конфигурацию узла, — для настроек, которых нет в форме.

Шаблон без инбаундов и эндпоинтов не обслуживает ни одного пользователя. Список помечает такой шаблон, а полоса сводки учитывает его в Пустые.

Назначение шаблона узлам ​

Узел работает с одним шаблоном. Чтобы назначить его:

  1. Откройте Узлы и измените узел.
  2. В поле Шаблон выберите шаблон.
  3. Сохраните и дождитесь, пока узел покажется подключённым.

Узел без шаблона ничего не обслуживает. Несколько узлов могут использовать один шаблон, и обычно парк так и устроен: по шаблону на каждый вид сервера, и все серверы этого вида на нём.

Поверх шаблона узел может нести и немного своего: дополнительные аутбаунды, дополнительные эндпоинты и переопределение маршрутизации, которое заменяет маршрутизацию шаблона только на этом узле. См. Узлы и Маршрутизация и DNS.

Какие пользователи доходят до шаблона ​

Каждый пользователь входит в один шаблон, в несколько или во Все шаблоны. Пользователь создаётся только на тех узлах, в шаблон которых он входит, а Все шаблоны ставит его на все узлы. Новый пользователь по умолчанию доходит до всех шаблонов. Это задаётся в форме пользователя в поле Шаблоны; см. Пользователи.

Инбаунды и эндпоинты шаблона обслуживают пользователей, которые в него входят. Вручную добавлять пользователей в инбаунд никогда не нужно: они автоматически появляются в каждом шаблоне, который содержит этот инбаунд.

Некоторые типы инбаундов без единого пользователя обслуживали бы кого угодно или отказались бы запускаться: SOCKS, HTTP и смешанные прокси, Shadowsocks и некоторые другие. Пока в их шаблоне нет ни одного пользователя, панель не включает их в то, что отправляет узлу, и добавляет обратно с появлением первого пользователя.

Изменения применяются сразу ​

Сохранение шаблона сразу отправляет изменение на все его узлы. Вручную ничего синхронизировать или перезапускать не нужно.

  • Каждый узел применяет только то, что изменилось. Добавление или изменение инбаунда не затрагивает остальные инбаунды и их соединения.
  • Изменения маршрутизации, DNS и наборов правил тоже применяются на месте.
  • Пользователь, добавленный в шаблон или удалённый из него, доходит до его узлов тем же путём. Большинство инбаундов меняют свой список пользователей, никого не обрывая. Несколько типов пересобирают этот один инбаунд; клиенты WireGuard переподключаются примерно за двадцать секунд.

Если узел отказывается от конфигурации, он продолжает работать на предыдущей, а в строке узла видна ошибка. Исправьте шаблон и сохраните снова. Как панель и узел договариваются о том, что изменилось, описано в Изменения без перезапусков.

Пресеты ​

На вкладках Маршрутизация и DNS есть кнопка Из пресета.

Пресеты маршрутизации строят блок маршрутизации из списков, копии которых у панели уже есть:

ПресетЧто делает
Блокировать рекламуОтклоняет список рекламы и трекеров.
Иран + блокировка рекламыИранские домены и адреса выходят прямо с узла, а не идут дальше, а список рекламы отклоняется.
Китай + блокировка рекламыТо же для китайских доменов и адресов.
Россия + блокировка рекламыТо же для российских доменов и адресов.
Блокировать торрентыОтправляет то, что похоже на BitTorrent, в блокирующий аутбаунд, который узел учитывает. Добавляется перед существующими правилами.

Применение пресета маршрутизации заменяет правила шаблона, потому что порядок правил и есть маршрутизация. Исключение — Блокировать торренты: он добавляет своё правило перед вашими и больше ничего не меняет. Нужные пресету наборы правил добавляются к выбранным в шаблоне. Если какого-то из них у панели ещё нет, диалог называет его и предлагает Добавить списки и применить, что сначала их скачивает.

Пресеты DNS заменяют блок DNS шаблона шифрованными резолверами: Cloudflare, Google, Quad9 или AdGuard по DNS-over-TLS, либо Системный резолвер узла. AdGuard блокирует рекламу на стороне резолвера, поэтому используйте его вместо пресета маршрутизации Блокировать рекламу, а не вместе с ним.

Свои пресеты можно добавить, а встроенные изменить, файлами в каталоге пресетов. См. Маршрутизация и DNS.

Удаление шаблона ​

Удаление шаблона снимает его со всех узлов, которые с ним работают, и эти узлы ничего не обслуживают, пока вы не назначите им другой шаблон. Пользователи, входившие в него, теряют это членство. Если узлы должны продолжать работу, сначала переведите их на новый шаблон. Инбаунды, аутбаунды, эндпоинты и наборы правил, выбранные шаблоном, остаются в своих пулах.

Текст и изображения — CC BY 4.0.