no shorewall, como posso bloquear solicitações de hosts externos ao usar zonas aninhadas?

no shorewall, como posso bloquear solicitações de hosts externos ao usar zonas aninhadas?

Eu tenho um servidor Debian com uma interface de rede, configurei uma ponte para KVM e shorewall comduas zonas na mesma interface então eu tenho a zona "net" e o "kvm" para convidados kvm, aqui estão os arquivos relevantes em/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

anfitriões

#ZONE           HOSTS                           OPTIONS
kvm             br0:192.168.1.0/24              -

a zona kvm é uma subzona da zona net, agora quero fornecer acesso de rede aos convidados kvm:

snat

#ACTION            SOURCE            DEST 
MASQUERADE        192.168.1.0/24     br0

e finalmente este é o arquivo 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

Também configurei um servidor dhcp para fornecer IP aos convidados e permiti ip_forward em shorewall.conf

tudo está funcionando, mas estou vendo muitos servidores vizinhos fazendo solicitações ao servidor dhcp e obtendo IP dele.

Se entendi corretamente, todos os vizinhos que usam meu intervalo de IP kvm fazem parte da minha zona kvm e estão obtendo acesso à Internet através do meu firewall

Pensei em filtrar os membros da zona kvm por endereço mac, mas não acho que seja uma boa solução, já que os endereços mac podem ser configurados facilmente, como posso resolver isso?

Responder1

Se estou entendendo sua situação corretamente, você deseja separar seus convidados dos não-hóspedes e controlar o acesso à Internet e aos serviços de maneira diferente usando o shorewall. Acho que a maneira mais fácil de fazer isso seria separar esses dois grupos em zonas diferentes. Os convidados seriam conectados a uma ponte privada e os não convidados seriam conectados à LAN. Criei alguns arquivos de configuração de exemplo abaixo para ilustrar meu argumento. Não sei até que ponto você deseja que não-convidados acessem a Internet ou os serviços da rede kvm, então, para simplificar, bloqueei o acesso à Internet e permiti o acesso a todos os serviços.

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

anfitriões

#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

informação relacionada