# TP5 Etappe 3 — Deny-by-default am Ende von forward. # # WAS HIER PASSIERT # ----------------- # Die forward-Kette endet heute nach der Log-Regel ohne Drop: alles, was keine # Whitelist trifft, laeuft trotzdem durch. Diese Datei schliesst genau das. # Der Drop kommt HINTER die Log-Regel, nicht an ihre Stelle — dann protokolliert # der Kollektor weiter exakt das, was der Drop frisst. Ohne diese Sicht waere # jede spaetere Fehlersuche Raten. # # VORBEDINGUNGEN, die am 2026-08-18 erfuellt sind: # - 17 Whitelist-Regeln (11 aus Etappe 2 + 6 aus dem Nachtrag) stehen VOR der # Log-Regel; Positionen 14..30, Log auf 31, live gegengeprueft. # - Der Nachtrag hat die vier Luecken geschlossen, die der Kollektor nach dem # ersten E2-Deploy gezeigt hat (Matter, nautobot-worker .20.31, die beiden # Rueckwege). Ohne sie haette dieser Drop den GC-Deploy-Pfad selbst gekappt. # # ⚠️ REIHENFOLGE IM SKRIPT IST ABSICHT: erst der Auto-Revert-Scheduler, DANN der # Drop. Andersherum gibt es ein Fenster, in dem der Drop scharf ist und die # Sicherung noch nicht steht. # # 🛟 AUTO-REVERT: schaltet den Drop nach 10 Minuten selbst wieder ab und entfernt # sich. Wer zufrieden ist, loescht den Scheduler von Hand — dann bleibt der Drop. # Name OHNE Bindestrich: RouterOS lehnt "tp5-autorevert" ab (bekannte Falle, # hat schon vier Deploys gekostet). # # Push: python3 nautobot/gc-manual-plan.py --device crs326-core \ # --commands-file routeros/tp5-etappe3-drop.rsc \ # --change-id TP5-Etappe3-Drop --deploy # Backup davor: core-pre-tp5-etappe3-20260818.backup # # Rollback sofort: /ip firewall filter set [find comment="TP5: deny-by-default"] disabled=yes # --------------------------------------------------------------------------- # 1) Sicherung zuerst. :do { :if ([:len [/system scheduler find name="tp5autorevert"]] = 0) do={ /system scheduler add name="tp5autorevert" interval=10m on-event="/ip firewall filter set [find comment=\"TP5: deny-by-default\"] disabled=yes; /system scheduler remove [find name=\"tp5autorevert\"]; :log warning \"tp5e3: AUTO-REVERT hat den Drop abgeschaltet\"" } } on-error={ :log info "tp5e3: 01 scheduler warf" } # 2) Der Drop. Hinter die Log-Regel, damit der Kollektor weiterlaeuft. # KEIN place-before: ein add haengt ans Kettenende an, und dort steht die # Log-Regel bereits als letzte. Ein place-before auf die Log-Regel wuerde den # Drop DAVOR setzen -- dann sieht der Kollektor nie wieder, was gedroppt wird. :do { :if ([:len [/ip firewall filter find comment="TP5: deny-by-default"]] = 0) do={ /ip firewall filter add chain=forward action=drop comment="TP5: deny-by-default" } } on-error={ :log info "tp5e3: 02 drop warf" } :log info ("tp5e3: ENDE drop=" . [:tostr [:len [/ip firewall filter find comment="TP5: deny-by-default"]]] . " autorevert=" . [:tostr [:len [/system scheduler find name="tp5autorevert"]]])