fix: sync_routing baca dari address-list bgp-export (tidak timeout lagi)

This commit is contained in:
Wartana
2026-02-26 22:11:19 +08:00
parent 6909041aed
commit c02b60657e
2 changed files with 26 additions and 58 deletions

View File

@@ -1,27 +1,23 @@
/system/script remove [find name="bgp_lokal_export"]
/system/script add name=bgp_lokal_export dont-require-permissions=yes source={ \
:local fname "bgp_lokal_export"; \
:log info "BGP Export: mulai..."; \
:local output ""; \
/ip firewall address-list remove [find list="bgp-export"]; \
:local cnt 0; \
:foreach r in=[/routing/route find where distance=15] do={ \
:local dst [/routing/route get \$r dst-address]; \
:if (\$dst != "0.0.0.0/0" && \$dst != "::/0") do={ \
:set output ("\$output\$dst\n"); \
:set cnt (\$cnt + 1); \
:local dst [/routing/route get $r dst-address]; \
:if ($dst != "0.0.0.0/0" && $dst != "::/0") do={ \
/ip firewall address-list add list="bgp-export" address=$dst; \
:set cnt ($cnt + 1); \
}; \
}; \
:log info "BGP Export: CDN selesai"; \
:log info "BGP Export: CDN selesai ($cnt)"; \
:foreach r in=[/routing/route find where distance=200] do={ \
:local dst [/routing/route get \$r dst-address]; \
:if (\$dst != "0.0.0.0/0" && \$dst != "::/0") do={ \
:set output ("\$output\$dst\n"); \
:set cnt (\$cnt + 1); \
:local dst [/routing/route get $r dst-address]; \
:if ($dst != "0.0.0.0/0" && $dst != "::/0") do={ \
/ip firewall address-list add list="bgp-export" address=$dst; \
:set cnt ($cnt + 1); \
}; \
}; \
/file print file=\$fname; \
:delay 2s; \
/file set "\$fname.txt" contents=\$output; \
:log info "BGP Export: selesai"; \
:log info "BGP Export: selesai total $cnt rute"; \
}