Три условия определяют, какой идентификатор должна использовать резервация: какая система выдаёт адрес, видит ли она когда-либо кадр уровня 2 и что она использует в качестве ключа клиента. Домашний маршрутизатор с DHCP, мостовой VPN и маршрутизируемый туннель отвечают на эти вопросы по-разному. Выбор идентификатора прочнее, чем попытка заморозить каждый MAC-адрес, который сообщает адаптер, потому что идентификатор — это то, что распределитель действительно читает.

Начните с распределителя и двигайтесь назад; идентификатор на стороне клиента — это то, что принимает эта система.

Сначала спросите распределитель

DHCP-сервер выделяет из пула и сопоставляет резервации с идентификатором, который он распознаёт; в зависимости от версии протокола это может быть аппаратный адрес, строка идентификатора клиента или DUID. VPN-сервер выделяет из собственного пула и сопоставляет с тем, что раскрывает его модель конфигурации, чаще всего с аутентифицированным Common Name. Мостовая сеть может передать ту же задачу DHCP-серверу, который уже обслуживает LAN. Каждый из них — отдельный поиск, и резервация, действительная в одном, невидима для других.

Прежде чем что-либо настраивать, подтвердите, что сервер действительно видит. Резервация с неправильным идентификатором тихо не срабатывает: клиент просто получает адрес из пула, и ошибка выглядит как проблема клиента.

Где MAC-адрес ещё что-то значит

На физическом канале Ethernet или Wi-Fi аппаратный адрес идентифицирует интерфейс в этом сегменте. Функции приватности его меняют, виртуальные адаптеры создают новые, а ноутбук может показывать разные значения в Wi-Fi и в док-станции. Маршрутизируемый туннель TUN переносит IP-пакеты и не передаёт исходную беспроводную идентичность удалённому DHCP-серверу, поэтому резервации на основе MAC на этом пути не с чем сопоставляться. TAP отличается: он переносит кадры Ethernet и может присоединиться к мостовому домену, где идентификаторы уровня 2 всё ещё важны.

Даже там релевантный адрес — тот, что используется в этом домене, а не автоматически адрес физического вышестоящего канала.

У адресов туннелей и ключей партнёров есть собственное пространство

Маршрутизируемое развёртывание OpenVPN назначает адреса через собственную модель: конфигурация для каждого клиента с ключом по аутентифицированному имени или явный пул. Изменение DHCP-резервации LAN-маршрутизатора не создаёт это назначение, а добавление резервации туннеля не влияет на LAN. WireGuard идёт дальше, потому что партнёр идентифицируется своим открытым ключом и разрешёнными адресами, а не каким-либо аппаратным идентификатором. Никакая общая резервация Ethernet там не заменяет конфигурацию партнёра.

Ведите инвентаризацию, разделяющую четыре объекта: учётные данные устройства, виртуальный адаптер, идентификатор распределителя и назначенный адрес. Одна физическая машина может иметь несколько адаптеров, адресов и сеансов.

Стабильный адрес — не личность

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

Записывайте распределитель, идентификатор и назначенный адрес вместе. Когда одно меняется, другие два — это то, что вы проверяете.

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

Похожие статьи