58 lines
3.0 KiB
Plaintext
58 lines
3.0 KiB
Plaintext
# ===== ap1 — WAN MAC-Clone-Test (FB CM-MAC → ether1), scheduler-frei =====
|
|
# RouterOS 7.23.x, device-mode=home. Setzt wan-cutover-test.rsc voraus (nutzt wantest-probe).
|
|
#
|
|
# FB-WAN-MAC = CM-MAC 0C:72:74:36:90:99 (DOCSIS-SW 7.3.5.3.521, vom User aus FB-UI).
|
|
# ⚠️ CM-MAC = Cable-Modem-/DOCSIS-Layer. Im echten Bridge-Modus nutzt die FB diese MAC
|
|
# selbst → MAC-Konflikt-Risiko. Public-IP kam bereits mit ether1-eigener MAC → Clone ist
|
|
# Verifikation, kein Muss.
|
|
#
|
|
# device-mode blockiert /system scheduler → Auto-Revert ist hier KEIN Scheduler, sondern fest
|
|
# in den Clone-Lauf eingebaut (linearer Ablauf, ~90 s Clone-Fenster, dann garantierter Revert —
|
|
# läuft im Hintergrund zu Ende, auch wenn die Console-Session abreißt).
|
|
#
|
|
# Ablauf (Console über altes WiFi auf 10.40.41.1):
|
|
# 1) Baseline-Cutover mit ether1-eigener MAC (wantest-run) → Public-IP geloggt
|
|
# 2) /system script run wanmac-clone → setzt CM-MAC, release/renew, 4 Proben, AUTO-REVERT
|
|
# 3) Log prüfen: IP/Schichten mit FB-MAC vs. Baseline (/log print where message~"WANTEST")
|
|
# Not-Revert jederzeit: /system script run wanmac-revert
|
|
|
|
# --- idempotent ---
|
|
/system scheduler remove [find name~"^wanmac-"]
|
|
/system script remove [find name~"^wanmac-"]
|
|
|
|
# --- Clone: orig sichern → CM-MAC → release/renew → 4 Proben → GARANTIERTER Auto-Revert ---
|
|
/system script add name=wanmac-clone policy=read,write,test,policy source={
|
|
:global FBMAC
|
|
:if (([:typeof $FBMAC] = "nothing") or ($FBMAC = "")) do={ :set FBMAC "0C:72:74:36:90:99" }
|
|
:global E1ORIG
|
|
:set E1ORIG [/interface ethernet get [find name=ether1] mac-address]
|
|
:log info ("WANTEST macclone: orig=" . $E1ORIG . " -> fb=" . $FBMAC . " (Auto-Revert in ~90s)")
|
|
/interface ethernet set [find name=ether1] mac-address=$FBMAC
|
|
:do { /ip dhcp-client release [find interface=ether1] } on-error={}
|
|
:delay 2s
|
|
:do { /ip dhcp-client renew [find interface=ether1] } on-error={}
|
|
:delay 25s
|
|
:for i from=1 to=4 do={ /system script run wantest-probe ; :delay 15s }
|
|
# --- garantierter Auto-Revert im selben Lauf (kein Scheduler nötig) ---
|
|
/interface ethernet reset-mac-address [find name=ether1]
|
|
:do { /ip dhcp-client release [find interface=ether1] } on-error={}
|
|
:delay 2s
|
|
:do { /ip dhcp-client renew [find interface=ether1] } on-error={}
|
|
:delay 15s
|
|
/system script run wantest-probe
|
|
:log info ("WANTEST macclone done -> revert auf factory-MAC (orig war " . $E1ORIG . ")")
|
|
}
|
|
|
|
# --- Not-Revert: sofort Werks-MAC zurück (falls man früher raus will) ---
|
|
/system script add name=wanmac-revert policy=read,write,test,policy source={
|
|
/interface ethernet reset-mac-address [find name=ether1]
|
|
:do { /ip dhcp-client release [find interface=ether1] } on-error={}
|
|
:delay 2s
|
|
:do { /ip dhcp-client renew [find interface=ether1] } on-error={}
|
|
:delay 10s
|
|
/system script run wantest-probe
|
|
:log info "WANTEST macclone manual-revert -> factory-MAC"
|
|
}
|
|
|
|
:log info "WANTEST macclone-test installiert (clone mit eingebautem Auto-Revert + manual-revert)"
|