Страница 1 из 1

Скрипт переподключения к VPN серевру

Добавлено: 30 май 2014, 12:08
wolf_ktl
1

Re: Скрипт переподключения к VPN серевру

Добавлено: 30 май 2014, 12:10
wolf_ktl
wolf_ktl писал(а):Скрипт переподключения к VPN серверу у которого нет внешнего постоянного IP ну или есть.

Скрипт пингует по двум ip сервер и выбирает лучший из них
Скрипт можно запускать хоть каждую минуту

dnsname1 - доменное имя для первого канала интернета
dnsname2 - доменное имя для второго канала интернета

 "reconnect pin vpn client script v 2.0 aka Wolf_KTL 2014"
# reconnect pin vpn client script v 2.0
# aka Wolf[KTL] 2014

:local PingCount 3
/ip dns cache flush
#google dns
:local dnsname1 "*****"
:local dnsname2 "******"

:local PingTarget1 [:resolve $dnsname1];
:local PingTarget2 [:resolve $dnsname2];

log info "*********** START VPN CLIENT SCRIPT ************** "
:local PingResult1 [/ping $PingTarget1 count=$PingCount]
:local PingResult2 [/ping $PingTarget2 count=$PingCount]
log info "Rusul ping"
log info "good packet $dnsname1 $PingResult1 "
log info "good packet $dnsname2 $PingResult2 "
:local tempip [/interface l2tp-client get [/interface l2tp-client find name="l2tp-office"] connect-to];
:log info "Tekushiy VPN $tempip";

#Esli pingi pervovo lus4she 4em vtorovo
:if ($PingResult1>$PingResult2) do={
log info "The Best $dnsname1"

:if ($PingTarget1 != $tempip) do={

:log info "Menyaem IP adress server VPN"
:log info "$dnsname1 $PingTarget1"
/int l2tp-client set l2tp-office connect-to=$PingTarget1
} else {
:log info "Menyat IP adress server VPN ne nado"
}
}

#Esli pingi ravni
:if ($PingResult1=$PingResult2) do={
log info "The Best $dnsname1"

:if ($PingTarget1 != $tempip) do={
:log info "Menyaem IP adress server VPN"
:log info "$dnsname1 $PingTarget1"
/int l2tp-client set l2tp-office connect-to=$PingTarget1
} else {
:log info "Menyat IP adress server VPN ne nado"
}

}


#Esli pingi vtorovo lus4she 4em pervogo
:if ($PingResult1<$PingResult2) do={
log info "The Best $dnsname2"
:if ($PingTarget2 != $tempip) do={
:log info "Menyaem IP adress server VPN"
:log info "$dnsname2 $PingTarget2"
/int l2tp-client set l2tp-office connect-to=$PingTarget2

} else {
:log info "Menyat IP adress server VPN ne nado"
}
}
log info "*** End script VPN CLIENT SCRIPT *****"