Linux - Netzwerk und Serveradminstration Firewall: Unterschied zwischen den Versionen
Zur Navigation springen
Zur Suche springen
Die Seite wurde neu angelegt: „= Firewall = {{#drawio:5102-firewall-01}} * Die Firewall wird ist zugleich der Router in das Übungsnetzwerk * Hardwareanpassungen: ** 4 GB RAM ** 4 CPUs ** 4…“ |
|||
| (31 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt) | |||
| Zeile 1: | Zeile 1: | ||
= Firewall = | = Firewall = | ||
{{#drawio:5102-firewall-01}} | {{#drawio:5102-firewall-01}} | ||
= Routing und Masquerading = | = Routing und Masquerading = | ||
{{#drawio:5102-masquerade}} | {{#drawio:5102-masquerade}} | ||
* Damit die Firewall als Internet-Router fungieren kann, muss die Quell-IP der Pakete umgeschrieben werden | * Damit die Firewall als Internet-Router fungieren kann, muss die Quell-IP der Pakete umgeschrieben werden | ||
* Dazu müssen Firewall-Regeln unter | * Dazu müssen Firewall-Regeln unter [nftables Masquerade|nftables]] erstellt werden, das machen wir weiter unten. | ||
==Firewall | |||
*[[Firewall- | =Wir klonen das debian-template= | ||
Folgendes stellen wir ein | |||
{| class="wikitable" | |||
! Attribut !! Wert !! Netzwerk / Typ | |||
|- | |||
| '''Name''' || fw || - | |||
|- | |||
| '''RAM''' || 4 GB || - | |||
|- | |||
| '''CPU''' || 4 Kerne || - | |||
|- | |||
| '''1. NIC''' || WAN || Bridge br0 | |||
|- | |||
| '''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 | |||
=== Netzkonfiguration Firewall === | |||
{{fw-maschine | |||
| ip = 192.168.Y.2XX | |||
| cidr = 24 | |||
| gw = 192.168.Y.254 | |||
| ns = 192.168.Y.88 | |||
| fqdn = fw.it2XX.int | |||
| dom = it2XX.int | |||
}} | |||
=Interfaces= | |||
*cat /etc/network/interfaces | |||
<pre> | |||
source /etc/network/interfaces.d/* | |||
# The loopback network interface | |||
auto lo | |||
iface lo inet loopback | |||
# The primary network interface | |||
#WAN | |||
auto enp0s3 | |||
iface enp0s3 inet static | |||
address 192.168.Y.2XX/24 | |||
gateway 192.168.Y.254 | |||
dns-nameservers 192.168.Y.88 | |||
dns-search it2XX.int | |||
post-up ip route add 10.88.0.0/16 via 192.168.Y.88 | |||
#DMZ | |||
auto enp0s8 | |||
iface enp0s8 inet static | |||
address 10.88.2XX.1/24 | |||
#LAN | |||
auto enp0s9 | |||
iface enp0s9 inet static | |||
address 172.26.2XX.1/24 | |||
#SERVER | |||
auto enp0s10 | |||
iface enp0s10 inet static | |||
address 10.2XX.1.1/24 | |||
</pre> | |||
=Reboot= | |||
*systemctl reboot | |||
=SSH Keys hinterlegen= | |||
*[[SSH Keys hinterlegen fw]] | |||
=NAT mit nftables= | |||
;Datei erstellen, alles was drin ist kann raus | |||
*cat /etc/nftables.conf | |||
<pre> | |||
#!/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 | |||
} | |||
} | |||
</pre> | |||
;Firewall aktivieren | |||
*systemctl enable nftables --now | |||
;Kontrolle | |||
*nft list ruleset | |||
=Forward= | |||
*echo "net.ipv4.ip_forward=1" > /etc/sysctl.d/99-ipforward.conf | |||
*sysctl -p /etc/sysctl.d/99-ipforward.conf | |||
=Reboot= | |||
*systemctl reboot | |||
=Allgemeine Tests= | |||
;Kontrolle der IPs | |||
*ip a s | |||
;Kontrolle der Routen | |||
*ip r s | |||
;Kontrolle Nameserver | |||
*cat /etc/resolv.conf | |||
;Kontrolle NFTables | |||
*nft list ruleset | |||
;Kontrolle IPFORWARD | |||
*cat /proc/sys/net/ipv4/ip_forward | |||
=Konnektivitäts Test Firewall= | |||
*[[Konnektivitäts Test Firewall]] | |||
Aktuelle Version vom 28. Juli 2026, 13:14 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 debian-template
Folgendes stellen wir ein
| Attribut | Wert | Netzwerk / Typ |
|---|---|---|
| Name | fw | - |
| RAM | 4 GB | - |
| CPU | 4 Kerne | - |
| 1. NIC | WAN | Bridge br0 |
| 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
Netzkonfiguration Firewall
| Parameter | Wert | Erläuterung |
|---|---|---|
| Netzwerk (NIC) | br0 | bridge |
| IP | 192.168.Y.2XX | Statische IP |
| CIDR | 24 | Classless Inter-Domain Routing Präfixlänge |
| GW | 192.168.Y.254 | GATEWAY |
| NS | 192.168.Y.88 | Resolver |
| FQDN | fw.it2XX.int | Fully Qualified Domain Name |
| SHORT | fw | Short Name |
| DOM | it2XX.int | Domain Name |
- Anpassen des Templates
oder
- Mit Skript
- debian-setup.sh -f fw.it2XX.int -a 192.168.Y.2XX/24 -g 192.168.Y.254 -n 192.168.Y.88
Interfaces
- cat /etc/network/interfaces
source /etc/network/interfaces.d/* # The loopback network interface auto lo iface lo inet loopback # The primary network interface #WAN auto enp0s3 iface enp0s3 inet static address 192.168.Y.2XX/24 gateway 192.168.Y.254 dns-nameservers 192.168.Y.88 dns-search it2XX.int post-up ip route add 10.88.0.0/16 via 192.168.Y.88 #DMZ auto enp0s8 iface enp0s8 inet static address 10.88.2XX.1/24 #LAN auto enp0s9 iface enp0s9 inet static address 172.26.2XX.1/24 #SERVER auto enp0s10 iface enp0s10 inet static address 10.2XX.1.1/24
Reboot
- systemctl reboot
SSH Keys hinterlegen
NAT mit nftables
- Datei erstellen, alles was drin ist kann raus
- cat /etc/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
- systemctl enable nftables --now
- Kontrolle
- nft list ruleset
Forward
- echo "net.ipv4.ip_forward=1" > /etc/sysctl.d/99-ipforward.conf
- sysctl -p /etc/sysctl.d/99-ipforward.conf
Reboot
- systemctl reboot
Allgemeine Tests
- Kontrolle der IPs
- ip a s
- Kontrolle der Routen
- ip r s
- Kontrolle Nameserver
- cat /etc/resolv.conf
- Kontrolle NFTables
- nft list ruleset
- Kontrolle IPFORWARD
- cat /proc/sys/net/ipv4/ip_forward

