SergKz Опубликовано 2 июня, 2015 · Жалоба Есть два каналы между двумя точками. Частично через кабели/оптику/коммутаторы, частично по воздуху (Ubiquiti). Оборудование Ubiquiti разных серий причём. Приходят в итоге на два интерфейса линуксового шлюза с одной стороны и два интерфейса микротика с другой. Вопрос: как грамотно их объединить, чтобы для "прикладного" трафика у них был общий IP адрес с каждой стороны? Требования: 1. Отказоустойчивость: выход из строя любого канала из двух не должен приводить к потере связи. 2. Объединение полосы пропускания каналов в нормальном режиме. 3. Сохранение хождения IP по каждому из "субканалов" (ВАЖНО!!!) - необходимо для мониторинга и управления активным оборудованием по каждой ветке. Что было испробовано: 1. Первое приходящее в голову - Bonding (Link Aggregation). Испытано в разных режимах (active-backup, balanmce-tlb, balance-alb, 802.3 ad). Работает, но только в режиме ARP мониторинга -раз, и при этом в каждом отдельном канале хождение IP прекращается - два. К тому же в половине режимов какие-то необъяснимые потери до 60% (??!!) 2. Статическая маршрутизация с равными весами. Испытано, работать работает, но отказоустойчивость никакая, поскольку удалить маршрут из таблицы при потере связи не получается - линк ведь на интерфейсе роутера/шлюза не теряется! Не подходит. 3. Динамическая маршрутизация. После курения мануалов по микротику и quagga выяснилось, что единственный реально подходящий под задачу протокол динамической маршрутизации - цисковский EIGRP, которого ни на том ни на другом устройстве нет. У остальных с распределением нагрузки большие заморочки. 4. PPP(oE) Multilink Не пробовалось. Напрягает неизбежное уменьшение MTU, хотя в итоге возможно так и придётся сделать. 5. Самописанный скрипт а-ля Cisco SLA, тестирующий доступность второго конца каждого канала и корректирующий маршруты. Возможно и это попробую. Что подскажет "всезнающий All"? Есть готовые рецепты? ну кроме "купить циску на каждую сторону и запустить EIGRP"? Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
GrandPr1de Опубликовано 2 июня, 2015 · Жалоба 3. Динамическая маршрутизация. ospf и равные веса на линках 1. Первое приходящее в голову - Bonding (Link Aggregation). lacp + source-dest ip balancing Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
zhenya` Опубликовано 2 июня, 2015 · Жалоба Оспф. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
Artur-t Опубликовано 2 июня, 2015 · Жалоба Очень плохо курили мануалы. Ospf решает задачу элементарно. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
SergKz Опубликовано 2 июня, 2015 · Жалоба Оспф. А он справится, если ширина каналов разная? 24 мегабита и 40 мегабит. 3. Динамическая маршрутизация. ospf и равные веса на линках 1. Первое приходящее в голову - Bonding (Link Aggregation). lacp + source-dest ip balancing Второй вариант с LACP, как уже упоминал, отключает хождение IP по индивидуальным каналам. А оно нужно. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
Saab95 Опубликовано 2 июня, 2015 · Жалоба А он справится, если ширина каналов разная? 24 мегабита и 40 мегабит. Справится, настраиваете BFD на 0.1 секунду, в случае перегруза одного канала маршрут через него автоматически отключится и все побежит по второму, как только нагрузка спадет, канал восстановится, так и будут они работать в режимах постоянного дисконнекта. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
zhenya` Опубликовано 2 июня, 2015 · Жалоба Варварский метод в случае появления берстов. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
dIMbI4 Опубликовано 2 июня, 2015 · Жалоба Делай оспф Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
furai Опубликовано 2 июня, 2015 · Жалоба SergKz, для каналов разной ширины есть такой трюк: в вашем случае кидаем 3 вилана на 24х мегабитном линке и 5 в сорокамегабитном. Делаем в каждом вилане ospf, bgp или что-то еще с одинаковыми весами/локалпрефами и т.д., не забывая multipath. Это конечно костыль, но наименее дурацкий из всех имхо ) Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
Artur-t Опубликовано 3 июня, 2015 (изменено) · Жалоба Вообще самое не кастыльное и правельное решение это TE. Делаете 2 тунеля по разным путям а дальше статикой балансите как душе угодно. http://mum.mikrotik.com/presentations/US11/us11-megis-lb.pdf (стр. 30) Если делать только через OSPF в голову приходит только 1 идея. Делаете 2 ospf инстанса и анонсируете 2 лупбэка (в каждом инстансе 1 линк + свой лупбэк). А дальше самое веселое :) Выставляем scope на 2 лупбэка. routing filter add action=accept set-scope=41 chain=ospf-i1-in pref=x.x.x.x/32 routing filter add action=accept set-scope=41 chain=ospf-i2-in pref=y.y.y.y/32 Дальше просто прописывает нужные подсети в эти лупбэки. что-то вроде: 10.0.0.0/24 via x.x.x.x 10.0.0.0/24 via x.x.x.x 10.0.0.0/24 via y.y.y.y Если 1 линк дохнет то рекурсивный маршрут просто пропадет из-за привил роут фильтра. Но TE красивее в данном случае :) Изменено 3 июня, 2015 пользователем Artur-t Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
SergKz Опубликовано 3 июня, 2015 · Жалоба Вообще самое не кастыльное и правельное решение это TE. Делаете 2 тунеля по разным путям а дальше статикой балансите как душе угодно. http://mum.mikrotik.com/presentations/US11/us11-megis-lb.pdf (стр. 30) У меня микротик только с одной стороны, с другой Linux. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
rdntw Опубликовано 3 июня, 2015 · Жалоба Вообще самое не кастыльное и правельное решение это TE. Делаете 2 тунеля по разным путям а дальше статикой балансите как душе угодно. TE на микротике??? Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
Artur-t Опубликовано 3 июня, 2015 · Жалоба rdntw Ну я не слово не писал про стабильность :) я написал что это самое красивое решение в данной ситуации. Я лично не тестил как TE работает на микротике. А так для данной схемы от ТЕ нужен самый базовый функционал, так что существует вероятность, что MT без проблем вытянет. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...