Ich habe einen Debian-Server mit einer Netzwerkschnittstelle, ich habe eine Brücke für KVM und Shorewall konfiguriert mitzwei Zonen in derselben Schnittstelle also ich habe die „net“-Zone und die „kvm“-Zone für KVM-Gäste, hier sind die relevanten Dateien in /etc/shorewall:
Schnittstellen
#ZONE INTERFACE OPTIONS
net br0 tcpflags,logmartians,nosmurfs,sourceroute=0,dhcp
Zonen
#ZONE TYPE OPTIONS IN OUT
# OPTIONS OPTIONS
fw firewall
net ipv4
kvm:net ipv4
Gastgeber
#ZONE HOSTS OPTIONS
kvm br0:192.168.1.0/24 -
die KVM-Zone ist eine Unterzone der Netzzone. Jetzt möchte ich KVM-Gästen Netzwerkzugriff gewähren:
schnappen
#ACTION SOURCE DEST
MASQUERADE 192.168.1.0/24 br0
und schließlich ist dies die Richtliniendatei:
#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
Ich habe auch einen DHCP-Server konfiguriert, um den Gästen IP-Adressen bereitzustellen, und ip_forward in shorewall.conf zugelassen.
alles funktioniert, aber ich sehe, dass viele Nachbarserver Anfragen an den DHCP-Server stellen und von ihm IP-Adressen erhalten.
Wenn ich das richtig verstehe, ist jeder Nachbar, der meinen KVM-IP-Bereich verwendet, Teil meiner KVM-Zone und erhält Internetzugriff über meine Firewall
Ich dachte daran, die Mitglieder der KVM-Zone nach der MAC-Adresse zu filtern, aber ich glaube nicht, dass das eine gute Lösung ist, da sich MAC-Adressen so einfach festlegen lassen. Wie kann ich das Problem lösen?
Antwort1
Wenn ich Ihre Situation richtig verstehe, möchten Sie Ihre Gäste von Ihren Nicht-Gästen trennen und ihren Internet- und Servicezugriff mithilfe von Shorewall unterschiedlich steuern. Der einfachste Weg, dies zu tun, wäre meiner Meinung nach, diese beiden Gruppen in verschiedene Zonen aufzuteilen. Die Gäste würden mit einer privaten Bridge verbunden und die Nicht-Gäste mit dem LAN. Ich habe unten einige Beispielkonfigurationsdateien erstellt, um meinen Standpunkt zu verdeutlichen. Ich weiß nicht, in welchem Umfang Sie möchten, dass Nicht-Gäste auf das Internet oder die Dienste im KVM-Netzwerk zugreifen, daher habe ich der Einfachheit halber den Internetzugriff blockiert und den Zugriff auf alle Dienste zugelassen.
Schnittstellen
#ZONE INTERFACE OPTIONS
kvm br0
net eth0 tcpflags,logmartians,nosmurfs,sourceroute=0,dhcp
Zonen
#ZONE TYPE OPTIONS IN OUT
# OPTIONS OPTIONS
fw firewall
net ipv4
kvm ipv4
lan:net ipv4
Gastgeber
#ZONE HOSTS OPTIONS
lan eth0:192.168.1.0/24
Politik
#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