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

Переключение на второй канал интернета, при больших потерях.

Добавлено: 26 дек 2013, 15:41
alexanderx10
У меня MikroTik RB2011UAS-2HnD-IN. К которому я хочу подключить два канала интернета.

Тех задача такая:

1. Сделать автоматичекое переключение с первого провайдера на второго при обрыве связи, и автоматичекое переключение обратно.
2. Сделать автоматичекое переключение с первого провайдера на второго при появление потерь пакетов. К примеру в течении 1 минуты, при пинге на ya.ru потери составили 10 процентов от отправленых пакетов, и автоматичекое переключение обратно.
3. Сделать автоматичекое переключение с первого провайдера на второго при появление больших задержке. К примеру в течении 1 минуты, при пинге на ya.ru задержки составили 800 - 2000 мс, и автоматичекое переключение обратно.

С микротиком, я познакомился недавно. Первый пункт я загуглю и настрою, а со вторым пунктом есть сложности, так как инфы по настройке не нашел. Ну за третий пункт я вообже молчу )))). Для меня очень критичен второй пункт. За помощь буду благодарен.

Re: Переключение на второй канал интернета, при больших поте

Добавлено: 26 дек 2013, 15:45
vqd
Скрипт нужен. Поищите тут. Были уже готовые. Коэффициент подправите и будет работать

Re: Переключение на второй канал интернета, при больших поте

Добавлено: 26 дек 2013, 16:33
podarok66
По первому и второму вот Вам ссылочка
Там правда всё рассчитано на переключение при потерях более 1/3 пакетов. Ну да перепишете, если нужно.
По третьему, о больших таймингах не думал как-то, еще не представляю, как их отслеживать.

Re: Переключение на второй канал интернета, при больших поте

Добавлено: 26 дек 2013, 18:03
wolf_ktl
podarok66 писал(а):По первому и второму вот Вам ссылочка
Там правда всё рассчитано на переключение при потерях более 1/3 пакетов. Ну да перепишете, если нужно.
По третьему, о больших таймингах не думал как-то, еще не представляю, как их отслеживать.



И так мне кажется я нашел решение третьего вопроса

:local PingCount 3
:global MainIf SmartIntel
#google dns
:local PingTarget2 "мой сервер условно"
:local PingTarget3 8.8.8.8
:local PingResult3 [/ping $PingTarget3 count=$PingCount interface=$MainIf interval=20ms]
:local PingResult2 [/ping $PingTarget2 count=$PingCount interface=$MainIf interval=20ms]
log info "packet google $PingResult3 "
log info "packet server $PingResult2 "
log info "Switch to main internet connection"


и так я знаю, что до гугля у меня 30 мелесекунд задержка
а до сервака 17

в итоге я полуил ответ

packet google 0
packet server 2

что следует что пинги не дошли до гугля т.к задержки больше, чем положено

из этого можно выбрать interval=70ms что будет означать явно задержу..

навеяла статья http://www.mikrotik.com/testdocs/ros/2.9/root/ping.php

Example of ping command

An example of Ping command:

/pi 159.148.95.16 count=5 interval=500ms
159.148.95.16 64 byte ping: ttl=59 time=21 ms
159.148.95.16 ping timeout
159.148.95.16 ping timeout
159.148.95.16 ping timeout
159.148.95.16 64 byte ping: ttl=59 time=16 ms
5 packets transmitted, 2 packets received, 60% packet loss
round-trip min/avg/max = 16/18.5/21 ms

Re: Переключение на второй канал интернета, при больших поте

Добавлено: 26 дек 2013, 18:17
vqd
Можно и так
/tool ping-speed 8.8.8.8 do={:if ($"current" < 200000) do= {/log info "Ahtynge!!!"} }

Re: Переключение на второй канал интернета, при больших поте

Добавлено: 26 дек 2013, 19:29
podarok66
vqd писал(а):Можно и так
/tool ping-speed 8.8.8.8 do={:if ($"current" < 200000) do= {/log info "Ahtynge!!!"} }


В ответ получаю в терминале такую картину:

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

 /tool ping-speed 8.8.8.8 do={:if ($"current" < 
200000) do= {/log info "Ahtynge!!!"} }
  current: 13.1Mbps
  average: 8.5Mbps

Это что получается, замеры скорости на порту?

Re: Переключение на второй канал интернета, при больших поте

Добавлено: 26 дек 2013, 19:43
podarok66
To wolf_ktl:
Вообще-то всё верно получается. Мы выставляем максимальный порог, после которого железка перестаёт ждать ответа на запрос и посылает следующий. То есть и ответ на третий вопрос можно включить в тот же скрипт, просто добавив параметр interval с максимально допустимым значением пинга. Превышение времени ответа ведет в срабатыванию условия и запуску переключения на вторую линию.
Спасибо за идею, надо бы попробовать. Но у меня нет двух подключенных линий.
Поэтому предлагаю этим заняться ТС. Тема практически разжевана, осталось поправить скрипт под себя, протестировать и обнародовать результат. Желательно готовый скрипт показать народу, если не жалко :hi_hi_hi:

Re: Переключение на второй канал интернета, при больших поте

Добавлено: 26 дек 2013, 19:48
vqd
Тут готовых решений как минимум пара есть

Re: Переключение на второй канал интернета, при больших поте

Добавлено: 26 дек 2013, 19:55
alexanderx10
Большое спасибо что откликнулись на проблему. Эксперемент буду проводить в субботу. Я заменю свой Draytek Vigor 2920, на микротик. Менять буду потому что микротик более гибко настраиваемый ))))

Второй пункт мне много крови попил. Место подключения находится далеко, и когда начинаются проблемы с инетом (потери), работать просто не возможно. Приходится просить юзеров выдергивать один канал интернета, чтобы нормально завелся второй.

Re: Переключение на второй канал интернета, при больших поте

Добавлено: 26 дек 2013, 20:01
wolf_ktl
vqd писал(а):Можно и так
/tool ping-speed 8.8.8.8 do={:if ($"current" < 200000) do= {/log info "Ahtynge!!!"} }



Да он покажет реальную скорость.. но пинг может быть 8 мс а скорость 8 Мбит/с а может быть 30 мс а скорость 60Мбит/с

)))