Linux - Netzwerk und Serveradminstration Firewall Rocky: Unterschied zwischen den Versionen
Zur Navigation springen
Zur Suche springen
| (7 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt) | |||
| Zeile 36: | Zeile 36: | ||
*cat /etc/NetworkManager/system-connections/ | *cat /etc/NetworkManager/system-connections/ | ||
| − | + | ==Alle Interfaces mit nmcli konfigurieren== | |
| + | ;Wir arbeiten mit den Interface Namen | ||
| + | nmcli con mod "Wired connection 2" connection.id enp0s8 | ||
| + | nmcli con mod "Wired connection 3" connection.id enp0s9 | ||
| + | nmcli con mod "Wired connection 1" connection.id enp0s10 | ||
;WAN | ;WAN | ||
| Zeile 60: | Zeile 64: | ||
nmcli con up enp0s9 | nmcli con up enp0s9 | ||
| − | ; | + | ;SERVER |
nmcli con mod enp0s10 ipv4.addresses 10.2XX.1.1/24 | nmcli con mod enp0s10 ipv4.addresses 10.2XX.1.1/24 | ||
nmcli con mod enp0s10 ipv4.method manual | nmcli con mod enp0s10 ipv4.method manual | ||
nmcli con mod enp0s10 connection.autoconnect yes | nmcli con mod enp0s10 connection.autoconnect yes | ||
nmcli con up enp0s10 | nmcli con up enp0s10 | ||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
=Resolver= | =Resolver= | ||
| Zeile 87: | Zeile 80: | ||
=NAT mit nftables= | =NAT mit nftables= | ||
;Datei erstellen, alles was drin ist kann raus | ;Datei erstellen, alles was drin ist kann raus | ||
| − | *cat /etc/nftables.conf | + | *cat /etc/sysconfig/nftables.conf |
<pre> | <pre> | ||
#!/usr/sbin/nft -f | #!/usr/sbin/nft -f | ||
| Zeile 113: | Zeile 106: | ||
ip saddr $LAN oif enp0s3 masquerade | ip saddr $LAN oif enp0s3 masquerade | ||
| − | # | + | # SERVER nach außen - Masquerade |
ip saddr $SERVER oif enp0s3 masquerade | ip saddr $SERVER oif enp0s3 masquerade | ||
} | } | ||
| Zeile 123: | Zeile 116: | ||
=Forward= | =Forward= | ||
*echo "net.ipv4.ip_forward=1" > /etc/sysctl.d/99-ipforward.conf | *echo "net.ipv4.ip_forward=1" > /etc/sysctl.d/99-ipforward.conf | ||
| + | *echo "net.ipv4.conf.enp0s8.rp_filter=2" >> /etc/sysctl.d/99-ipforward.conf | ||
| + | *echo "net.ipv4.conf.enp0s9.rp_filter=2" >> /etc/sysctl.d/99-ipforward.conf | ||
*sysctl -p /etc/sysctl.d/99-ipforward.conf | *sysctl -p /etc/sysctl.d/99-ipforward.conf | ||
| + | ;Hinweis | ||
| + | rp_filter (Reverse Path Filter) kontrolliert wie der Kernel eingehende Pakete auf Plausibilität prüft. Bei 1 (strict) verwirft er Pakete, deren Rückweg nicht über dasselbe Interface führt — bei asymmetrischem Routing wie hier (Traffic kommt über enp0s9 rein, Antwort geht über enp0s8 raus) werden die Pakete dann fälschlicherweise gedroppt. Rocky Linux setzt standardmäßig strict mode (1), Debian loose mode (2) — daher muss auf der Firewall explizit 2 gesetzt werden. | ||
=Reboot= | =Reboot= | ||
*systemctl reboot | *systemctl reboot | ||
Aktuelle Version vom 29. April 2026, 10:06 Uhr
Firewall
Routing und Masquerading
- Damit die Firewall als Internet-Router fungieren kann, muss die Quell-IP der Pakete umgeschrieben werden
- Dazu müssen Firewall-Regeln unter [nftables Masquerade|nftables]] erstellt werden, das machen wir weiter unten.
Wir klonen das Rocky-Template
Folgendes stellen wir ein
| Attribut | Wert | Netzwerk / Typ |
|---|---|---|
| Name | fw | - |
| RAM | 4 GB | - |
| CPU | 4 Kerne | - |
| 1. NIC | WAN | NAT / Bridge (Extern) |
| 2. NIC | DMZ | Internes Netzwerk (Client-Netz) |
| 3. NIC | LAN | Internes Netzwerk (Demilitarized Zone) |
| 4. NIC | SERVER | Internes Netzwerk (Server-Netz) |
Erklärung
- XX = Platznummer
- Y = Klassensaal
Hostname
- hostnamectl hostname fw.it2XX.int
firewalld deaktivieren
- firewalld und nftables gleichzeitig führen zu Konflikten – firewalld wird dauerhaft deaktiviert
- sudo systemctl disable --now firewalld
Interfaces
- cat /etc/NetworkManager/system-connections/
Alle Interfaces mit nmcli konfigurieren
- Wir arbeiten mit den Interface Namen
nmcli con mod "Wired connection 2" connection.id enp0s8 nmcli con mod "Wired connection 3" connection.id enp0s9 nmcli con mod "Wired connection 1" connection.id enp0s10
- WAN
nmcli con mod enp0s3 ipv4.addresses 192.168.Y.2XX/24 nmcli con mod enp0s3 ipv4.gateway 192.168.Y.254 nmcli con mod enp0s3 ipv4.method manual nmcli con mod enp0s3 connection.autoconnect yes nmcli con up enp0s3
- Statische Route für 10.88.0.0/16
nmcli con mod enp0s3 +ipv4.routes "10.88.0.0/16 192.168.Y.88" nmcli con up enp0s3
- DMZ
nmcli con mod enp0s8 ipv4.addresses 10.88.2XX.1/24 nmcli con mod enp0s8 ipv4.method manual nmcli con mod enp0s8 connection.autoconnect yes nmcli con up enp0s8
- LAN
nmcli con mod enp0s9 ipv4.addresses 172.26.2XX.1/24 nmcli con mod enp0s9 ipv4.method manual nmcli con mod enp0s9 connection.autoconnect yes nmcli con up enp0s9
- SERVER
nmcli con mod enp0s10 ipv4.addresses 10.2XX.1.1/24 nmcli con mod enp0s10 ipv4.method manual nmcli con mod enp0s10 connection.autoconnect yes nmcli con up enp0s10
Resolver
- DNS wird über nmcli gesetzt
nmcli con mod enp0s3 ipv4.dns 192.168.Y.88 nmcli con mod enp0s3 ipv4.dns-search it2XX.int nmcli con up enp0s3
- Hinweis
- /etc/resolv.conf wird unter Rocky von NetworkManager automatisch verwaltet – nicht manuell bearbeiten!
NAT mit nftables
- Datei erstellen, alles was drin ist kann raus
- cat /etc/sysconfig/nftables.conf
#!/usr/sbin/nft -f
# Variablen
define LAN = 172.26.2XX.0/24
define SERVER = 10.2XX.1.0/24
define DMZ = 10.88.2XX.0/24
# Alte Regeln löschen (flush)
flush ruleset
# NAT-Tabelle erstellen/verwenden
table ip nat {
chain postrouting {
type nat hook postrouting priority 100; policy accept;
# DMZ nach 192.168.Y.0/24 - kein NAT (RETURN)
ip saddr $DMZ ip daddr 192.168.Y.0/24 return
# DMZ nach 10.88.0.0/16 - kein NAT (RETURN)
ip saddr $DMZ ip daddr 10.88.0.0/16 return
# DMZ nach außen (enp0s3) - Masquerade
ip saddr $DMZ oif enp0s3 masquerade
# LAN nach außen - Masquerade
ip saddr $LAN oif enp0s3 masquerade
# SERVER nach außen - Masquerade
ip saddr $SERVER oif enp0s3 masquerade
}
}
- Firewall aktivieren
- sudo systemctl enable --now nftables
Forward
- echo "net.ipv4.ip_forward=1" > /etc/sysctl.d/99-ipforward.conf
- echo "net.ipv4.conf.enp0s8.rp_filter=2" >> /etc/sysctl.d/99-ipforward.conf
- echo "net.ipv4.conf.enp0s9.rp_filter=2" >> /etc/sysctl.d/99-ipforward.conf
- sysctl -p /etc/sysctl.d/99-ipforward.conf
- Hinweis
rp_filter (Reverse Path Filter) kontrolliert wie der Kernel eingehende Pakete auf Plausibilität prüft. Bei 1 (strict) verwirft er Pakete, deren Rückweg nicht über dasselbe Interface führt — bei asymmetrischem Routing wie hier (Traffic kommt über enp0s9 rein, Antwort geht über enp0s8 raus) werden die Pakete dann fälschlicherweise gedroppt. Rocky Linux setzt standardmäßig strict mode (1), Debian loose mode (2) — daher muss auf der Firewall explizit 2 gesetzt werden.
Reboot
- systemctl reboot

