[главная] | [каталоги]
0
создан: 2024-12-19 11:11:40
пользователь: cloud раздел: mikrotik
[92]
mikrotik script reload ip get set put wireguard
скрпит изменения ип адреса для соединения пира для впн wireguard. например к вашему серверу подключаются через ип адрес cloud'a микротика, а он бывает что иногда отваливается. у вас есть 1 или 2 статических ип адреса, куда можно переподключиться, для этого нужен скрипт и проверку/пинговку ип адреса в планировщике по желанию каждые 1-20 минут. покажу свой пример, в имени i.domain.ru мы имеем cloud имя нашего микротик ...sn.mynetname.net
а ip2.domain.ru и ip3.domain.ru - наша статика, их может быть сколько угодно, просто донастраиваете сам скрипт, можете указать одну статику, ip3 вам не нужен.
сам скрипт:
[code]:local ip0 [/interface/wireguard/peers/get value-name=endpoint-address number=0];
:local ip1 i.domain.ru;
:local ip2 ip2.domain.ru;
:local ip3 ip3.domain.ru;
:local ping1 [/ping $ip1 count=2];
:local ping2 [/ping $ip2 count=2];
:local ping3 [/ping $ip3 count=2];
# :put "ping1=$ping1";
# :put "ping2=$ping2";
# :put "ping3=$ping3";
:local newIP 0;
:if ($ping1>0 && $ip0 != $ip1) do={
:set newIP $ip1
}
:if ($ping1=0 && $ping2>0 && $ip0 != $ip2) do={
:set newIP $ip2
}
:if ($ping1=0 && $ping2=0 && $ping3>0 && $ip0 != $ip3) do={
:set newIP $ip3
}
:if ($newIP != 0) do={
# :put "go $newIP"
/interface/wireguard/peers/set [find name=peer1] endpoint-address=$newIP
/interface/wireguard/peers/set [find name=peer2] endpoint-address=$newIP
/interface/wireguard/peers/disable [find name=peer1]
/interface/wireguard/peers/disable [find name=peer2]
/interface/wireguard/peers/enable [find ...
загрузить
ещё
ещё