TP23 Stufe 1 (DoH) + TP5 Etappe-2-Nachtrag ausgerollt, Etappe-3-Drop vorbereitet
Drei Skripte aus der Folgesession. Stand am Geraet zum Commit-Zeitpunkt (per REST gegengeprueft, nicht aus den Dateikoepfen abgeschrieben): - tp23-stufe1-doh-core.rsc -> LIVE. use-doh-server auf den Cloudflare-Gateway-Resolver, verify-doh-cert=true. Nur der GTS Root R4 importiert statt eines Bundles: der Core hat ~2,8 MB freien Flash, und die Kette endet nachweislich dort. Der Root wurde per SFTP hochgeladen, nicht per fetch geholt -- fetch haette check-certificate=no gebraucht und damit genau die Pruefung ausgehebelt, die hier aufgebaut wird. Schliesst zugleich TP21.1 TODO 1. - tp5-etappe2-nachtrag.rsc -> LIVE. 17 TP5-E2-Whitelists (11 + 6). Vier Luecken, die der Kollektor ueber dreieinhalb Stunden gezeigt hat: Matter (udp/5540, 92 der 119 Zeilen -- die E2-Regel war protocol=tcp und liess Matter komplett durchfallen), der Nautobot-Deploy-Pfad (kommt von .20.31 = worker, nicht von .20.30 = web; jetzt als address-list, weil der scheduler dieselben Jobs faehrt), und zwei Rueckwege aus abgelaufenen Conntrack-Eintraegen. Dazu eine Vorratsregel fuer AdGuard, damit das spaetere DNS-Umstellen ein reiner DHCP-Change bleibt. Korrigiert meine Aussage vom Vortag: "die Log-Regel ist verstummt" beruhte auf einem 70-Sekunden-Fenster und war so nicht haltbar. Genau deshalb verlangt das Runbook ein mehrtaegiges Fenster. - tp5-etappe3-drop.rsc -> VORBEREITET, NICHT AUSGEROLLT. Kein Drop und kein Scheduler auf dem Geraet. Der Auto-Revert steht im Skript bewusst VOR dem Drop, sonst gibt es ein Fenster ohne Sicherung; der Drop kommt HINTER die Log-Regel, damit der Kollektor weiter sieht, was gefressen wird. Gate fuer Etappe 3: die Log-Regel steht aktuell auf 0 Paketen. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
44
routeros/tp5-etappe3-drop.rsc
Normal file
44
routeros/tp5-etappe3-drop.rsc
Normal file
@@ -0,0 +1,44 @@
|
||||
# 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"]]])
|
||||
Reference in New Issue
Block a user