Вопрос или проблема
Я запускаю ISC DHCP-демон на CentOS и хочу заблокировать ненужные (по MAC-адресу клиентов) сообщения обнаружения, прежде чем они достигнут dhcpd.
Как я могу сделать это с помощью iptables или чего-то еще?
Фаервол Linux netfilter имеет возможность фильтровать по MAC-адресу и затем просто блокировать сообщения протокола DHCP (UDP порт 67, 68):
/sbin/iptables -I INPUT -m mac --mac-source 00:11:22:33:44:55 -p udp --sport 67:68 --dport 67:68 -j DROP
Хотя лучшей альтернативой, вероятно, будет настройка вашего DHCP-сервера на игнорирование запросов от определенных MAC-адресов, как описано в этом Вопросе и Ответе.
Ответ или решение
Чтобы заблокировать входящие DHCP DISCOVERY сообщения от нежелательных клиентов на сервере, используя DHCP-демон ISC на CentOS, можно воспользоваться механизмом фильтрации пакетов, предоставляемым утилитой iptables. Это позволит вам управлять трафиком на уровне ядра Linux и предотвращать несанкционированные обращения к вашему DHCP-серверу.
Шаги для блокировки DHCP DISCOVERY сообщений
1. Использование iptables
Использование iptables является одним из самых эффективных способов блокировки DHCP DISCOVERY сообщений. Для этого необходимо выполнить следующие команды в терминале:
/sbin/iptables -I INPUT -m mac --mac-source 00:11:22:33:44:55 -p udp --sport 67 --dport 68 -j DROP
Здесь 00:11:22:33:44:55
— это MAC-адрес устройства, DHCP DISCOVERY сообщения от которого вы хотите заблокировать. Параметры --sport 67
и --dport 68
указывают на порты, используемые протоколом DHCP для передачи сообщений.
2. Проверка настроек iptables
После применения правила убедитесь, что оно корректно зарегистрировано. Выполните команду:
/sbin/iptables -L -n -v
Это отобразит текущие правила и статистику пакетов, что поможет вам убедиться, что сообщения от нежелательных устройств действительно блокируются.
3. Альтернативное решение: Конфигурация DHCP-сервера
Согласно рекомендациям, упомянутым в вашей исходной информации, более оптимальным подходом может быть настройка самого DHCP-сервера для игнорирования запросов от определенных MAC-адресов. Для этого вы можете внести изменения в файл конфигурации DHCP-сервера.
Откройте конфигурационный файл ISC DHCP-сервера, который обычно располагается по пути /etc/dhcp/dhcpd.conf
. Вставьте следующее:
deny members of "bad_clients";
group "bad_clients" {
host bad_client {
hardware ethernet 00:11:22:33:44:55;
}
}
Это правило настроит DHCP-сервер так, чтобы он игнорировал все запросы от клиента с указанным MAC-адресом.
4. Перезапуск DHCP-демона
После внесения изменений в конфигурационный файл, необходимо перезапустить DHCP-демон:
sudo systemctl restart dhcpd
Заключение
Теперь у вас есть два эффективных подхода для блокировки нежелательных DHCP DISCOVERY сообщений: использование iptables для фильтрации пакетов на уровне сети и настройка самого DHCP-сервера для игнорирования определенных клиентов. Выбор метода зависит от ваших предпочтений и специфики сети. Рекомендуется применять оба подхода в сочетании для повышения надежности и безопасности вашей сетевой инфраструктуры.