WAN out: NAT *und* lokale IP in den Logs - warum?

Started by openMe, December 02, 2024, 01:38:32 PM

Previous topic - Next topic
Hallo,

habe mir nach einem ersten kurzen Test vor einigen Monaten OPNSense für den Dauergebrauch installiert. Nun sehe ich in den Logs, dass aus dem internen LAN kommende Pakete 2-mal als outgoing auf dem WAN Interface angezeigt werden. Einmal mit der lokalen IP des sendenden Clients und einmal mit der NAT IP der Firewall.


WAN 2024-12-02T12:11:00 NAT-IP:50942 DESTINATION:4431 tcp let out anything from firewall host itself (force gw)
WAN 2024-12-02T12:11:00 CLIENT-IP:46296 DESTINATION:4431 tcp
LAN 2024-12-02T12:11:00 CLIENT-IP:46296 DESTINATION:4431 tcp Allow Internal_LANs to ANY


Das meine ich im Test anders gesehen zu haben.

Meine Umgebung:
- OPNsense HA, 2 Nodes
- beide Node WAN IFs im Subnetz 10.0.0.0/24
- WAN-VIP im Bereich 10.0.0.0/24 (der ISP Router hat ebenfalls eine IP in dem Subnetz)
- beide Node LAN IFs im Subnetz 192.168.x (in dem Subnetz sind nur die OPNsense Nodes und das Routing-Interface des LAN-Switches)
- LAN-VIP im Subnetz 192.168.x
- mehrere interne Subnetze im 192.168.0.0/16 Bereich
- statische Route für 192.168.0.0/16 über das LAN IF
- Alias "Internal_LANs" auf 192.168.0.0/16
- mehrere Regeln für Internal_LANs, am Ende eine "Allow Internal_LANs to ANY" Regel
- eine NAT Regel Outbound:

WAN Internal_LANs  * * * WAN-VIP * NO OPNsense VIP NAT


Hilfe / Erklärungen gerne willkommen.

Firewall > Settings > Advanced,

Logging für die Default-Pass-Regeln deaktivieren.

Gruß
Patrick
Deciso DEC750
People who think they know everything are a great annoyance to those of us who do. (Isaac Asimov)

Danke für den Hinweis. Das war mir tatsächlich entfallen.

Nun habe ich noch 2 Fragen :-)

WAN 2024-12-02T14:17:59 NAT-IP:35493 172.1.0.1:80 tcp REVIEW 172.1.0.1
WAN 2024-12-02T14:17:59 CLIENT-IP:49526 172.1.0.1:80 tcp
LAN 2024-12-02T14:17:59 CLIENT-IP:49526 172.1.0.1:80 tcp REVIEW 172.1.0.1


Auf diese Adresse (172.1.0.1) scheint die Einstellung keine Auswirkung zu haben?!


Und das andere: bekomme ich in die WAN Zeile auch ein Label (Description) geschrieben und ist es korrekt, dass ich in der WAN Zeile ohne Default-Pass die CLIENT_IP statt der NAT-IP sehe?

WAN 2024-12-02T14:19:27 CLIENT-IP:61777 DESTINATION:80 tcp
LAN 2024-12-02T14:19:27 CLIENT-IP:61777 DESTINATION:80 tcp Allow Internal LANs to any HTTP(S)


Letzteres kann ich beantworten - nachdem die "let out anything from firewall host itself (force gw)" Regel jetzt nicht mehr loggt, loggt natürlich nur noch die "Allow Internal LANs to any HTTP(S)" Regel. Diese ist dafür verantwortlich, dass das Paket zum LAN hinein und zum WAN weiter hinaus ins Internet darf.

Geloggt werden ja nicht Pakete sondern die Matches der Regeln. Daher jetzt mit ganz ohne NAT ;)

Was das "REVIEW" in dem anderen Log-Auszug bedeutet, weiß ich grad nicht. Jedenfalls ist es offensichtlich nicht die "let out anything ..." Regel, und nur für die hast du das Logging ausgeschaltet.
Deciso DEC750
People who think they know everything are a great annoyance to those of us who do. (Isaac Asimov)

December 02, 2024, 04:17:36 PM #4 Last Edit: December 02, 2024, 04:21:05 PM by openMe
Sorry, bin noch nicht so fit mit OPNsense. Da muss ich manchmal 3-mal klicken, um meine Regeln zusammen zu bekommen und das dauert ein paar Minuten.

