Files
bf-infra/routeros/tp5-etappe4-nachtrag-discovery.rsc

33 lines
2.2 KiB
Plaintext

# TP5 Etappe 4 — NACHTRAG: Discovery-Protokolle in den input lassen.
#
# BEFUND (2026-08-18, unmittelbar nach dem input-Drop):
# Die input-Log-Regel fing MNDP-Broadcasts (udp/5678) von crs326-branch
# (04:F4:1C:B4:15:58), ap1 (D0:EA:11:4D:40:E0/E1) und ap2 (D0:EA:11:4D:40:39/3A).
#
# WARUM DAS NICHT HARMLOS IST:
# `/interface/wifi/cap` auf ap1 zeigt
# discovery-interfaces: vlan99
# current-caps-man-address: 04:F4:1C:B4:17:76%vlan99
# — eine MAC, keine IP. Die CAPs finden ihren Manager also per Layer-2-Discovery
# auf vlan99, nicht ueber eine konfigurierte Adresse. Ein Drop dieser Pakete
# bricht die Manager-Findung. Die BESTEHENDEN CAPWAP-Sitzungen laufen weiter
# (sie sind established und werden von TP10-seal-est akzeptiert), das Problem
# schlaegt also erst beim naechsten AP- oder Manager-Neustart zu — genau die
# Sorte Spaetschaden, die man im Log sehen und sofort schliessen will.
#
# Sicherheitlich billig: MNDP ist link-lokal (Broadcast, verlaesst das Segment
# nicht), CAPWAP wird auf vlan99 begrenzt.
#
# ⚠️ place-before ist Pflicht: ein blankes `add` haengt hinter den Drop und
# waere wirkungslos.
# ---------------------------------------------------------------------------
# MNDP. Aus der LAN-Liste, weil es auch die Winbox-Neighbors-Anzeige speist und
# als Broadcast ohnehin nicht routbar ist.
:do { :if ([:len [/ip firewall filter find comment="TP5-E4: MNDP discovery"]] = 0) do={ /ip firewall filter add chain=input action=accept in-interface-list=LAN protocol=udp dst-port=5678 comment="TP5-E4: MNDP discovery" place-before=[/ip firewall filter find comment="TP5: input log-only"] } } on-error={ :log info "tp5e4n: 01 mndp warf" }
# CAPsMAN/CAPWAP, eng auf das Mgmt-VLAN begrenzt.
:do { :if ([:len [/ip firewall filter find comment="TP5-E4: CAPsMAN capwap"]] = 0) do={ /ip firewall filter add chain=input action=accept in-interface=vlan99 protocol=udp dst-port=5246,5247 comment="TP5-E4: CAPsMAN capwap" place-before=[/ip firewall filter find comment="TP5: input log-only"] } } on-error={ :log info "tp5e4n: 02 capwap warf" }
:log info ("tp5e4n: ENDE mndp=" . [:tostr [:len [/ip firewall filter find comment="TP5-E4: MNDP discovery"]]] . " capwap=" . [:tostr [:len [/ip firewall filter find comment="TP5-E4: CAPsMAN capwap"]]])