У меня есть сеть с центральным маршрутизатором, на котором работает dd-wrt. К нему подключено несколько устройств конечных пользователей. Однако один порт зарезервирован для специального устройства, на котором работает DHCP-сервер. Я называю это особенным, потому что я не могу отключить на нем DHCP. На самом деле, я действительно хочу, чтобы мой маршрутизатор dd-wrt предоставлял DHCP.
Как мне настроить правило (я полагаю, оно должно быть основано на iptables?), Чтобы заблокировать любой трафик DHCP к этому устройству и от него?
Обратите внимание, что я хочу, чтобы устройство по-прежнему находилось в той же подсети и было доступно для всех других устройств для разных служб.
Тот факт, что DHCP использует порт 67 UDP для сервера и порт 68 UDP для клиентов, вы можете создать такие правила таблицы IP:
iptables -A FORWARD -p udp -d that-one-device-ip-address --dport 67 -j DROP
iptables -A FORWARD -p udp -s that-one-device-ip-address --sport 68 -j DROP
Для блокировки по MAC-адресу замените -s $ip_address
с участием -m mac --mac-source $mac_address
. Нет параллели --mac-destination
команда (в некоторых случаях ее можно обойти; см. https://superuser.com/q/977997/247806).
Но iptables не блокирует трафик DHCP (см. https://unix.stackexchange.com/q/447440/103025).