Das REVIEW ist in der Label / Descrption Spalte und stammt von mir (Description der Rule). Damit markiere ich Flows / Matches / hastenichtgesehen, die ich seltsam finde und noch bearbeiten will (klären oder blocken).

Bei dem anderen erklärt deine Erklärung, warum ich bei den Screenshots von meinem vorherigen Test eine Floating Rule "Replacement for let out anything from the firewall host itself" hatte. Hätte ich an den Screenshot noch geschrieben, wofür die Regel war, hätte ich sie vielleicht auch von Anfang an wieder implementiert.  8)

Nun habe ich das wieder drin und kann so das Logging für "nach dem NAT" beliebig ein oder ausschalten. Die Regeln lassen sich aber offensichtlich nicht 1:1 den vorkonfigurierten nachbauen. Z.B. bekomme ich bei Auswahl von IPv4+IPv6 eine Fehlermeldung, dass ich dann kein GW setzen kann. Auch sind die HW IFs nicht mehr auswahlbar, dafür habe ich nun die LAN- bzw. WAN-Adresse gesetzt.


  IPv4+6 * * * * * * * * Replacement for "let out anything from the firewall host itself"    
  IPv4 * LAN address * ! LAN net * LAN_GW * * Replacement for "let out anything from the firewall host itself (force gw)"    
  IPv4 * WAN address * ! WAN net * WAN_GW * * Replacement for "let out anything from the firewall host itself (force gw)"

Muss gleich erst mal gucken, wie ich hier inline Screenshots rein bekomme.

Nichtsdestotrotz bleibt noch eine Sache offen: wie bekomme ich in die WAN Zeile einen Kommentar rein (da, wo ich händisch <Hier sollte...> ergänzt habe? Das Match wird zwar geloggt...aber wodurch? Und kann ich auch diese Log-Zeile ausblenden, statt der darüber mit der NAT-IP?


WAN 2024-12-02T15:02:35 NAT-IP:12962 DESTINATION:443 tcp Replacement for let out anything from the firewall host itself
WAN 2024-12-02T15:02:35 CLIENT-IP:53066 DESTINATION:443 tcp <Hier sollte eine Description stehen>
LAN 2024-12-02T15:02:35 CLIENT-IP:53066 DESTINATION:443 tcp Allow Internal LANs to any HTTP(S)


Ich sollte bereits jetzt vielmals Dank sagen!  :)



Du kannst doch zum einen bei jeder Regel eine Description mit angeben im Formular. Wird die denn nicht geloggt?

Und außerdem kannst du auch bei jeder Regel "loggen" oder "nicht loggen" individuell einstellen.
Deciso DEC750
People who think they know everything are a great annoyance to those of us who do. (Isaac Asimov)

Ja schon, aber mein Problem ist, dass ich nicht weiß woher (durch welche Regel) denn die mittlere WAN-Zeile (mit der CLIENT-IP) zustande kommt. Alle meine eigenen Regeln haben eine eigene Description und (momentan) das Logging aktiv. Bin gerade nochmal durch alle Regeln unter NAT und Rules in der Firewall durch. Also kann das eigentlich keine meiner Regeln sein, die diese Zeile in den Logs produziert...

December 03, 2024, 10:07:25 AM #7 Last Edit: December 03, 2024, 10:14:57 AM by openMe
Guten Morgen,

vielleicht kann nochmal jemand helfen, um das Thema komplett abzuschließen. In meinem vorletzten Beitrag ist im zweiten Code-Block von mir händisch ergänzt worden "<Hier sollte eine Description stehen>"

Weiter oben in den Code-Blöcken erkennt man, dass an der Stelle in den Logs gar nichts steht. Ich bin nun nochmal alle Regeln durch und überall - in meinen selbst angelegten und soweit ich das erkenne auch den automatischen - steht eine Description drin. Daher sollte m.E. jede Log-Zeile an der Stelle etwas stehen haben.

Meine Frage ist: wo kommt die Log-Zeile ohne Eintrag an der Stelle her und wie bekomme ich da einen Eintrag rein?

Noch ein Hinweis: in der Info zu der Log-Zeile ist das Feld rid leer und das Feld rulenr enthält 1.

Das hat mich so genervt, dass ich weiter gesucht habe. Die Lösung findet sich hier:

https://forum.opnsense.org/index.php?topic=44099.0

bzw. in dem dort auch referenzierten GitHub Issue:

https://forum.opnsense.org/index.php?topic=44099.0

Ein Fix ist also bereits in der Mache.