У меня есть компьютер, подключенный к большой локальной сети IPv4 (без IPv6 вообще) через единственный интерфейс Ethernet; обычно ему назначается IP-адрес из диапазона 172.16.0.0
.
Однако время от времени кто-то по ошибке подключает DHCP-сервер, и я получаю адрес из 192.168.0.0
диапазон (и фиктивный набор маршрутов). Есть ли способ указать dhcpcd
(или другому DHCP-клиенту для Linux) принимать предложения только из определенного диапазона IP-адресов? Или, может быть, способ отфильтровать DHCPOFFER на уровне iptables, отбросив поддельные предложения?
DHCPCD справочная страница перечисляет параметры черный список
и белый список
, но они, похоже, применимы к IP-адрес сервера , который находится в правильном / ожидаемом диапазоне.
Я контролирую только этот ящик (и несколько других в аналогичной роли); управление сетью вне моего контроля.
Вместо того, чтобы пытаться настроить DHCP-клиенты на использование только определенных DHCP-серверов (суть DHCP в том, чтобы быть динамическими, жесткое кодирование используемых серверов отменяет это), я бы предложил настроить сеть чтобы разрешить только настроенным серверам запускать DHCP, это затем предотвращает работу «мошеннических» DHCP-серверов.
Iff IP-адрес DHCP-сервера стабильный, и вы рассчитываете использовать только клиента в одной сети вы можете использовать опцию белого списка
в /etc/dhcpcd.conf
whitelist 172.16.3.14
Более слабая возможность, если вы знаете, что несанкционированные серверы происходят из четко определенного диапазона IP-адресов, это параметр черный список
:
blacklist 192.168.0.0/16
Если используется белый список, черный список игнорируется.
Обратите внимание, что назначение адресов DHCP по умолчанию является очень надежным протоколом: ни один из них пуленепробиваемые и не сильно защитят вас: это простые дверные упоры от непреднамеренной неправильной конфигурации.