Маршрутизация и балансировка каналов между офисами
Правила форума
Убедительная просьба юзать теги [code] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
Убедительная просьба юзать теги [code] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
-
- проходил мимо
- Сообщения: 7
- Зарегистрирован: 2010-10-11 7:50:20
Маршрутизация и балансировка каналов между офисами
Есть 2 офиса у каждого по два выхода в интернет
1 офис - 192.168.0.0/24
2 офис - 192.168.1.0/24
Средствами openvpn сделаны 2 туннеля между офисами.
Вообщем вот рисунок, чтобы понятнее было Задача: Сделать балансировку между туннелями офисов
из офиса 1
ip route add 192.168.1.0/24 via 10.0.0.2
ip route add 192.168.1.0/24 via 10.0.1.2
из офиса 2
ip route add 192.168.0.0/24 via 10.0.0.1
ip route add 192.168.0.0/24 via 10.0.1.1
ip route list Видно что маршруты с одинаковыми весами с обоих сторон.
Но возникает проблема с кэшированием маршрутов
Т.е вижу что пакет ушел с одного интерфейса, но не хочет приниматься другого интерфейса
В циске это отключается no ip route-cache
А как это отклчюить в linux например в Ubuntu?
Единственный вижу вариант, это в cron добавить строчку ip route flush cache
Был ли у кого подобный опыт с балансировкой
1 офис - 192.168.0.0/24
2 офис - 192.168.1.0/24
Средствами openvpn сделаны 2 туннеля между офисами.
Вообщем вот рисунок, чтобы понятнее было Задача: Сделать балансировку между туннелями офисов
из офиса 1
ip route add 192.168.1.0/24 via 10.0.0.2
ip route add 192.168.1.0/24 via 10.0.1.2
из офиса 2
ip route add 192.168.0.0/24 via 10.0.0.1
ip route add 192.168.0.0/24 via 10.0.1.1
ip route list Видно что маршруты с одинаковыми весами с обоих сторон.
Но возникает проблема с кэшированием маршрутов
Т.е вижу что пакет ушел с одного интерфейса, но не хочет приниматься другого интерфейса
В циске это отключается no ip route-cache
А как это отклчюить в linux например в Ubuntu?
Единственный вижу вариант, это в cron добавить строчку ip route flush cache
Был ли у кого подобный опыт с балансировкой
Услуги хостинговой компании Host-Food.ru
Тарифы на хостинг в России, от 12 рублей: https://www.host-food.ru/tariffs/hosting/
Тарифы на виртуальные сервера (VPS/VDS/KVM) в РФ, от 189 руб.: https://www.host-food.ru/tariffs/virtualny-server-vps/
Выделенные сервера, Россия, Москва, от 2000 рублей (HP Proliant G5, Intel Xeon E5430 (2.66GHz, Quad-Core, 12Mb), 8Gb RAM, 2x300Gb SAS HDD, P400i, 512Mb, BBU):
https://www.host-food.ru/tariffs/vydelennyi-server-ds/
Недорогие домены в популярных зонах: https://www.host-food.ru/domains/
Тарифы на виртуальные сервера (VPS/VDS/KVM) в РФ, от 189 руб.: https://www.host-food.ru/tariffs/virtualny-server-vps/
Выделенные сервера, Россия, Москва, от 2000 рублей (HP Proliant G5, Intel Xeon E5430 (2.66GHz, Quad-Core, 12Mb), 8Gb RAM, 2x300Gb SAS HDD, P400i, 512Mb, BBU):
https://www.host-food.ru/tariffs/vydelennyi-server-ds/
Недорогие домены в популярных зонах: https://www.host-food.ru/domains/
-
- проходил мимо
Re: Маршрутизация и балансировка каналов между офисами
объедените оба виртуальных интерфейса в транк
- skeletor
- майор
- Сообщения: 2548
- Зарегистрирован: 2007-11-16 18:22:04
Re: Маршрутизация и балансировка каналов между офисами
Наверное не в trank, а в bonding.
-
- проходил мимо
Re: Маршрутизация и балансировка каналов между офисами
Вобщем агрегировать каналы, так наверное будет ещё правильнее
Вот тут дока
http://xgu.ru/wiki/%D0%90%D0%B3%D1%80%D ... 0%BE%D0%B2
Вот тут дока
http://xgu.ru/wiki/%D0%90%D0%B3%D1%80%D ... 0%BE%D0%B2
-
- проходил мимо
- Сообщения: 7
- Зарегистрирован: 2010-10-11 7:50:20
Re: Маршрутизация и балансировка каналов между офисами
Добрался я до агрегации (Bonding) каналов.
Из оборудования только обычные ПК с ОС Ubuntu 10.04
делал все по инструкции
https://help.ubuntu.com/community/UbuntuBonding
Собрал на тестовом стенде точно такую же ситуацию как на скрине
2 openvpn tap тунеля
Бондинг в режиме mode = 0
Эксперимент:
Пинги по бондинг интерфейсу ходят нормально в обе стороны.
Выдергиваю физически сетевой кабель интерфейса eth0 (tap0 соответственно должен отвалиться)
Пинги продолжают идти но с 50-60% потерь
смотрю cat /proc/net/bonding/bond0
Как бондинг узнает о том что openvpn накрылся ?
Может какие, настройки openvpn нужно указать?
Из оборудования только обычные ПК с ОС Ubuntu 10.04
делал все по инструкции
https://help.ubuntu.com/community/UbuntuBonding
Собрал на тестовом стенде точно такую же ситуацию как на скрине
2 openvpn tap тунеля
Бондинг в режиме mode = 0
Эксперимент:
Пинги по бондинг интерфейсу ходят нормально в обе стороны.
Выдергиваю физически сетевой кабель интерфейса eth0 (tap0 соответственно должен отвалиться)
Пинги продолжают идти но с 50-60% потерь
смотрю cat /proc/net/bonding/bond0
Код: Выделить всё
Slave Interface tap0
MII Status: up
...
Slave Interface tap1
MII Status: up
Может какие, настройки openvpn нужно указать?
-
- рядовой
- Сообщения: 41
- Зарегистрирован: 2011-06-27 3:45:02
Re: Маршрутизация и балансировка каналов между офисами
у бондинга как бы есть несколько режимов. насколько я помню, по дефолту работает round robin.
mode:Mode of operation; 0 for balance-rr, 1 for active-backup, 2 for balance-xor, 3 for broadcast, 4 for 802.3ad, 5 for balance-tlb, 6 for balance-alb (charp)
курить параметры модуля bonding
mode:Mode of operation; 0 for balance-rr, 1 for active-backup, 2 for balance-xor, 3 for broadcast, 4 for 802.3ad, 5 for balance-tlb, 6 for balance-alb (charp)
курить параметры модуля bonding
-
- проходил мимо
- Сообщения: 7
- Зарегистрирован: 2010-10-11 7:50:20
Re: Маршрутизация и балансировка каналов между офисами
Я все параметры уже скурил вместе с фильтром.
Пробывал на всех режимах это делать.
Я вижу проблему в том, что бондинг смотрит есть ли линк на интерфейсе или нету, а опенвпн всегда держит интерфейс в поднятом состоянии, независимо от того есть туннель или нету.
Даже на примере active-backup вот что происходит:
1) Оба канала рабочих. tap0 - главный tap1 - резервный
2) выдергиваем кабель, на котором висит tap0
3) пинги перестают ходить и переключения не происходит
3) openvpn по параметру keepalive (у меня keepalive 5 10) дропает интерфейс, и пока он пытается подняться, в это время пакеты ходят по резервному каналу (примерно секунды 2-3), потом bonding переключается на tap0 ( он его видит живым, но он еще только пытается подключиться и у него не получается)
Нарыл параметр у openvpn ping-exit.
Т.е по истечению какого-то времени он перестанет соеденятся и просто выключит интерфейс, это конечно спасет, но когда появится канал между точками, нужно будет поднять интерфейс
Я так понимаю bonding он не для тунелей, а для обычных ethernet карт
Пробывал на всех режимах это делать.
Я вижу проблему в том, что бондинг смотрит есть ли линк на интерфейсе или нету, а опенвпн всегда держит интерфейс в поднятом состоянии, независимо от того есть туннель или нету.
Даже на примере active-backup вот что происходит:
1) Оба канала рабочих. tap0 - главный tap1 - резервный
2) выдергиваем кабель, на котором висит tap0
3) пинги перестают ходить и переключения не происходит
3) openvpn по параметру keepalive (у меня keepalive 5 10) дропает интерфейс, и пока он пытается подняться, в это время пакеты ходят по резервному каналу (примерно секунды 2-3), потом bonding переключается на tap0 ( он его видит живым, но он еще только пытается подключиться и у него не получается)
Нарыл параметр у openvpn ping-exit.
Т.е по истечению какого-то времени он перестанет соеденятся и просто выключит интерфейс, это конечно спасет, но когда появится канал между точками, нужно будет поднять интерфейс
Я так понимаю bonding он не для тунелей, а для обычных ethernet карт
-
- рядовой
- Сообщения: 41
- Зарегистрирован: 2011-06-27 3:45:02
Re: Маршрутизация и балансировка каналов между офисами
а чего бы вам просто не воспользоваться ospf? я такое делал на базе туннелей ip in ip. Кваггу в зубы, fast-hello включаем и вперед время реакции на падение линка - не более 2 секунд.
-
- проходил мимо
- Сообщения: 7
- Зарегистрирован: 2010-10-11 7:50:20
Re: Маршрутизация и балансировка каналов между офисами
ospf сейчас работает.
Начальства не устраивает эти 2 секунды, 1с у всех отпадет за эти 2 секунды, телефония оборвется, кучу причин придумают и не переубедить
А балансировка на нем тоже не работает, по причине отсутствия функции отключения кеширования маршрутов.
эхх, купило бы начальство циску со своими запросами, а так приходится делать на том что есть
Может есть еще какие-нибудь варианты для балансировки?
Может купить 2 автономные зоны, и всем выдать белые провайдеро независемые ip и будет мне счастье
Начальства не устраивает эти 2 секунды, 1с у всех отпадет за эти 2 секунды, телефония оборвется, кучу причин придумают и не переубедить
А балансировка на нем тоже не работает, по причине отсутствия функции отключения кеширования маршрутов.
эхх, купило бы начальство циску со своими запросами, а так приходится делать на том что есть
Может есть еще какие-нибудь варианты для балансировки?
Может купить 2 автономные зоны, и всем выдать белые провайдеро независемые ip и будет мне счастье
-
- рядовой
- Сообщения: 41
- Зарегистрирован: 2011-06-27 3:45:02
Re: Маршрутизация и балансировка каналов между офисами
С такими запросами надо думать о железках операторского класса. можно еще закрутить гайки, указывая большее кол-во hello-сообщений в секунду и меньшее кол-во потерянных hello для признания линка мертвым. А покупка PI и автономки вам ничем не поможет. У БГПшечки сходимость куда более медленная, чем у ospf.
-
- проходил мимо
- Сообщения: 7
- Зарегистрирован: 2010-10-11 7:50:20
Re: Маршрутизация и балансировка каналов между офисами
Видимо остановлюсь с вариантом openvpn + ospf + bonding.
у опенвпн выствлю параметр ping-exit
И перезагрузка openvpn ночами
у опенвпн выствлю параметр ping-exit
И перезагрузка openvpn ночами