Rovitz No, l'avevo preso da un blog Americano, e l'o modificato con un disattiva e riattiva l'interfaccia all'inizio, ed in fondo i log con l'IP trovato. rho preferito riavviare l'interfaccia perchè avevo anche il problema dei blocchi dei DNS, che poi si sono risolti con un aggiornamento della BTS. Provero anche il tuo scrip. grazie mille.
questo è il mio:
/interface lte disable lte1
/interface lte enable lte1
:delay 5
#
Variables
#
:local currentLocalSiteInterface "lte1"
:local privateRanges {100.0.0.0/8}
:local loopCount 10
#
Script
#
:local hadMatch
:local currentLoop 0
:if ([/interface lte get [/interface lte find name=$currentLocalSiteInterface] running]) do={
do {
:set hadMatch false
:local currentLocalSite [/ip address get [/ip address find interface=$currentLocalSiteInterface] address]
:local currentLocalSiteAddress ([:pick $currentLocalSite 0 [:find $currentLocalSite "/"]] & \
(255.255.255.255 << (32 - [:pick $currentLocalSite ([:find $currentLocalSite "/"] + 1) [:len $currentLocalSite]])))
:foreach privateRange in=$privateRanges do={
:if (([:pick $privateRange 0 [:find $privateRange "/"]] & \
(255.255.255.255 << (32 - [:pick $privateRange ([:find $privateRange "/"] + 1) [:len $privateRange]]))) = \
($currentLocalSiteAddress & (255.255.255.255 << (32 - [:pick $privateRange ([:find $privateRange "/"] + 1) [:len $privateRange]])))) do={
/interface disable $currentLocalSiteInterface
/interface enable $currentLocalSiteInterface
:set hadMatch true
:log error "Fastweb ip address found !!!"
}
}
:set currentLoop ($currentLoop + 1)
:if ($hadMatch) do={
:delay 5
}
} while (($currentLoop < $loopCount) && ($hadMatch))
:local WANIP [/ip address get [find where interface=$currentLocalSiteInterface] address];
:set WANIP [:pick $WANIP 0 ([:len $WANIP]-3) ];
:log warning "Wind IP - $WANIP - Found, OK !"
}