как в shorewall заблокировать запросы от внешних хостов при использовании вложенных зон?

как в shorewall заблокировать запросы от внешних хостов при использовании вложенных зон?

У меня есть один сервер Debian с одним сетевым интерфейсом, я настроил мост для KVM и shorewall с помощьюдве зоны в одном интерфейсе Итак, у меня есть зона «net» и «kvm» для гостей kvm, вот соответствующие файлы в /etc/shorewall:

интерфейсы

#ZONE   INTERFACE       OPTIONS
net     br0             tcpflags,logmartians,nosmurfs,sourceroute=0,dhcp

зоны

#ZONE   TYPE    OPTIONS                 IN                      OUT
#                                       OPTIONS                 OPTIONS
fw      firewall
net     ipv4
kvm:net ipv4

хозяева

#ZONE           HOSTS                           OPTIONS
kvm             br0:192.168.1.0/24              -

Зона kvm является подзоной для сетевой зоны, теперь я хочу предоставить сетевой доступ гостям kvm:

хватать

#ACTION            SOURCE            DEST 
MASQUERADE        192.168.1.0/24     br0

и наконец, это файл политики:

#SOURCE         DEST            POLICY          LOG LEVEL       LIMIT:BURST
$FW             all             ACCEPT
kvm             net             ACCEPT
kvm             $FW             DROP            info
net             all             DROP            #info
# The FOLLOWING POLICY MUST BE LAST
all             all             REJECT          #info

Я также настроил сервер DHCP для предоставления IP-адресов гостям и разрешил ip_forward в shorewall.conf.

все работает, но я вижу, что множество соседних серверов отправляют запросы на DHCP-сервер и получают от него IP-адрес.

Если я правильно понимаю, каждый сосед, использующий мой диапазон IP-адресов KVM, входит в мою зону KVM и получает доступ в Интернет через мой брандмауэр.

Я думал отфильтровать участников зоны KVM по MAC-адресу, но не думаю, что это хорошее решение, поскольку MAC-адреса можно легко задать. Как мне решить эту проблему?

решение1

Если я правильно понимаю вашу ситуацию, вы хотите отделить гостей от не-гостей и по-разному контролировать их доступ к интернету и сервисам с помощью shorewall. Я думаю, что проще всего это сделать, разделив эти две группы на разные зоны. Гости будут подключены к частному мосту, а не-гости будут подключены к локальной сети. Я создал несколько примеров файлов конфигурации ниже, чтобы проиллюстрировать свою точку зрения. Я не знаю, в какой степени вы хотите, чтобы не-гости имели доступ к интернету или сервисам в сети kvm, поэтому для простоты я заблокировал доступ к интернету и разрешил доступ ко всем сервисам.

интерфейсы

#ZONE   INTERFACE       OPTIONS
kvm     br0
net     eth0             tcpflags,logmartians,nosmurfs,sourceroute=0,dhcp

зоны

#ZONE   TYPE    OPTIONS                 IN                      OUT
#                                       OPTIONS                 OPTIONS
fw      firewall
net     ipv4
kvm     ipv4
lan:net ipv4

хозяева

#ZONE           HOSTS                           OPTIONS
lan             eth0:192.168.1.0/24  

политика

#SOURCE         DEST            POLICY          LOG LEVEL       LIMIT:BURST
$FW             all             ACCEPT
kvm             net             ACCEPT
kvm             lan             ACCEPT
kvm             $FW             DROP            info
lan             net             DROP
lan             kvm             ACCEPT
lan             $FW             DROP
net             all             DROP            #info
# The FOLLOWING POLICY MUST BE LAST
all             all             REJECT          #info

Связанный контент