FirewallD: Unterschied zwischen den Versionen

Aus Info-Theke
Zur Navigation springen Zur Suche springen
 
(7 dazwischenliegende Versionen von 2 Benutzern werden nicht angezeigt)
Zeile 1: Zeile 1:
= Links =
= Links =
* [[VirtManager]]
* [[VirtManager]]
* Tutorial: https://www.rootusers.com/how-to-use-firewalld-rich-rules-and-zones-for-filtering-and-nat/


= Einleitung =
= Einleitung =
firewalld ist eine Firewall-Software, die mit iptables oder nftables arbeiten kann. Sie arbeitet auch mit [[Virt-Manager]] zusammen (wenn iptables genutzt werden).
firewalld ist eine Firewall-Software, die mit iptables oder nftables arbeiten kann. Sie arbeitet auch mit [[Virt-Manager]] zusammen (wenn iptables genutzt werden).
= Konzept der Zonen =
* Zonen sind AdressbBereiche, denen Regeln, Dienste, Ports und Protokolle zugeordnet werden.
* Bei eingehenden Verbindungen: gehört das Ziel zu einer Zone, werden dessen Regeln angewendet, ansonsten die "default zone"


= Installation =
= Installation =
<pre>apt install firewalld
<pre>apt install firewalld
</pre>
</pre>
in /etc/firewalld/conf:
in /etc/firewalld/firewalld.conf:
<pre>
<pre>
FirewallBackend=iptables
FirewallBackend=iptables
</pre>
</pre>
= Konfiguration =
* Vordefinierte Zonen, Services...: /usr/lib/firewalld
* Selbst definierte Zonen, Services...: /etc/firewalld


= Kommandos =
= Kommandos =
<pre>
<pre>
firewall-cmd --list-all-zones
firewall-cmd --list-all-zones --zone=home
firewall-cmd --get-active-zone
firewall-cmd --get-active-zone
# public
# public
#  interfaces: eth0
#  interfaces: eth0


# neue Zone anlegen:
firewall-cmd --permanent --new-zone=vmnet
# Netz zuweisen
firewall-cmd --permanent --zone=vmnet --add-source=10.10.10.0/24
# Unbedingt so lassen, sonst wird SSH ausgesperrt, wenn default zone ein Masquerading enthält
firewall-cmd --set-default-zone=public
# NAT einrichten:
firewall-cmd --permanent --zone=vmnet --add-masquerade
firewall-cmd --permanent --zone=vmnet --query-masquerade
# Port forwarding
firewall-cmd --permanent --zone=vmnet --add-forward-port=port=10122:proto=tcp:toport=22:toaddr=10.0.0.101
# Abfrage, ob Port forwarding existiert. Antwort yes oder no.
firewall-cmd --permanent --zone=vmnet --query-forward-port=port=10122:proto=tcp:toport=22:toaddr=10.0.0.101
</pre>
== Voller Zugriff für ein Netzwerk ==
== Voller Zugriff für ein Netzwerk ==
geht nicht!
geht nicht!
Zeile 26: Zeile 52:
firewall-cmd --reload
firewall-cmd --reload
</pre>
</pre>
= Tipps =
== IP-Adresse sperren ==
<pre>
IP=192.0.2.100
firewall-cmd --permanent --add-rich-rule="rule family='ipv4' source address='$IP' drop"
firewall-cmd --reload
</pre>
Anschauen:
<pre>
firewall-cmd --list-rich-rules
</pre>
== Rich Rule löschen ==
Wie definieren (exakt gleich), nur "--remove-rich-rule"

Aktuelle Version vom 14. Juli 2025, 06:33 Uhr

Links

[Bearbeiten]

Einleitung

[Bearbeiten]

firewalld ist eine Firewall-Software, die mit iptables oder nftables arbeiten kann. Sie arbeitet auch mit Virt-Manager zusammen (wenn iptables genutzt werden).

Konzept der Zonen

[Bearbeiten]
  • Zonen sind AdressbBereiche, denen Regeln, Dienste, Ports und Protokolle zugeordnet werden.
  • Bei eingehenden Verbindungen: gehört das Ziel zu einer Zone, werden dessen Regeln angewendet, ansonsten die "default zone"


Installation

[Bearbeiten]
apt install firewalld

in /etc/firewalld/firewalld.conf:

FirewallBackend=iptables

Konfiguration

[Bearbeiten]
  • Vordefinierte Zonen, Services...: /usr/lib/firewalld
  • Selbst definierte Zonen, Services...: /etc/firewalld

Kommandos

[Bearbeiten]
firewall-cmd --list-all-zones
firewall-cmd --list-all-zones --zone=home
firewall-cmd --get-active-zone
# public
#   interfaces: eth0

# neue Zone anlegen:
firewall-cmd --permanent --new-zone=vmnet
# Netz zuweisen
firewall-cmd --permanent --zone=vmnet --add-source=10.10.10.0/24
# Unbedingt so lassen, sonst wird SSH ausgesperrt, wenn default zone ein Masquerading enthält
firewall-cmd --set-default-zone=public
# NAT einrichten:
firewall-cmd --permanent --zone=vmnet --add-masquerade
firewall-cmd --permanent --zone=vmnet --query-masquerade
# Port forwarding
firewall-cmd --permanent --zone=vmnet --add-forward-port=port=10122:proto=tcp:toport=22:toaddr=10.0.0.101
# Abfrage, ob Port forwarding existiert. Antwort yes oder no.
firewall-cmd --permanent --zone=vmnet --query-forward-port=port=10122:proto=tcp:toport=22:toaddr=10.0.0.101

Voller Zugriff für ein Netzwerk

[Bearbeiten]

geht nicht!

firewall-cmd --permanent --direct --passthrough ipv4 -I FORWARD -i bridge0 -j ACCEPT
firewall-cmd --permanent --direct --passthrough ipv4 -I FORWARD -o bridge0 -j ACCEPT
firewall-cmd --reload

Tipps

[Bearbeiten]

IP-Adresse sperren

[Bearbeiten]
IP=192.0.2.100
firewall-cmd --permanent --add-rich-rule="rule family='ipv4' source address='$IP' drop"
firewall-cmd --reload

Anschauen:

firewall-cmd --list-rich-rules

Rich Rule löschen

[Bearbeiten]

Wie definieren (exakt gleich), nur "--remove-rich-rule"