У меня есть один сервер 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-адреса можно легко установить, как я могу решить эту проблему?
Если я правильно понимаю вашу ситуацию, вы хотите отделить своих гостей от тех, которые не являются гостями, и по-разному контролировать их доступ к Интернету и услугам с помощью 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