У меня есть один сервер 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