Stránka 1 z 1

Převod dynamického adres listu na statický zabíjí timeout

Napsal: 09 Feb 2015 11:55
od fblaha
V určitých intervalech spouštím na MKT script, který mi převádí dynamicky zadané položky v address listech na statické. Dynamické se totiž při restartu systému smažou, zatímco statické přetrvávají.

Používám k tomu tento script

Kód: Vybrat vše

:local comment
:local address
:local list
:local disabled

/ip firewall address-list
:foreach a in=[find] do={
   :if ([get $a dynamic] = true) do={
      :set comment [get $a comment]
      :set address [get $a address]
      :set list [get $a list]
      :set disabled [get $a disabled]
      remove $a
      add address=$address list=$list comment=$comment disabled=$disabled
   }
}


Přiznávám, že jsem ho nevytvořil, ale kdesi vyhrabal na netu. Bohužel mi ale tento script při převodu smaže nastavený timeout u dynamických položek, kde je timeout nastavený.
Nemohl byste mi prosím někdo s tímto scriptem pomoc a upravit jej? Bohužel můj amatérský pokus upravit script tímto způsobem se míjí účinkem:

Kód: Vybrat vše

:local comment
:local address
:local list
:local disabled
:local timeout

/ip firewall address-list
:foreach a in=[find] do={
   :if ([get $a dynamic] = true) do={
      :set comment [get $a comment]
      :set address [get $a address]
      :set list [get $a list]
      :set timeout [get $a timeout]
      :set disabled [get $a disabled]
      remove $a
      add address=$address list=$list comment=$comment disabled=$disabled timeout=$timeout
   }
}



Děkuji

Re: Převod dynamického adres listu na statický zabíjí timeout

Napsal: 09 Feb 2015 13:24
od fblaha
Ještě bych si dovoli opravu svého příspěvku a postavení do jiné roviny.
Zjistil jsem, že statický záznam v address listu se stane dynamickým, jakmile mu změním timeout ,,prázdného" na jakoukoliv hodnotu. To má svoji logiku.
Takže možná by měl můj dotaz a prosba znít takto:

Mohl by mi někdo prosím pomoci s mým scriptem, aby mi převádět na statické pouze ty dynamické záznamy u kterých není definovaný timeout?

Kód: Vybrat vše

local comment
:local address
:local list
:local disabled

/ip firewall address-list
:foreach a in=[find] do={
   :if ([get $a dynamic] = true) do={
      :set comment [get $a comment]
      :set address [get $a address]
      :set list [get $a list]
      :set disabled [get $a disabled]
      remove $a
      add address=$address list=$list comment=$comment disabled=$disabled
   }
}


Mám totiž dva typy dynamicky přidávaných záznamů do address listu.Jedny s timeoutem a druhé bez timeoutu. A o ty druhé bych nerad přicházel kvůli restartu.
Děkuji