Форум программистов, компьютерный форум, киберфорум
Mikrotik
Войти
Регистрация
Восстановить пароль
 
4044 / 1763 / 206
Регистрация: 06.10.2010
Сообщений: 3,939
1

Балансировка по IP

01.06.2020, 13:24. Просмотров 300. Ответов 15
Метки нет (Все метки)

Имеется такая странная схема сети
Балансировка по IP

Требуется в подсети 1 сделать балансировку нагрузки интернета по 2 внешним IP (40Mb+20Mb). Подсеть 2 должна получать интернет через третий внешний IP (20 Mb).

В мануале балансировка происходит по интерфейсам, а у меня интернет заходит через 1 интерфейс и нужно балансировать по IP. Не понимаю как маркировать трафик в этом случае. Если просто задать 3 шлюза на одном интерфейсе ходит только по первому адресу из списка, остальные шлюзы становятся неактивными.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
01.06.2020, 13:24
Ответы с готовыми решениями:

Балансировка дерева
Доброго времени суток. Имеется дерево бинарного поиска. Нужно узнать, есть ли возможность...

Балансировка игроков
Здравствуйте. Начинал изучение этого языка программирования и решил сделать для себя задачку, но я...

Балансировка DNS
Добрый день, форумчане. Такой вопрос. Имеется 2 ПК, на обоих установлен "защищенный" Suse, на одном...

Балансировка (ECMP)
Доброго времени суток. Пытаюсь настроить микротик с балансировкой канала по ECMP. Есть 2...

15
Эксперт по компьютерным сетям
2906 / 1618 / 352
Регистрация: 17.10.2015
Сообщений: 7,027
01.06.2020, 13:44 2
Цитата Сообщение от murderer Посмотреть сообщение
Не понимаю как маркировать трафик в этом случае.
можно и не маркировать
Цитата Сообщение от murderer Посмотреть сообщение
Если просто задать 3 шлюза на одном интерфейсе ходит только по первому адресу из списка
угу, с наименьшим distance. Больше одного шлюза по умолчанию ведь не может быть.
Цитата Сообщение от murderer Посмотреть сообщение
остальные шлюзы становятся неактивными.
они не неактивны, а по ним просто не идет потребление.

Как я понял, нужно одного клиента пустить по Белый IP 3 ? Тогда rules-ы в помощь...
1) Создать маршрут в тырнет через Белый ip 3 с Routing Mark=isp3
2) В Rpute-Rules создать правило, где src-address={зафиксированный в leasess адрес клиента}, dst-address=0.0.0.0/0 (т.е. тырнет), Action=lookup, Table=isp3
--------------
Кликните здесь для просмотра всего текста
Балансировка по IP

Клиент с адресом 192.168.1.104 будет ходить в тырнет по созданному маршруту (например, с distance=20)
1
4044 / 1763 / 206
Регистрация: 06.10.2010
Сообщений: 3,939
01.06.2020, 13:53  [ТС] 3
они не неактивны, а по ним просто не идет потребление.
Микротика нет под рукой - не могу скинуть скриншот. В общем создаю 3 шлюза, при этом напротив первого пометка AS - active static, напротив других просто S - static.

rules-ы в помощь...
Если там можно указать подсеть то подойдёт.

