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