Firwall 5105: Unterschied zwischen den Versionen
Zur Navigation springen
Zur Suche springen
| (23 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt) | |||
| Zeile 2: | Zeile 2: | ||
*TN = 200 + Platznummer | *TN = 200 + Platznummer | ||
*HS = Klassensaal | *HS = 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 | ||
| + | }} | ||
=Hostname= | =Hostname= | ||
| − | + | =Danach passen wir die fw an= | |
| − | + | 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 (Demilitarized Zone) | ||
| + | |- | ||
| + | | '''3. NIC''' || LAN || Internes Netzwerk (Client-Netz) | ||
| + | |} | ||
;Weitere Interfaces | ;Weitere Interfaces | ||
*cat /etc/network/interfaces | *cat /etc/network/interfaces | ||
<pre> | <pre> | ||
| + | #LOOPBACK | ||
auto lo | auto lo | ||
iface lo inet loopback | iface lo inet loopback | ||
| + | #WAN | ||
auto enp0s3 | auto enp0s3 | ||
iface enp0s3 inet static | iface enp0s3 inet static | ||
address 192.168.HS.TN/24 | address 192.168.HS.TN/24 | ||
gateway 192.168.HS.254 | gateway 192.168.HS.254 | ||
| + | dns-nameservers 192.168.HS.88 | ||
| + | dns-search it2XX.int | ||
post-up ip route add 10.88.0.0/16 via 192.168.HS.88 | post-up ip route add 10.88.0.0/16 via 192.168.HS.88 | ||
| + | #DMZ | ||
auto enp0s8 | auto enp0s8 | ||
iface enp0s8 inet static | iface enp0s8 inet static | ||
| − | address | + | address 10.88.2XX.1/24 |
| + | #LAN | ||
auto enp0s9 | auto enp0s9 | ||
iface enp0s9 inet static | iface enp0s9 inet static | ||
| − | address | + | address 172.26.2XX.1/24 |
</pre> | </pre> | ||
| Zeile 36: | Zeile 66: | ||
define LAN = 172.26.TN.0/24 | define LAN = 172.26.TN.0/24 | ||
define DMZ = 10.88.TN.0/24 | define DMZ = 10.88.TN.0/24 | ||
| + | define KIT = 192.168.HS.0/24 | ||
# Alte Regeln löschen (flush) | # Alte Regeln löschen (flush) | ||
| Zeile 46: | Zeile 77: | ||
# DMZ nach 192.168.HS.0/24 - kein NAT (RETURN) | # DMZ nach 192.168.HS.0/24 - kein NAT (RETURN) | ||
| − | ip saddr $DMZ ip daddr | + | ip saddr $DMZ ip daddr $KIT return |
# DMZ nach 10.88.0.0/16 - kein NAT (RETURN) | # DMZ nach 10.88.0.0/16 - kein NAT (RETURN) | ||
| Zeile 67: | Zeile 98: | ||
;Löschen | ;Löschen | ||
*nft flush ruleset | *nft flush ruleset | ||
| + | ==Aktivieren== | ||
| + | *systemctl enable nftables.service | ||
=Forward= | =Forward= | ||
| Zeile 73: | Zeile 106: | ||
=Reboot= | =Reboot= | ||
*sudo systemctl reboot | *sudo systemctl reboot | ||
| + | =Tests= | ||
| + | ;Läuft die Firewall? | ||
| + | *nft list ruleset | ||
| + | ;Stimmen die IPs? | ||
| + | *ip addr show | ||
| + | ;Stimmt das Routing? | ||
| + | *ip route show | ||
| + | ;Ist IPFORWARD eingestellt? | ||
| + | *sysctl net.ipv4.ip_forward | ||
| + | =Erweiterte Test mit ping und tcpdump= | ||
| + | ;Wir installieren terminator auf dem HOST | ||
| + | *sudo dnf install -y terminator | ||
| + | ;termintor öffnen | ||
| + | *Anwendungen -> Systemwerkzeuge -> Terminator | ||
| + | *Rechte Maustaste -> Horizontal Teilen | ||
| + | ;Mit meinen Terminals auf die Firewall gehen und jeweils zu root machen | ||
| + | *Terminal1 -> wird zum mitschneiden genutzt | ||
| + | *Terminal2 -> für ping genutzt | ||
| + | ==Erster Test== | ||
| + | ;Terminal1 | ||
| + | *tcpdump -ni enp0s3 icmp | ||
| + | ;Terminal2 | ||
| + | *ping -c 1 1.1.1.1 | ||
| + | ==Zweiter Test== | ||
| + | ;Terminal1 | ||
| + | *tcpdump -ni enp0s3 icmp | ||
| + | ;Terminal2 | ||
| + | *ping -c 1 -I 10.88.2XX.1 google.de | ||
| + | Erkenntnis Source IP wird umgeschrieben | ||
| + | |||
| + | ==Dritte Test== | ||
| + | ;Terminal1 | ||
| + | *tcpdump -ni enp0s3 icmp | ||
| + | ;Terminal2 | ||
| + | *ping -I 10.88.2XX.1 10.88.201.1 | ||
| + | Erkenntnis Source IP wird nicht umgeschrieben | ||
| + | ==Vierte Test== | ||
| + | ;Terminal1 | ||
| + | *tcpdump -ni enp0s3 icmp | ||
| + | ;Terminal2 | ||
| + | *ping -I 10.88.2XX.1 192.168.HS.88 | ||
| + | Erkenntnis Source IP wird nicht umgeschrieben | ||
| + | ==Fünfter Test== | ||
| + | ;Terminal1 | ||
| + | *tcpdump -ni enp0s3 icmp | ||
| + | ;Terminal2 | ||
| + | *ping -I 172.26.2XX.1 192.168.HS.88 | ||
| + | Erkenntnis Source IP wird umgeschrieben | ||
Aktuelle Version vom 2. Juni 2026, 07:58 Uhr
Erklärung
- TN = 200 + Platznummer
- HS = 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
Hostname
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) |
- Weitere Interfaces
- cat /etc/network/interfaces
#LOOPBACK auto lo iface lo inet loopback #WAN auto enp0s3 iface enp0s3 inet static address 192.168.HS.TN/24 gateway 192.168.HS.254 dns-nameservers 192.168.HS.88 dns-search it2XX.int post-up ip route add 10.88.0.0/16 via 192.168.HS.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
NAT mit nftables
- cat /etc/nftables.conf
#!/usr/sbin/nft -f
# Variablen
define LAN = 172.26.TN.0/24
define DMZ = 10.88.TN.0/24
define KIT = 192.168.HS.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.HS.0/24 - 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 enp0s3 masquerade
# LAN nach außen - Masquerade
ip saddr $LAN oif enp0s3 masquerade
}
}
Tests
- Manuelles aktivieren
- nft -f /etc/nftables.conf
- Anzeigen
- nft list ruleset
- Löschen
- nft flush ruleset
Aktivieren
- systemctl enable nftables.service
Forward
- echo "net.ipv4.ip_forward=1" | sudo tee /etc/sysctl.d/99-ip-forward.conf
- sudo sysctl -p /etc/sysctl.d/99-ip-forward.conf
Reboot
- sudo systemctl reboot
Tests
- Läuft die Firewall?
- nft list ruleset
- Stimmen die IPs?
- ip addr show
- Stimmt das Routing?
- ip route show
- Ist IPFORWARD eingestellt?
- sysctl net.ipv4.ip_forward
Erweiterte Test mit ping und tcpdump
- Wir installieren terminator auf dem HOST
- sudo dnf install -y terminator
- termintor öffnen
- Anwendungen -> Systemwerkzeuge -> Terminator
- Rechte Maustaste -> Horizontal Teilen
- Mit meinen Terminals auf die Firewall gehen und jeweils zu root machen
- Terminal1 -> wird zum mitschneiden genutzt
- Terminal2 -> für ping genutzt
Erster Test
- Terminal1
- tcpdump -ni enp0s3 icmp
- Terminal2
- ping -c 1 1.1.1.1
Zweiter Test
- Terminal1
- tcpdump -ni enp0s3 icmp
- Terminal2
- ping -c 1 -I 10.88.2XX.1 google.de
Erkenntnis Source IP wird umgeschrieben
Dritte Test
- Terminal1
- tcpdump -ni enp0s3 icmp
- Terminal2
- ping -I 10.88.2XX.1 10.88.201.1
Erkenntnis Source IP wird nicht umgeschrieben
Vierte Test
- Terminal1
- tcpdump -ni enp0s3 icmp
- Terminal2
- ping -I 10.88.2XX.1 192.168.HS.88
Erkenntnis Source IP wird nicht umgeschrieben
Fünfter Test
- Terminal1
- tcpdump -ni enp0s3 icmp
- Terminal2
- ping -I 172.26.2XX.1 192.168.HS.88
Erkenntnis Source IP wird umgeschrieben