Как я могу установить правила на интерфейсе NW для отбрасывания всех сообщений DHCP / BOOTP

У меня есть среда openstack с сетевым сценарием провайдера, реализованным с использованием openvswitch. Мой openstack установлен на установке allinone node. Есть ли способ отключить / отбросить все DHCP-запросы, поступающие на один из сетевых интерфейсов моего сервера?

0
задан 27 September 2016 в 08:13
1 ответ

Запросы DHCP / BOOTP отправляются на порт 67 UDP. Настройте правило брандмауэра, чтобы отбрасывать все пакеты с портом назначения 67 и протоколом UDP, и вы его заблокировали.

Порт 67 используется только для назначения сервера, клиенты получают ответы на порт 68, поэтому вы все равно можете отправлять запросы с этого сервер, но не к этому серверу.

Лучшей практикой было бы отключить ВСЕ входящий трафик (отбрасывание политики) и просто разрешить те соединения, которые вам действительно нужны.

Правило отбрасывания для вашего конкретного случая:

iptables -A INPUT -p udp -i em2 --dport 67 -j DROP

Лучшая практика - чтобы создать скрипт брандмауэра, который вы поместите в свой / root /, например называется firewall и дайте ему права на выполнение: chmod u + x / root / firewall и в этом скрипте вы записываете все свои правила. Это пример с нашего почтового сервера:

#!/bin/bash

# IPv4 flush all tables
iptables -F INPUT
iptables -F FORWARD
iptables -F OUTPUT
iptables -F -t nat

# IPv6 flush all tables
ip6tables -F INPUT
ip6tables -F FORWARD
ip6tables -F OUTPUT

# IPv4 set default policy drop
iptables -P INPUT DROP
iptables -P OUTPUT DROP
iptables -P FORWARD DROP

# IPv6 set default policy drop
ip6tables -P INPUT DROP
ip6tables -P OUTPUT DROP
ip6tables -P FORWARD DROP

# IPv4 allow local communication
iptables -A INPUT -i lo -j ACCEPT
iptables -A OUTPUT -o lo -j ACCEPT

# IPv6 allow local communication
ip6tables -A INPUT -i lo -j ACCEPT
ip6tables -A OUTPUT -o lo -j ACCEPT

# IPv4 allow related/established
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A OUTPUT -m state --state ESTABLISHED,RELATED -j ACCEPT

# IPv6 allow related/established
ip6tables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
ip6tables -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT
ip6tables -A OUTPUT -m state --state ESTABLISHED,RELATED -j ACCEPT


# INPUT

# ICMP
iptables -A INPUT -p icmp -m state --state NEW -j ACCEPT

# SSH
iptables -A INPUT -p tcp --dport 22 -m state --state NEW -j ACCEPT

# EMAIL
iptables -A INPUT -p tcp --dport 25 -m state --state NEW -j ACCEPT
iptables -A INPUT -p tcp --dport 80 -m state --state NEW -j ACCEPT
iptables -A INPUT -p tcp --dport 110 -m state --state NEW -j ACCEPT
iptables -A INPUT -p tcp --dport 143 -m state --state NEW -j ACCEPT
iptables -A INPUT -p tcp --dport 443 -m state --state NEW -j ACCEPT
iptables -A INPUT -p tcp --dport 465 -m state --state NEW -j ACCEPT
iptables -A INPUT -p tcp --dport 587 -m state --state NEW -j ACCEPT
iptables -A INPUT -p tcp --dport 993 -m state --state NEW -j ACCEPT
iptables -A INPUT -p tcp --dport 995 -m state --state NEW -j ACCEPT

# OUTPUT allow all

iptables -A OUTPUT -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT


# save rules
iptables-save > /etc/iptables.conf
ip6tables-save > /etc/ip6tables.conf

Затем вы просто выполнили сценарий как root: / root / firewall , и все ваши правила установлены.

2
ответ дан 4 December 2019 в 13:38

Теги

Похожие вопросы