Допустим мы настроили шифрованный L2TP тунель с IPsec к VDS, но ip нашего провайдера может изменится, тогда политики IPsec станут не рабочими. Предлагаю использовать следующий скрипт.
Где:
pass — это комментарий нашей политики
ISP2 — наш интерфейс с интернет соединением
:global ipsecold [ /ip ipsec policy get [find comment="pass"] sa-src-address] :global ipsecoldsa [ /ip ipsec policy get [find comment="pass"] src-address] :global ipsec [ /ip address get [find interface="ISP2"] address ] :for i from=( [:len $ipsec] - 1) to=0 do={ :if ( [:pick $ipsec $i] = "/") do={ :set ipsec [:pick $ipsec 0 $i]; } } :global ipsecsa ([:pick "$ipsec" 0 ([:len $ipsec] - 0)]."/32") :if ($ipsecoldsa != $ipsecsa) do={ /ip ipsec policy set [find comment="pass"] src-address=$ipsecsa sa-src-address=$ipsec; }