Linux - Netzwerk und Serveradminstration Firewall Debian: Unterschied zwischen den Versionen

Aus Xinux Wiki
Zur Navigation springen Zur Suche springen
Zeile 6: Zeile 6:
  
 
=== Netzkonfiguration Firewall ===
 
=== Netzkonfiguration Firewall ===
 +
{[vorlage:fw-maschine}}
  
{| class="wikitable" style="background-color: #f2f2f2;"
 
! 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
 
*[[Anpassen des Debian 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=
 
=Erklärung=
 
*XX = Platznummer
 
*XX = Platznummer

Version vom 9. Mai 2026, 12:12 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

{[vorlage:fw-maschine}}

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 (Client-Netz)
3. NIC LAN Internes Netzwerk (Demilitarized Zone)
4. NIC SERVER Internes Netzwerk (Server-Netz)

Auf unserem Host eine kleine Anpassung

Als kit user
  • nano ~/.ssh/config
Host fw
 HostName 192.168.Y.2XX
 User kit
Danach könnt ihr euch so einloggen
  • ssh fw

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

  • ifup -va

oder

  • 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
define KIT = 192.168.Y.0/24
define WANDEV = enp0s3


# 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 $KIT - kein NAT (RETURN)
        ip saddr $DMZ ip daddr $KIT 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 $WANDEV masquerade
        
        # LAN nach außen - Masquerade
        ip saddr $LAN oif $WANDEV masquerade
        
        # SERVER nach außen - Masquerade
        ip saddr $SERVER oif $WANDEV masquerade
    }
}
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

  • 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

oder

  • sysctl net.ipv4.ip_forward