
Ich versuche, die Einrichtung firewalld
zum ersten Mal durchzuführen. Ich möchte zwei Arten von Regeln hinzufügen:
- Regeln, die nur Verkehr auf bestimmten Ports mit bestimmten Quellen zulassen.
- Regeln, die JEDEN Datenverkehr aus bestimmten Quellen zulassen.
Nehmen wir also an, ich erstelle eine neue Zone namens „myZone“. Ich möchte JEDEN Datenverkehr von zulassen 10.95.0.0/16
, aber nur LDAP-bezogenen Datenverkehr von 10.96.59.23
.
Also füge ich die Quellen zu „myZone“ hinzu:
firewall-cmd --permanent --zone=myZone --add-source=10.95.0.0/16
firewall-cmd --permanent --zone=myZone --add-source=10.96.59.23
Jetzt ist es Zeit, den LDAP-Port hinzuzufügen, auf dem ich Datenverkehr zulassen möchte:
firewall-cmd --zone=myZone --add-port=389/tcp
Aber was genau bewirkt das? Ich nehme an, dass das auf alle Quellen in „myZone“ angewendet wird? Ich möchte den 10.96.59.23
Datenverkehr nur auf LDAP beschränken, aber JEGLICHEN Datenverkehr zulassen 10.95.0.0/16
. Ich habe das Gefühl, dass ich hier etwas Grundlegendes übersehe.
Theoretisch dachte ich, ich könnte zwei Zonen erstellen, sagen wir „workstationZone“ und „ldapZone“. Dann könnte ich „ldapZone“ Port 389 zuweisen. Allerdings gelingt es mir nicht, einer einzigen Schnittstelle mehrere Zonen zuzuweisen.
# firewall-cmd --zone workstationZone --add-interface ens32 --permanent
success
# firewall-cmd --zone ldapZone --add-interface ens32 --permanent
success
#firewall-cmd --get-active-zones
workstationZone
interfaces: ens32
sources: 10.95.0.0/16
ldapZone
sources: 10.96.59.23
Ich hatte oben gehofft, dass meine „ens32“-Schnittstelle zu beiden Zonen hinzugefügt würde.
Eine weitere Möglichkeit, die ich sehe, ist die Verwendung von „Rich Rules“. Es scheint jedoch viele Empfehlungen zu geben, von deren Verwendung abzuraten, da sie schwer zu pflegen seien.
Wieder einmal habe ich das Gefühl, dass mir etwas ganz Grundlegendes fehlt, aber selbst nachdem ich ein paar Anleitungen gelesen habe, verstehe ich es einfach nicht. Wenn mir jemand helfen könnte, das zu verstehen, wäre ich sehr dankbar.
Antwort1
Wenn der zulässige Datenverkehr zwischen Quellen/Schnittstellen unterschiedlich ist, sollten Sie neue Zonen erstellen. Eine Zone definiert eine Menge zulässigen Datenverkehrs und wendet ihn dann auf die angegebenen Schnittstellen und/oder Quellnetzwerke an.
Sie können beispielsweise eine Zone haben, die den gesamten Datenverkehr zulässt (dies ist standardmäßig bereits der Fall; sie heißt trusted
), eine andere Zone, die LDAP-Datenverkehr zulässt, und eine weitere Zone, die andere Dienste zulässt.
Beachten Sie, dass eine Schnittstelle oder Quelle nur in einer Zone sein kann. Sie sollten sie also jeweils einer Zone zuweisen. Der von dieser Zone zugelassene Datenverkehr gilt dann für diese Schnittstelle oder Quelle. Dies kann bedeuten, dass Sie eine weitere Zone erstellen müssen, aber das ist völlig in Ordnung.
Erinnere dichsollte nichtVerwenden Sie es --permanent
, bis Sie zufrieden sind, dass die Regeln funktionieren. Andernfalls könnten Sie sich durch einen Tippfehler selbst aussperren und müssen zur Wiederherstellung in eine Rettungsumgebung booten. Fügen Sie stattdessen Ihre Regeln hinzu und speichern Sie firewall-cmd --runtime-to-permanent
sie, wenn Sie zufrieden sind, dass sie alle funktionieren. (Und wenn Sie sich durch einen Tippfehler selbst aussperren, werden alle Ihre nicht gespeicherten Änderungen durch einen Neustart von Firewalld oder des Computers rückgängig gemacht.)
Außerdem sparen Sie sich Tipparbeit. Das Wort Zone
im Zonennamen ist überflüssig.