IPTables правила для DHCP

Допустим на сервере по умолчанию INPUT DROP, теперь приведу пример простого правила разрешающего DHCP запросы к серверу, этого будет достаточно чтобы клиенты получили IP от сервера (где em1 — сетевой интерфейс на котором запущен DHCP сервер):

iptables -I INPUT -p udp -i em1 --dport 67 -j ACCEPT

Чтобы удалить правило укажем ту же команду, заменив -A на -D, например:

iptables -D INPUT -p udp -i em1 --dport 67 -j ACCEPT

Ограничивая доступ по IP адресу стоит учесть, что клиенты не имеющие IP адреса, обычно шлют широковещательный запрос от IP адреса 0.0.0.0 на 255.255.255.255, а продлевают уже по unicast со своего полученного IP.

Приведу пример ограничения по IP адресу (где 192.168.5.1 — IP на котором запущен DHCP сервер, а 172.17.0.0/16 — сеть клиентов с которой разрешено продлевать аренду IP):

iptables -t filter -A INPUT -i em1 -p udp -s 0.0.0.0 --sport 68 -d 255.255.255.255 --dport 67 -j ACCEPT
iptables -t filter -A INPUT -i em1 -p udp -s 0.0.0.0 --sport 68 -d 192.168.5.1 --dport 67 -j ACCEPT
iptables -t filter -A INPUT -i em1 -p udp -s 172.17.0.0/16 --sport 68 -d 192.168.5.1 --dport 67 -j ACCEPT

Когда DHCP сервер работает но очень большом количестве сетевых интерфейсов, например Accel-ppp, то можно не указывать их, например:

iptables -A INPUT -s 10.0.0.0/8 -p udp -m udp --dport 67 -j ACCEPT
iptables -A INPUT -s 172.16.0.0/12 -p udp -m udp --dport 67 -j ACCEPT
iptables -A INPUT -s 0.0.0.0/32 -p udp -m udp --dport 67 -j ACCEPT

Если политика по умолчанию INPUT ACCEPT, то последним правилом запретим доступ (в этом случае разрешающие правила должны быть обязательно перед ним, а не после):

iptables -A INPUT -p udp -m udp --dport 67 -j DROP

Смотрите также мои статьи:
Настройка IPTables
IPTables правила для TFTP
Что такое DHCP и как он работает?

Оставьте комментарий

Добавить комментарий