А как быть с оставшимися двумя линиями? Их нужно балансировать.
0
Эксперт по компьютерным сетям
2906 / 1618 / 352
Регистрация: 17.10.2015
Сообщений: 7,027
01.06.2020, 14:06 4
Цитата Сообщение от murderer Посмотреть сообщение
А как быть с оставшимися двумя линиями? Их нужно балансировать.
ну в тырнете наверняка есть нормальные свежие туториалы по балансировке каналов. Создать access-list=WORK, загнать в него всех, кроме того клиента, который пойдет отдельно по ISP=3. Настройки балансировки применить к этому access-list
0
4044 / 1763 / 206
Регистрация: 06.10.2010
Сообщений: 3,939
01.06.2020, 15:48  [ТС] 5
Я тут подумал - было бы вообще идеально разделить интернет-каналы по адресу назначения. То есть одна группа интернет-порталов должна работать по линии 40 Mb/s, все остальные - по 20 Mb/s. Я конечно могу узнать диапазон адресов для этих порталов и внести их в address-list, но эти ip могут поменяться, а настройка выполняется разово (меня не будет там, чтобы постоянно проверять ip и корректировать address-list). Существует ли способ формировать динамический address-list на основе DNS?
0
Эксперт по компьютерным сетям
2906 / 1618 / 352
Регистрация: 17.10.2015
Сообщений: 7,027
01.06.2020, 15:54 6
Цитата Сообщение от murderer Посмотреть сообщение
Существует ли способ формировать динамический address-list на основе DNS?
ну микротик может формировать access-list на основе DNS. Без проблем
0
4044 / 1763 / 206
Регистрация: 06.10.2010
Сообщений: 3,939
01.06.2020, 16:37  [ТС] 7
Да действительно! Сейчас на домашнем микротике выполнил
Код
/ip firewall address-list add list=list address=google.com timeout=1m
И получил список из нескольких ip. Получается мне нужно написать скрипт для планировщика, который раз в сутки будет пересоздавать address-list?
0
Эксперт по компьютерным сетям
2906 / 1618 / 352
Регистрация: 17.10.2015
Сообщений: 7,027
01.06.2020, 22:05 8
Цитата Сообщение от murderer Посмотреть сообщение
оторый раз в сутки будет пересоздавать address-list?
зачем? созданный address-list будет в реальном времени актуальный.
0
4044 / 1763 / 206
Регистрация: 06.10.2010
Сообщений: 3,939
02.06.2020, 07:15  [ТС] 9
Насколько я понял при выполнении "address-list add" происходит резолвинг DNS-имён в IP-адреса. Далее эти IP-адреса не актуализируются. То есть если IP-адрес портала изменился в address-list`е оставнется старый IP.

Добавлено через 1 минуту
Сейчас читаю это.
В данной статье, в качестве примера будет рассмотрен скрипт, преобразующий DNS-имена в списки IP-адресов (address lists).
Добавлено через 20 минут
Да - в статье описано так, как я и предполагал, даже есть пример статической маршрутизации.
0
Эксперт по компьютерным сетям
2906 / 1618 / 352
Регистрация: 17.10.2015
Сообщений: 7,027
02.06.2020, 08:15 10
Цитата Сообщение от murderer Посмотреть сообщение
Далее эти IP-адреса не актуализируются
с чего Вы взяли? По Вашей статье: Вы хоть смотрите на даты редакции... 2014 год... С тех пор микротик сильно "вырос"
в новых версиях RouterOS (начиная с 6.36) появилась возможность указывать в адрес-листах DNS-имена. Так что теперь ценность данного скрипта лишь образовательная.
DNS-имена резолвятся на время TTL. Да, у меня не было такой необходимости вести списки, но пару раз тестил на предмет запрета доступа к YouTube - Неделю всё работало, ничего не обновлял, никаких систематических резолвов не делал.

Создайте новую тему, а то мы в "сторону ушли".
0
4044 / 1763 / 206
Регистрация: 06.10.2010
Сообщений: 3,939
02.06.2020, 08:45  [ТС] 11
Ну не знаю - вот нашёл статью для версии 6.36 и выше - https://wiki.mikrotik.com/wiki... wall_rules и там так же говорится о необходимости резолва в планировщике:
We need to write a script which parses all the address list entries and resolves the ones which need resolving
Причём там предлагают хранить DNS-имена в комментарии к записи в address-list`е.

DNS-имена резолвятся на время TTL
Можно ссылку офф. документацию? И как происходит разрешение имён - берутся из кэша DNS?

Создайте новую тему, а то мы в "сторону ушли".
Как бы не совсем - всё-таки это относится к балансировке.

Эти порталы, о которых я говорю довольно специфические. Сегодня звонили - сказали, что не могут получить к ним доступ. Посоветовал почистить кэш DNS на компьютере и на микротике - помогло. То есть IP-адреса там меняются довольно-таки часто.
0
Эксперт по компьютерным сетям
2906 / 1618 / 352
Регистрация: 17.10.2015
Сообщений: 7,027
02.06.2020, 10:57 12
Цитата Сообщение от murderer Посмотреть сообщение
как происходит разрешение имён - берутся из кэша DNS?
разрешение имён происходит сперва из кеша, потом от DNS-сервера первичного, потом от вторичного.
Более профессионально я Вам не подскажу. Я имею общее представление. Может коллеги по цеху помогут!?
0
4044 / 1763 / 206
Регистрация: 06.10.2010
Сообщений: 3,939
02.06.2020, 16:10  [ТС] 13
Сейчас экспериментировал со скриптами и нашёл баг (или фичу): в общем микротик не может резолвить имя "eisz.kz".
Например:
Код
[admin@MikroTik] >> ping eisz.kz
invalid value for argument address:
    invalid value of mac-address, mac address required
    invalid value for argument ipv6-address
    failure: dns name exists, but no appropriate record
