Инвентаризация VPN: планируемый доступ, сгенерированная конфигурация, активные сеансы
Имя туннеля — это наблюдение, а не запись об услуге. Прежде чем что-то выводить из эксплуатации, свяжите арендатора, развёрнутую конфигурацию и данные учёта.
Каждое имя туннеля выглядит как строка инвентаризации, пока вы не спросите, кому оно принадлежит. Имя говорит, что что-то подключено прямо сейчас; оно не может сказать, кому принадлежит услуга, что им разрешено достигать и та ли это конфигурация, которая породила туннель, что вы утвердили. В масштабе парка именно эти три вопроса и есть инвентаризация, а туннель — лишь последнее наблюдение.
Одна услуга, три записи
Планируемая услуга — это то, на что арендатор имеет право: идентичности, префиксы, ресурсы и состояние жизненного цикла. Развёрнутая конфигурация — это сгенерированная политика, которая должна её реализовать. Наблюдаемый сеанс — это доказательство времени выполнения, что что-то подключилось. Если считать их одной таблицей, три разных вида правды сжимаются в строку, которая неверна сразу тремя способами.
| Record | Answers | Goes stale when |
|---|---|---|
| Intended service | Who may reach what | A contract changes and nobody edits the record |
| Deployed configuration | What the gateway was told | A device is edited by hand |
| Observed session | What is running now | Telemetry stops or a session ends |
Практическая проверка — это вопрос, на который каждая запись может ответить самостоятельно. Спросите, кому принадлежит этот префикс, и запись планируемой услуги ответит. Спросите, какая политика у шлюза, и развёрнутая запись ответит. Спросите, пользовался ли кто-то этим на неделе, и запись сеанса ответит. Столбец, который не может ответить на собственный вопрос, нужно исправлять первым.
Записывайте арендатора, а не интерфейс
Дайте каждой услуге идентификатор, который переживает переподключение. Временный интерфейс туннеля или номер сеанса меняются по причинам, не имеющим отношения к клиенту, и инвентаризация, построенная на одном из них, получает новую строку каждый раз, когда соединение дрогнет. Стройте её на арендаторе и услуге, а затем прикрепляйте наблюдения к этому ключу.
Записи нужны ответственные арендатор и оператор, принятая идентичность партнёра или пользователя, ссылка на учётные данные, а не их копия, защищённые префиксы, контекст маршрутизации, разрешённые ресурсы и планируемое состояние жизненного цикла. Материал учётных данных принадлежит поддерживаемому хранилищу секретов; инвентаризация, носящая закрытые ключи, стала второй, хуже защищённой копией среды.
У сгенерированной конфигурации есть владелец и версия
Автоматизация делает это проще и лучше скрывает. Успешно отработавший генератор доказывает, что шаблон отрендерен, а не что каждое устройство соответствует выводу. Кто-то в конце концов изменит шлюз вручную во время инцидента, и это изменение — самое ценное, что нужно зафиксировать, потому что его не воспроизведёт ни один последующий запуск.
Зафиксируйте, какая ревизия создала развёрнутую политику, и сохраняйте прямые правки как расхождение, которое нужно согласовать вместо того чтобы молча их перезаписывать. Согласование здесь и есть продукт: успех генератора и фактическое состояние устройства — два факта, которые нужно сравнивать, а не считать равными.
Сеансы — это доказательство, а не разрешение
Там, где развёртывание использует учёт RADIUS, RFC 2866 даёт конкретные поля для работы. Acct-Status-Type отличает начало от остановки, а записи одного сеанса разделяют Acct-Session-Id. Эти поля позволяют восстановить, когда сеанс начался и закончился, не доверяя сводке панели.
Идентификатор учёта — это доказательство времени выполнения. Он не определяет, какому арендатору принадлежит подсеть, и не даёт доступа ни к чему. Сопоставьте его со шлюзом и идентичностью услуги, а затем держите время сбора рядом с наблюдением. Отсутствующий отчёт может быть сбоем телеметрии, а не отсутствием использования, и старая запись не доказывает, что доступ действует прямо сейчас.
Вывод из эксплуатации использует то же соединение
Удалить услугу значит удалить планируемый доступ, учётные данные и активные сеансы, именно в этом порядке, через владельцев каждого из них. Затем проверьте, что устаревшая конфигурация ушла с устройств и что её разрешённые пути больше не разрешаются. Клиент, ушедший в прошлом квартале, не должен оставаться в списке префиксов из-за того, что имя туннеля удалили, а маршрут нет.
Ничто из этого не требует одного устройства на функцию или конкретного продукта автоматизации. Операционное требование уже и труднее: клиент, его планируемый доступ, развёрнутая политика и текущие доказательства времени выполнения должны соединяться, не полагаясь на чью-то память об имени туннеля. Сначала постройте три записи, затем выбирайте инструменты, которые их поддерживают.