Please, to make it less extensive, can this condition be replaced by a query in a list of addresses?
Code: Select all
:if ( !( ($logIp~"^86.127.") or ($logIp~"^79.116.") or ($logIp~"^192.168.") ) ) do={
# Action
}
:if ( !( ($logIp~"^86.127.") or ($logIp~"^79.116.") or ($logIp~"^192.168.") ) ) do={
# Action
}
/ip firewall address-list
add address=79.116.0.0/16 list=checklist
add address=86.127.0.0/16 list=checklist
add address=192.168.0.0/16 list=checklist
:local logIp 86.127.55.66
:if ([:len [find where list=checklist and (($logIp in $address) or ($logIp = $address))]] > 0) do={
:put "$logIp found inside one, or more, address pool in checklist"
}
:local logIp ""
:if ($logMessage~$message1) do={
:set logIp [:toip [:pick $logMessage 0 [:find $logMessage " "]]]
:if ( !( ($logIp~"^86.127.") or ($logIp~"^79.116.") or ($logIp~"^192.168.") or ($logIp~"^188.26.")) ) do={
:if ([:len [/ip fire addr find where address=$logIp]] < 1) do={
/ip fire addr add address=$logIp list="Blacklist" timeout=7d
:log error message="IPSEC failed: add $logIp to blacklist because negotiation failed"
# START Send Telegram Module
:local MessageText "\E2\9A\A0 $DeviceName: $logIp added to blacklist because negotiation IPSEC failed."
:local SendTelegramMessage [:parse [/system script get MyTGBotSendMessage source]]
$SendTelegramMessage MessageText=$MessageText
# END Send Telegram Module
}
}
}
:local logIp ""
:if ($logMessage~$message1) do={
:set logIp [:toip [:pick $logMessage 0 [:find $logMessage " "]]]
/ip firewall address-list
:if ([:len [find where list=checklist and (($logIp in $address) or ($logIp = $address))]] = 0) do={
:if ([:len [/ip fire addr find where address=$logIp]] < 1) do={
/ip fire addr add address=$logIp list="Blacklist" timeout=7d
:log error message="IPSEC failed: add $logIp to blacklist because negotiation failed"
# START Send Telegram Module
:local MessageText "\E2\9A\A0 $DeviceName: $logIp added to blacklist because negotiation IPSEC failed."
:local SendTelegramMessage [:parse [/system script get MyTGBotSendMessage source]]
$SendTelegramMessage MessageText=$MessageText
# END Send Telegram Module
}
}
}