У меня есть большое количество компьютеров, MAC-адреса которых у меня заранее не известны.
За один раз я подключу несколько из них к коммутатору, и каждый из них получит IP-адрес от DHCP-сервера.
Мне нравится принудительно назначать определенный IP-адрес каждому порту коммутатора, поскольку я буду загружать какую-нибудь систему восстановления и входить в нее через ssh.
Таким образом, какой бы компьютер я ни подключил, например, к порту 1 коммутатора, он должен получить один и тот же фиксированный IP-адрес, а каждый компьютер на порту 2 должен получить другой IP-адрес.
Я хотел бы, чтобы все компьютеры находились в одной подсети и обслуживались только DHCP-сервером.
Я думаю, это должно быть возможно с использованием VLAN на коммутаторе. Но как мне пометить пакет на сервере Linux?
Может ли DHCP уже маркировать пакеты?
Что мне использовать: ebtables или iptables?
Или мне нужно настроить мост с разными интерфейсами для каждой VLAN, и как тогда DHCP с этим справится?
решение1
Маркировка VLAN обычно происходит на более низком сетевом уровне OSI, чем протоколы DHCP/IP; я не думаю, что какое-либо из ваших текущих решений будет работать, поскольку подключаемые вами компьютеры должны будут установить VLAN, соответствующую порту, к которому они подключены, а этой конфигурации достаточно, чтобы они могли использовать вручную настроенные IP-адреса.
Похоже, вам нужна какая-то конфигурация на стороне маршрутизатора, которая решает, какой IP-адрес выдать в зависимости от того, какой порт используется; это не покроет ни один стандартный DHCP-сервер, вам нужно будет найти какой-то особый способ взаимодействия с прошивкой маршрутизатора, чтобы определить, к какому порту он подключен.