Еще пример - создаём скрипт:
Код
log info [:resolve "eisz.kz"]
Выполняем
Код
[admin@MikroTik] >> /system script run script1  
failure: dns name exists, but no appropriate record
Имя "www.eisz.kz" разрешается нормально так же как и "google.com" или "mail.ru".

Я всё же думаю, что это не баг, но не понимаю как это работает.

P.S.
А вот в коде из вики есть баг - resolve нужно выполнять перед if. Но в общем скрипт рабочий - буду делать маршрутизацию на нём.
0
4044 / 1763 / 206
Регистрация: 06.10.2010
Сообщений: 3,939
06.06.2020, 09:06  [ТС] 14
К сожалению при указании Routing mark на маршруте через него перестаёт идти трафик. Пробовал и через Filter rules и через Mark Routing (в src adress указывал как подсеть 192.168.1.0/24 так и отдельный адрес). В качестве метки пробовал указывать как текстовые значения так и числовые.

Причём не работает даже если оставить только один маршрут с указанием routing mark, и промаркировать весь трафик для исходящего интерфейса этой меткой. Сам факт указания метки на маршруте делает его "непроходимым". Версия RouterOS 6.45.9.

Добавлено через 5 минут
"Filter rules" читать как "ip routes rules" - опечатка

Добавлено через 2 часа 10 минут
Забыл добавить - на домашнем микротике 6.46.5 таких приколов нет, всё работает как и должно хоть с маркировкой хоть через Rules.

В общем создал маршрут с 3 шлюзами, подключил микротик к провайдерскому коммутатору 3 кабелями (благо рядом было 3 розетки). Теперь при запуске например торрента видно, что трафик балансируется по 3 интерфейсам. Наверное нужно было попробовать netinstall, чтобы починить routing mak, но я уже не хочу с этим заморачиваться.
0
Эксперт по компьютерным сетям
7128 / 4766 / 1104
Регистрация: 25.12.2012
Сообщений: 20,091
06.06.2020, 09:11 15
murderer, а прошивку 6.45.9 не получается обновить до 6.46.5 как минимум?
6.45.9 long term?


Последняя stable, кстати, 6.47
0
4044 / 1763 / 206
Регистрация: 06.10.2010
Сообщений: 3,939
06.06.2020, 10:42  [ТС] 16
Да - перед настройкой обновил до 6.45.9 именно потому, что long term (подумал, что будет надёжнее), firmware тоже обновил. Предистория: раньше работал в той организации и году в 2014 уже делал балансировку PCC без проблем по официальному мануалу от микротика. Сейчас провайдер поменялся - попросили придти перенастроить микротик. Часа 2 помучался с маркировкой трафика, ничего не понял и создал эту тему на форуме. Сегодня была вторая попытка.

Теперь после экспериментов на домашнем hapAC понимаю, что проблема не во мне. Я не думаю, что какой-то баг в версии - наверное просто эта версия не ставится поверх той, что была раньше (6.23 кажется). Короче если новых глюков не всплывёт - оставлю как есть. Если снова позвонят с какими-то не понятными глюками - сделаю netinstall. Да кстати там ещё в лог постоянно сыпется "arp conflict", ну х.з я подумал, что просто нужно обесточить все коммутаторы по зданию для обновления arp-таблиц, но возможности такой не было.
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
06.06.2020, 10:42

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

Балансировка дерева
Как сделать балансировку бинарного дерева поиска? template <class T, class I> class node {...

Балансировка двоичного дерева
В файле дана последовательность целых чисел. Построить из них двоичное дерево поиска . Разработать...

Балансировка нагрузки на HDD
Доброго времени суток друзья. Моя проблема очень проста, но найти решения я не могу. Есть...

Балансировка бинарного дерева
Попалась одна на вид простая задача. Код написал, но не проходит 10 тестов из 40. Лидеру команды...

Балансировка АВЛ-дерева
Доброй ночи, пытаюсь написать балансировку дерева, нашел статью с примерами, но дерево не...

Балансировка и масштабирование матриц
В общем тема не моя, а знакомая поиском и форумом не умеет пользоваться. Как я ее понял тема из...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
16
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2020, vBulletin Solutions, Inc.