Для кого: администратор панели, SRE. Требуемые права: чтение — просмотр нод, запрос к ноде и привязка адреса — операции с нодами, роли — редактирование нод. Лицензия: ключ
core.node_network (чтение сохранённого доступно на любом тарифе).Адреса читает и меняет агент. На ноде без агента вкладка так и говорит и не предлагает кнопок, которые не сработают. SSH-запасного пути здесь нет.
Инвентарь
Список адресов приносит агент по запросу панели. Сама панель на ноду за ним не ходит, поэтому рядом всегда написано, когда его смотрели в последний раз, а кнопка «Спросить ноду» перечитывает список заново. На ноде при этом ничего не меняется. У каждого адреса видно интерфейс, маску, шлюз и то, откуда он взялся:- Адрес панели — по нему панель ходит на ноду. Снять его нельзя: связь с нодой держится на нём.
- Этот адрес прописала панель — свой, добавленный отсюда. Только такие панель и снимает.
- Выдан автоматически — приехал по DHCP или SLAAC и может смениться сам.
- Пропал — адрес, которого на ноде больше нет. Из списка он не исчезает, а остаётся с временем последней встречи: провайдер, переселивший ноду, это ровно то событие, ради которого инвентарь и заводится.
Привязать адрес
Поле в диалоге одно: адрес, который выдал провайдер. Интерфейс, маску, шлюз и необходимость отдельной таблицы маршрутизации панель выводит из инвентаря и сразу показывает словами, что получится. Типовой случай — соседний адрес из той же подсети: маршрут для неё на ноде уже есть, добавлять нечего. Второй вопрос появляется там, где ядру физически неоткуда взять ответ: адрес из чужой подсети. Тогда панель спрашивает шлюз и подставляет тот, которым нода пользуется сама, а заодно заводит адресу отдельный маршрут, чтобы ответы уходили тем же путём, каким пришли.Как применяется
Применение двухфазное, и это защита от потери ноды:1
Нода применяет адреса вживую
Агент ставит адреса в работающее ядро и заводит откат по таймеру.
2
Панель стучится второй раз
Второй заход и есть проверка связи: задача прошла по той самой сети, которую только что поменяли.
3
Конфигурация записывается на диск
Только после этого адреса становятся постоянными.
Роли: вход и выход
Роль говорит, зачем адрес нужен схеме.
Роли начинают действовать, когда схема с этой нодой применена заново. Собственный трафик ноды (обновления,
curl, агент) роли не меняют: они про трафик клиентов.
Роль можно назначить только адресу, который на ноде действительно есть. Схема, прикреплённая к объявленному, но отсутствующему адресу, скомпилировалась бы чисто и не обслужила никого: inbound не поднялся бы, а выход не дозвонился.
Резерв
Второй адрес с той же ролью становится резервом, а не забирает трафик. Так и задумано: отмечая второй выход, оператор готовит запасной, а не перенаправляет живой трафик. Переключение — отдельное действие, кнопка «Переключить на этот»: адреса меняются местами в одной транзакции, и роль ни на миг не оказывается у двоих сразу.Что панель скажет вслух
Компилятор схемы отклоняет то, что заведомо не заработает, и объясняет причину:- Блок с адресом-ролью должен содержать ровно одну ноду. Связка компилируется в один config profile, который получают все её ноды. Адрес есть у одной, поэтому для остальных
listenс этим адресом — команда, которую они выполнить не могут: inbound не поднимется, и нода молча перестанет принимать клиентов. - Прямого выхода в схеме нет — значит адрес выхода задаёт WARP или прокси, а не роль.
- Выходных адресов отмечено несколько — работает первый; разделять трафик между ними пока нельзя.
listenвыставлен руками в блоке — это решение оператора, и роль его не перебивает.
Проверил ли кто-нибудь, что нода выходит с назначенного адреса
Назначить роль и убедиться, что нода ей пользуется, — разные вещи. Правило маршрутизации могло не встать, провайдер мог отобрать адрес. Поэтому панель отдельно смотрит, за кого ноду принимает интернет: карточка Выход в интернет в карточке ноды показывает наблюдаемый адрес и страну выхода, прочитанные через туннель самой схемы. Подробности — в Уровнях проверок.Ограничения
- Ноде без агента фича недоступна целиком.
- На незнакомом сетевом стеке адреса встанут только в живое ядро: постоянными их сделать не выйдет, и вкладка об этом скажет.
- Чужие адреса панель показывает, но не снимает. Снять можно только то, что она сама и прописала.
- Разделить трафик между несколькими выходными адресами одной ноды пока нельзя: первый забирает весь прямой выход.
Типовые ошибки
«Агент не выходит на связь»
«Агент не выходит на связь»
Список остаётся с прошлой проверки, и менять адреса нечем. Начните со вкладки Агент: жив ли он, приходит ли heartbeat.
Адрес добавлен, но провайдер его не маршрутизирует
Адрес добавлен, но провайдер его не маршрутизирует
Проверьте в панели провайдера, привязан ли адрес к этому серверу. Панель делает свою половину работы, чужую половину сделать не может.
«Нода вернула адреса как было»
«Нода вернула адреса как было»
После смены адресов панель не смогла достучаться до ноды, и нода откатилась сама. Убедитесь, что адрес администрирования не задет и что новый адрес не конфликтует с существующим маршрутом.
Роль назначена, а в конфиге клиента прежний адрес
Роль назначена, а в конфиге клиента прежний адрес
Роли доезжают до ноды только с применением схемы. Примените Connection Unit заново.
