Linux - Netzwerk und Serveradminstration Firewall Debian: Unterschied zwischen den Versionen
Zur Navigation springen
Zur Suche springen
| (19 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt) | |||
| Zeile 36: | Zeile 36: | ||
| '''1. NIC''' || WAN || Bridge br0 | | '''1. NIC''' || WAN || Bridge br0 | ||
|- | |- | ||
| '''2. NIC''' || DMZ || Internes Netzwerk ( | | '''2. NIC''' || DMZ || Internes Netzwerk (Demilitarized Zone) | ||
|- | |- | ||
| '''3. NIC''' || LAN || Internes Netzwerk ( | | '''3. NIC''' || LAN || Internes Netzwerk (Client-Netz) | ||
|- | |- | ||
| '''4. NIC''' || SERVER || Internes Netzwerk (Server-Netz) | | '''4. NIC''' || SERVER || Internes Netzwerk (Server-Netz) | ||
| Zeile 44: | Zeile 44: | ||
=Auf unserem Host eine kleine Anpassung= | =Auf unserem Host eine kleine Anpassung= | ||
;Schlüssel anlegen | |||
*[[ssh Schlüsselpaar erzeugen]] | |||
;Als kit user | ;Als kit user | ||
*nano ~/.ssh/config | *nano ~/.ssh/config | ||
| Zeile 49: | Zeile 51: | ||
HostName <FIREWALLIP> | HostName <FIREWALLIP> | ||
User kit | User kit | ||
;Danach könnt ihr euch so einloggen | ;Erst Schlüssel übertragen | ||
*ssh-copy-id fw | |||
;Danach könnt ihr euch so einloggen (Passphrase eingeben - jeden Tag einmal) | |||
*ssh fw | *ssh fw | ||
=Interfaces= | =Interfaces= | ||
{{network-interfaces-fw | |||
{{ | | ip = 192.168.Y.2XX | ||
| cidr = 24 | |||
| gw = 192.168.Y.254 | |||
| ns = 192.168.Y.88 | |||
| dom = it2XX.int | |||
}} | |||
=Reboot= | =Reboot= | ||
| Zeile 60: | Zeile 68: | ||
oder | oder | ||
*systemctl reboot | *systemctl reboot | ||
=NAT mit nftables= | =NAT mit nftables= | ||
;Datei erstellen, alles was drin ist kann raus | ;Datei erstellen, alles was drin ist kann raus | ||
{{nftabels-var1 | |||
| kit = 192.168.X.0/24 | |||
}} | |||
# Alte Regeln löschen (flush) | |||
flush ruleset | |||
{{vorlage:nat2}} | |||
# Alte Regeln löschen (flush) | |||
flush ruleset | |||
{{vorlage: | |||
;Firewall aktivieren | ;Firewall aktivieren | ||
| Zeile 94: | Zeile 89: | ||
=Forward= | =Forward= | ||
;Für Restart markieren | |||
*echo "net.ipv4.ip_forward=1" > /etc/sysctl.d/99-ipforward.conf | *echo "net.ipv4.ip_forward=1" > /etc/sysctl.d/99-ipforward.conf | ||
;Aktiveren | |||
*sysctl -p /etc/sysctl.d/99-ipforward.conf | *sysctl -p /etc/sysctl.d/99-ipforward.conf | ||
;Kontrolle | |||
*sysctl net.ipv4.ip_forward | |||
=Reboot= | =Reboot= | ||
| Zeile 112: | Zeile 111: | ||
oder | oder | ||
*sysctl net.ipv4.ip_forward | *sysctl net.ipv4.ip_forward | ||
=Konnektivitäts Test Firewall= | |||
*[[Konnektivitäts Test Firewall]] | |||
Aktuelle Version vom 22. September 2026, 13:58 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.
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
Erklärung
- XX = Platznummer
- Y = Klassensaal
Halt
- systemctl halt
Danach passen wir die fw an
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 (Demilitarized Zone) |
| 3. NIC | LAN | Internes Netzwerk (Client-Netz) |
| 4. NIC | SERVER | Internes Netzwerk (Server-Netz) |
Auf unserem Host eine kleine Anpassung
- Schlüssel anlegen
- Als kit user
- nano ~/.ssh/config
Host fw HostName <FIREWALLIP> User kit
- Erst Schlüssel übertragen
- ssh-copy-id fw
- Danach könnt ihr euch so einloggen (Passphrase eingeben - jeden Tag einmal)
- ssh fw
Interfaces
- vi /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
- ifup -va
oder
- systemctl reboot
NAT mit nftables
- Datei erstellen, alles was drin ist kann raus
- cat /etc/nftables.conf
#!/usr/sbin/nft -f # Variablen define WANIP = <WANIP der Firewall> define LAN = 172.26.2XX.0/24 define MGMT = 172.27.2XX.0/24 define SERVER = 10.2XX.1.0/24 define DMZ = 10.88.2XX.0/24 define KIT = 192.168.X.0/24 define WANDEV = enp0s3 # Alte Regeln löschen (flush) flush ruleset
table inet nat {
chain postrouting {
type nat hook postrouting priority 100; policy accept;
ip saddr $DMZ ip daddr $KIT return
ip saddr $DMZ ip daddr 10.88.0.0/16 return
ip saddr $DMZ oif $WANDEV snat to $WANIP
ip saddr $LAN oif $WANDEV snat to $WANIP
ip saddr $SERVER oif $WANDEV snat to $WANIP
ip saddr $MGMT oif $WANDEV snat to $WANIP
}
}
- Firewall aktivieren
- systemctl enable nftables --now
- Kontrolle
- nft list ruleset
Alternatives Laden
- nft -f /etc/nftables.conf
Löschen der Regeln
- nft flush ruleset
Forward
- Für Restart markieren
- echo "net.ipv4.ip_forward=1" > /etc/sysctl.d/99-ipforward.conf
- Aktiveren
- sysctl -p /etc/sysctl.d/99-ipforward.conf
- Kontrolle
- sysctl net.ipv4.ip_forward
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
oder
- sysctl net.ipv4.ip_forward
