Hallo,
ich kann aus dem LAN nicht auf die DMZ zugreifen und kann auch nach längerem Suchen und Probieren nicht feststellen wo etwas falsch läuft.
Version OPNsense 25.7.7_4-amd64
Interfaces
LAN igc0 192.168.0.1/24
DMZ re0 192.168.10.1/24
Wireguard wg0 10.10.10.1/24
Firewall
Firewall LAN ; Default allow LAN to any rule
Firewall DMZ ; ping any to any (Testzwecke)
Ping
lan -> lan ok
lan -> 8.8.8.8 ok
wireguard -> lan ok
wireguard -> dmz ok
dmz -> 8.8.8.8 ok
lan -> dmz klappt nicht (Firewall log live view: 192.168.0.2(source)->;192.168.10.4(destination)- pass let out anything)
Packet capture
WireGuard
wg0 2026-01-28
17:38:52.004304 length 88: 10.10.10.4 > 192.168.10.4: ICMP echo request, id 15, seq 9, length 64
WireGuard
wg0 2026-01-28
17:38:52.004650 length 88: 192.168.10.4 > 10.10.10.4: ICMP echo reply, id 15, seq 9, length 64
DMZ
re0 2026-01-28
17:38:52.004329 68:84:7e:xx:xx:xx 00:e0:4c:xx:xx:xx IPv4, length 98: 10.10.10.4 > 192.168.10.4: ICMP echo request, id 15, seq 9, length 64
DMZ
re0 2026-01-28
17:38:52.004639 00:e0:4c:xx:xx:xx 68:84:7e:xx:xx:xx IPv4, length 98: 192.168.10.4 > 10.10.10.4: ICMP echo reply, id 15, seq 9, length 64
-----------------------------------------------------------------------------------------------------------------------------------------------------
LAN
igc0 2026-01-28
20:43:51.815899 4c:52:62:xx:xx:xx 02:76:c6:xx:xx:xx IPv4, length 98: 192.168.0.13 > 192.168.10.4: ICMP echo request, id 69, seq 0, length 64
DMZ
re0 2026-01-28
20:43:51.815963 68:84:7e:xx:xx:xx 00:e0:4c:xx:xx:xx IPv4, length 98: 192.168.0.13 > 192.168.10.4: ICMP echo request, id 69, seq 0, length 64
Irgendwie kommt beim Ping aus dem LAN in die DMZ kein Reply, aber ich kann nicht erkennen woran das liegt. Es scheint kein Firewall-Problem zu sein und der Host reagiert beim Ping aus dem Wireguard-Netz.......
Wo liegt der Fehler?
Hast du bei der LAN "allow" Regel einen Gateway drin? Wenn ja, weshalb? Das würde dazu führen, dass er alle Pakete in Richtung des Gateway schickt statt in die DMZ.
Firewall: Rules: LAN
Protocol Source Port Destination Port Gateway Schedule Description
IPv4 * LAN net * * * * * Default allow LAN to any rule
IPv6 * LAN net * * * * * Default allow LAN IPv6 to any rule
Die Regel habe ich nach der Installation nicht/nie angefasst....
Mach ma
netstat -rn
Müsste hier eigentlich die Mac-Adressse des hosts und nicht die Mac-Adresse des LAN interface auftauchen?
4c:52:62:xx:xx:xx 02:76:c6:xxxx(LAN Interface) IPv4, length 98: 192.168.0.13 > 192.168.10.4
Nein, der Client im LAN schickt das Paket ja an seinen Default-Gateway, also an die OPNsense. Die sollte es dann in die DMZ weiter routen. Schick mir doch bitte die Ausgabe des Befehls oben ...
Meinst du auf der Weboberfläche: Interfaces: Diagnostics: Netstat, wenn ja welche Infos brauchst du?
SSH-Zugriff auf OPNsense habe ich bislang nicht aktiviert...wenn es aber nur so geht, kann ich das auch machen
Ich hab keine Ahnung, wie das im UI geht. Wenn ich was debugge, benutze ich SSH. Immer. Sorry. Bitte gib einfach den Befehl ein. Danke.
Routing tables
Internet:
Destination Gateway Flags Netif Expire
default 178.201.166.1 UGS igc1
10.10.10.0/24 link#8 U wg0
10.10.10.1 link#4 UHS lo0
10.10.10.2 link#8 UHS wg0
10.10.10.3 link#8 UHS wg0
10.10.10.4 link#8 UHS wg0
10.10.10.5 link#8 UHS wg0
80.69.96.12 178.201.166.1 UGHS igc1
81.210.129.4 178.201.166.1 UGHS igc1
127.0.0.1 link#4 UH lo0
178.201.166.0/23 link#2 U igc1
178.201.167.223 link#4 UHS lo0
192.168.0.0/24 link#1 U igc0
192.168.0.1 link#4 UHS lo0
192.168.10.0/24 link#3 U re0
192.168.10.1 link#4 UHS lo0
Internet6:
Destination Gateway Flags Netif Expire
default fe80::201:5cff:fe77:4a46%igc1 UGS igc1
::1 link#4 UHS lo0
2a02:908:2:a::1 fe80::201:5cff:fe77:4a46%igc1 UGHS igc1
2a02:908:2:b::1 fe80::201:5cff:fe77:4a46%igc1 UGHS igc1
2a02:908:1900:6::1bee link#4 UHS lo0
2a02:908:1900:8::/64 link#2 U igc1
2a02:908:1960:e5a0::/64 link#1 U igc0
2a02:908:1960:e5a0::/59 link#4 USB lo0
2a02:908:1960:e5a0:76:c6ff:fe01:6d6d link#4 UHS lo0
2a02:3102:8001:d7::/64 link#2 U igc1
2a02:3102:8001:80d7::/64 link#2 U igc1
fd00::/64 link#2 U igc1
fe80::%igc0/64 link#1 U igc0
fe80::76:c6ff:fe01:6d6d%lo0 link#4 UHS lo0
fe80::%igc1/64 link#2 U igc1
fe80::76:c6ff:fe01:7154%lo0 link#4 UHS lo0
fe80::%lo0/64 link#4 U lo0
fe80::1%lo0 link#4 UHS lo0
Ich hatte den Verdacht, dass du evtl. 192.168.10.0 falsch routest, z.B. weil du es bei WireGuard in die "AllowedIPs" eingetragen hast. Das ist aber nicht der Fall. Ich nehme an, re0 ist das DMZ-Interface.
Dann mach doch mal einen Paket-Trace auf allen anderen Interfaces (WAN, WireGuard), während du den Ping vom LAN in die DMZ absetzt. Irgendwo müssen die Pakete ja landen. Wenn wir wissen, wo, können wir gucken, weshalb.
Interfaces to capture - select all
gc0 [LAN]
igc1 [WAN]
re0 [DMZ]
lo0 [Loopback]
enc0
pflog0
pfsync0
wg0 [HedwigWireGuard]
DMZ
re0 2026-01-29
00:13:57.571658 68:84:7e:xxxxxx 00:e0:4c:xxxxxx IPv4, length 98: 192.168.0.48 > 192.168.10.4: ICMP echo request, id 5, seq 963, length 64
DMZ
re0 2026-01-29
00:13:58.591672 68:84:7e:xxxxxx 00:e0:4c:xxxxxx IPv4, length 98: 192.168.0.48 > 192.168.10.4: ICMP echo request, id 5, seq 964, length 64
LAN
igc0 2026-01-29
00:13:57.571638 44:37:e6:xxxxxx 02:76:c6:xxxxxx IPv4, length 98: 192.168.0.48 > 192.168.10.4: ICMP echo request, id 5, seq 963, length 64
LAN
igc0 2026-01-29
00:13:57.972811 02:76:c6:xxxxxx d8:47:32:xxxxxx IPv4, length 118: 192.168.0.1 > 192.168.0.71: ICMP 132.163.96.6 udp port 123 unreachable, length 84
LAN
igc0 2026-01-29
00:13:58.591649 44:37:e6:xxxxxx 02:76:c6:xxxxxx IPv4, length 98: 192.168.0.48 > 192.168.10.4: ICMP echo request, id 5, seq 964, length 64
Sieht so aus als würde alles nur auf LAN und DMZ landen
"Ich nehme an, re0 ist das DMZ-Interface."
-ja
Ja dann bleiben eigentlich nur noch die Hosts in der DMZ übrig. Mach auf denen mal ein Paket-Trace, guck, ob es Antwortpakete gibt, und wo die hin gehen ...
Da scheint wohl der Fehler zu liegen. Den Host hatte ich als Fehlerquelle ausgeschlossen da der Ping aus dem Wireguard Netz funktioniert hat.....
-wieder mal was gelernt
Der Host (alpine linux frisch aufgesetzt) hat zwei NICs
1x lan 192.168.0.13
1x dmz 192.168.10.4
Da wird wohl die Antwort über den "LAN NIC" geroutet und die OPNsense bekommt eine Antwort von der falschen IP, oder es wird gar keine Antwort gesendet (im Paket-Trace wird ja gar kein Reply angezeigt). Kennst du einen Befehl der hier etwas mehr Licht ins Dunkel bringen könnte?
Ping aus dem LAN
tcpdump: verbose output suppressed, use -v[v]... for full protocol decode
listening on any, link-type LINUX_SLL2 (Linux cooked v2), snapshot length 262144 bytes
08:00:30.852217 eth0 In IP 192.168.0.48 > 192.168.10.4: ICMP echo request, id 1, seq 170, length 64
08:00:31.876194 eth0 In IP 192.168.0.48 > 192.168.10.4: ICMP echo request, id 1, seq 171, length 64
Ping aus dem Wireguard Netz
tcpdump: verbose output suppressed, use -v[v]... for full protocol decode
listening on any, link-type LINUX_SLL2 (Linux cooked v2), snapshot length 262144 bytes
08:01:52.427354 eth0 In IP 10.10.10.4 > 192.168.10.4: ICMP echo request, id 19, seq 4, length 64
08:01:52.427479 eth0 Out IP 192.168.10.4 > 10.10.10.4: ICMP echo reply, id 19, seq 4, length 64
08:01:52.772358 eth0 In IP 192.168.0.48 > 192.168.10.4: ICMP echo request, id 1, seq 250, length 64
08:01:53.457374 eth0 In IP 10.10.10.4 > 192.168.10.4: ICMP echo request, id 19, seq 5, length 64
Das geht so nicht. Was für einen Sinn hat die Firewall dazwischen, wenn der Host eine direkte Verbindung ins LAN hat? Dann benutz doch auch die LAN-Verbindung zum Kommunizieren.
Wenn der Host einer DMZ "eingesperrt" sein soll, dann darf er auch nur das DMZ-Interface haben.
Dies war ein Test. Die Idee war/ist eigentlich auf dem Host SFTPGo – FileServer mit Docker und Macvlan-Netzwerktreiber einzurichten (gebunden an den DMZ-NIC), um dem Container dann eine eigene MAC-Adresse und eine eigene IP in der DMZ zuzuweisen. Die anderen Programme auf dem Host sollten dann weiterhin über den LAN-NIC mit LAN.net kommunizieren, der Docker Container hingegen sieht nur die DMZ.
Ich dachte dies sei sicherer als eine Portweiterleitung ins LAN....
Man kann das mit den zwei Beinchen schon machen - ich mache das manchmal mit Proxmox. Aber wenn man das tut, muss man eben darauf achten, welches der Interfaces die Default-Route bekommt.
Für Dein Szenario bietet es sich eher an, dass Du für die DMZ-Systeme ausschließlich die DMZ konfigurierst und dann den Zugriff vom LAN in die DMZ erlaubst (ggf. limitiert auf Management-Clients). Das ist unabhängig davon, ob man den DMZ-Systemen Zugriff ins Internet gibt - die Default-Router sollte jedenfalls über die OpnSense laufen, damit man es zentral managen kann. Ein Weg vorbei ist ein No-Go, wie Patrick ja schon schrieb.
Dann werde ich diesen Weg einschlagen.
Danke für die schnelle Hilfe!