Wie kann ich in Shorewall Anfragen von externen Hosts blockieren, wenn ich verschachtelte Zonen verwende?

Wie kann ich in Shorewall Anfragen von externen Hosts blockieren, wenn ich verschachtelte Zonen verwende?

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

verwandte Informationen