En Shorewall, ¿cómo puedo bloquear solicitudes de hosts externos cuando uso zonas anidadas?

En Shorewall, ¿cómo puedo bloquear solicitudes de hosts externos cuando uso zonas anidadas?

Tengo un servidor Debian con una interfaz de red, configuré un puente para KVM y un Shorewall condos zonas en la misma interfaz así que tengo la zona "net" y "kvm" para invitados kvm, aquí están los archivos relevantes en /etc/shorewall:

interfaces

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

zonas

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

Hospedadores

#ZONE           HOSTS                           OPTIONS
kvm             br0:192.168.1.0/24              -

la zona kvm es una subzona para la zona de red, ahora quiero proporcionar acceso a la red a los invitados kvm:

arrebatar

#ACTION            SOURCE            DEST 
MASQUERADE        192.168.1.0/24     br0

y finalmente este es el archivo de política:

#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

También configuré un servidor dhcp para proporcionar IP a los invitados y permití ip_forward en Shorewall.conf.

todo está funcionando, pero veo muchos servidores vecinos realizando solicitudes al servidor dhcp y obteniendo IP de él.

Si entiendo esto correctamente, cada vecino que usa mi rango de IP de kvm es parte de mi zona de kvm y obtiene acceso a Internet a través de mi firewall.

Pensé en filtrar los miembros de la zona kvm por dirección mac pero no creo que sea una buena solución ya que las direcciones mac se pueden configurar fácilmente, ¿cómo puedo resolver esto?

Respuesta1

Si entiendo su situación correctamente, desea separar a sus invitados de los que no son invitados y controlar su acceso a Internet y al servicio de manera diferente utilizando Shorewall. Creo que la forma más sencilla de hacerlo sería separar estos dos grupos en zonas diferentes. Los invitados estarían conectados a un puente privado y los no invitados estarían conectados a la LAN. Creé algunos archivos de configuración de ejemplo a continuación para ilustrar mi punto. No sé hasta qué punto desea que personas que no sean invitados accedan a Internet o a los servicios de la red kvm, por lo que, en aras de la simplicidad, bloqueé el acceso a Internet y permití el acceso a todos los servicios.

interfaces

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

zonas

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

Hospedadores

#ZONE           HOSTS                           OPTIONS
lan             eth0:192.168.1.0/24  

política

#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

información relacionada