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