Помогите настроить резервирование канала

Обсуждение оборудования и его настройки
k790i
Сообщения: 15
Зарегистрирован: 27 авг 2013, 20:21

vqd писал(а):Что странного?

почему не пингует гугловский днс 8.8.4.4
соответственно, не происходит обратного переключения на gw1


vqd
Модератор
Сообщения: 3605
Зарегистрирован: 26 сен 2013, 14:20
Откуда: НСК
Контактная информация:

Ну так ищите причину почему у вас с тика не пингуется 8.8.4.4


Есть интересная задача и бюджет? http://mikrotik.site
k790i
Сообщения: 15
Зарегистрирован: 27 авг 2013, 20:21

vqd писал(а):Ну так ищите причину почему у вас с тика не пингуется 8.8.4.4


все разобрался, в условии написано, что один из шлюзов был disabled, тогда переключает.


k790i
Сообщения: 15
Зарегистрирован: 27 авг 2013, 20:21

всем спасибо


k790i
Сообщения: 15
Зарегистрирован: 27 авг 2013, 20:21

Все таки не совсем получается, если реально пропадает интернет на одном из каналов - переключает, но не хочет возвращаться на основной канал

Модифицированный скрипт:

#WAN2 - gw1, WAN1 - gw2

Код: Выделить всё

:local PingCount 3;

       :local CheckIp1 8.8.8.8;
       :local CheckIp2 8.8.4.4;
       :local isp1 [/ping  interface=WAN1 $CheckIp1 count=$PingCount];
       :local isp2 [/ping   interface=WAN2 $CheckIp2 count=$PingCount];

       :if (($isp2=0) && ($isp1=$PingCount))  do={

       :log warning "Set routes to gw2";
       /ip route set [/ip route find comment="gw1"] distance=2;
       /ip route set [/ip route find comment="gw2"] distance=1;
       } else={
       :log warning "Set routes to gw1";
       /ip route set [/ip route find comment="gw1"] distance=1;
       /ip route set [/ip route find comment="gw2"] distance=2;
       }


после переключения на резервный канал почему то пропадает пинг от основного провайдера, если переключен на резервный - то пинги идут с обоих, почему так?


vqd
Модератор
Сообщения: 3605
Зарегистрирован: 26 сен 2013, 14:20
Откуда: НСК
Контактная информация:

Код: Выделить всё

:global smtp [:resolve  mail.nic.ru]
:global user "xxxxx"
:global pasw "MikroTik2013"
:global sendto "xxxxx"
:global testPrim
:global testRez
:global testPrimOld
:global testRezOld

/tool e-mail set address=$smtp user=$user password=$pasw from=$user
:global yandexprim [ping [resolve ya.ru] count=3 routing-table=wan_prim interface=WAN_prim]
:global googleprim [ping 8.8.8.8 count=3 routing-table=wan_prim interface=WAN_prim]

:global yandexrez [ping [resolve ya.ru] count=3 routing-table=wan_rez interface=WAN_rez]
:global googlerez [ping 8.8.8.8 count=3 routing-table=wan_rez interface=WAN_rez]

if (($googleprim + $yandexprim) != 0) do={:set testPrim true} else={:set testPrim false}
if (($googlerez  + $yandexrez ) != 0)  do={:set testRez true} else={:set testRez false}


if (($testPrim = false) && ($testPrim != $testPrimOld)) do={
/ip route disable [/ip route find comment="Prim"];
/tool e-mail send to=$sendto subject="WARNING mikrotik!" body="Prim chanel is DOWN!!";
/log warning "Prim chanel is DOWN!!";

}

if (($testPrim = true)  && ($testPrim != $testPrimOld))  do={
/ip route set enable [/ip route find comment="Prim"];
/tool e-mail send to=$sendto subject="mikrotik" body="Prim chanel is UP!";
/log warning "Prim chanel is UP!";
}

if (($testRez = false)  && ($testRez != $testRezOld))  do={
/tool e-mail send to=$sendto subject="WARNING mikrotik" body="Rez chanel is DOWN!!";
/log warning "Rez chanel is DOWN!!";
}

if (($testRez = true)  && ($testRez != $testRezOld))  do={
/tool e-mail send to=$sendto subject="mikrotik" body="Rez chanel is UP!";
/log warning "Rez chanel is UP!";

}

:set testRezOld $testRez 
:set testPrimOld $testPrim 


Есть интересная задача и бюджет? http://mikrotik.site
k790i
Сообщения: 15
Зарегистрирован: 27 авг 2013, 20:21

1.У меня первый вариант был примерно таким, а может через disabled route идти пинг?

2.меня мой скрипт последний впринципе устраивает, кроме одного что постоянно пишет в лог и меняет distance , а как получить значение distance у маршрута?

3.только не понятно почему все таки через одного из провайдеров не идет пинг
:local isp1 [/ping interface=WAN1 $CheckIp1 count=$PingCount];
когда distance у него 2


vqd
Модератор
Сообщения: 3605
Зарегистрирован: 26 сен 2013, 14:20
Откуда: НСК
Контактная информация:

1. нет
2. :put [/ip route get [find comment=test] distance]
3. Потому что трафик идет через маршрут с меньшей дистанцией


Есть интересная задача и бюджет? http://mikrotik.site
k790i
Сообщения: 15
Зарегистрирован: 27 авг 2013, 20:21

vqd писал(а):1. нет
2. :put [/ip route get [find comment=test] distance]
3. Потому что трафик идет через маршрут с меньшей дистанцией


1.а как же будет получен пинг :global yandexprim [ping [resolve ya.ru] count=3 routing-table=wan_prim interface=WAN_prim] если WAN_prim disable
извините за глупый вопрос. :smu:sche_nie:
2.спасибо
3.а почему со вторым провайдером такого не происходит? через него пинг идет всегда независимо от distance?


vqd
Модератор
Сообщения: 3605
Зарегистрирован: 26 сен 2013, 14:20
Откуда: НСК
Контактная информация:

1. Потому что маршруты обоих операторов отмаркированны и работают не зависимо

Код: Выделить всё

 0 A S  dst-address=0.0.0.0/0 gateway=195.239.xxx.xxx gateway-status=195.239.xxx.xxx reachable via  WAN_prim distance=1 scope=30 target-scope=10 routing-mark=wan_prim 

 1 A S  dst-address=0.0.0.0/0 gateway=195.162.xxx.xxx gateway-status=195.162.xxx.xxx reachable via  WAN_rez distance=1 scope=30 target-scope=10 routing-mark=wan_rez


3. Смотрите таблицу маршрутизации


Есть интересная задача и бюджет? http://mikrotik.site
Ответить