The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

форумы  помощь  поиск  регистрация  майллист  ВХОД  слежка  RSS
"вопрос по iproute2"
Вариант для распечатки  
Пред. тема | След. тема 
Форумы OpenNET: Виртуальная конференция (Public)
Изначальное сообщение [Проследить за развитием треда]

"вопрос по iproute2"  
Сообщение от binladin email on 21-Июл-06, 11:04 
Есть Linux Rad Hat 8
Есть 2 провайдера и 1 внутренняя сетка
Есть iproute2 сконфигурированный на распределение нагрузки в полном соответствии с http://www.opennet.me/docs/RUS/LARTC/x348.html, ip route list выдает в числе прочих следующие строки:

default
        nexthop via x.x.x.x  dev eth0 weight 1 dead onlink pervasive
        nexthop via y.y.y.y  dev eth1 weight 1

где х - шлюз первого провайдера (основного), а у - соответственно второго.
Вроде бы все должно пахать, но реально никакого распределения нагрузки нет, все ходит через у.у.у.у, независимо от вариантов установки weight.
Меня сильно смущают слова "dead onlink pervasive" - ни где не нашел описания - чего они означают ни в русскоязычных источниках, ни на инглише.

Подскажите пожалуйста, где  могут быть зарыты грабли.

Правка | Высказать мнение | Ответить | Cообщить модератору | Наверх

 Оглавление

Сообщения по теме [Сортировка по времени, UBB]


1. "вопрос по iproute2"  
Сообщение от Z0termaNN email(ok) on 21-Июл-06, 13:32 
>Есть Linux Rad Hat 8
>Есть 2 провайдера и 1 внутренняя сетка
>Есть iproute2 сконфигурированный на распределение нагрузки в полном соответствии с http://www.opennet.me/docs/RUS/LARTC/x348.html, ip
>route list выдает в числе прочих следующие строки:
>
>default
>        nexthop via x.x.x.x  
>dev eth0 weight 1 dead onlink pervasive
>        nexthop via y.y.y.y  
>dev eth1 weight 1
>
>где х - шлюз первого провайдера (основного), а у - соответственно второго.
>
>Вроде бы все должно пахать, но реально никакого распределения нагрузки нет, все
>ходит через у.у.у.у, независимо от вариантов установки weight.
>Меня сильно смущают слова "dead onlink pervasive" - ни где не нашел

dead - как раз означает то, о чем ты подумал - а именно интерфейс мертв, по крайней мере
       так считает ядро,
onlink и pervasive в данном случае не важны

1. использовать такую команду для поднятия рутинга:

# ip route add default equalize scope global nexthop via BLAH BLAH

2. проверить версию iproute + версию ядра

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


Правка | Высказать мнение | Ответить | Cообщить модератору | Наверх

2. "вопрос по iproute2"  
Сообщение от binladin email on 21-Июл-06, 16:00 
>dead - как раз означает то, о чем ты подумал - а
>именно интерфейс мертв, по крайней мере
>       так считает ядро,
>onlink и pervasive в данном случае не важны
>1. использовать такую команду для поднятия рутинга:
># ip route add default equalize scope global nexthop via BLAH BLAH
>2. проверить версию iproute + версию ядра

iproute2-ss010824
kernel-2.4.32

юзеры разойдутся - попробую

Правка | Высказать мнение | Ответить | Cообщить модератору | Наверх

3. "вопрос по iproute2"  
Сообщение от binladin email on 24-Июл-06, 14:44 
>dead - как раз означает то, о чем ты подумал - а
>именно интерфейс мертв, по крайней мере
>       так считает ядро,
>onlink и pervasive в данном случае не важны
>
>1. использовать такую команду для поднятия рутинга:
>
># ip route add default equalize scope global nexthop via BLAH BLAH
Итак попробывал - результат отрицательный, сейчас наложил патчь на ядро (те что указаны в LARС в разделе по Policy Routing) и пытаюсь откомпилить iproute2 посвежей (пока траблы с db_185.h)

>2. проверить версию iproute + версию ядра


Правка | Высказать мнение | Ответить | Cообщить модератору | Наверх

4. "вопрос по iproute2"  
Сообщение от binladin email on 25-Июл-06, 10:12 
таки запустил iproute обновленный - настроил c equalize - но имею кучу проблем - с линукса все ходит чин чинарем, а юзеры из локалки инета практически не имеют.
   tail -f /var/log/messages показывает:
Jul 25 10:31:06 river kernel: MASQUERADE: Route sent us somewhere else.
Jul 25 10:31:14 river kernel: NET: 2 messages suppressed.
Jul 25 10:31:14 river kernel: MASQUERADE: Route sent us somewhere else.
Jul 25 10:33:26 river kernel: MASQUERADE: Route sent us somewhere else.

С одним маршрутом - все ок !
Поправте руки, плз.


Правка | Высказать мнение | Ответить | Cообщить модератору | Наверх

5. "вопрос по iproute2"  
Сообщение от Z0termaNN email(ok) on 25-Июл-06, 11:03 
>таки запустил iproute обновленный - настроил c equalize - но имею кучу
>проблем - с линукса все ходит чин чинарем, а юзеры из
>локалки инета практически не имеют.
>   tail -f /var/log/messages показывает:
>Jul 25 10:31:06 river kernel: MASQUERADE: Route sent us somewhere else.
>Jul 25 10:31:14 river kernel: NET: 2 messages suppressed.
>Jul 25 10:31:14 river kernel: MASQUERADE: Route sent us somewhere else.
>Jul 25 10:33:26 river kernel: MASQUERADE: Route sent us somewhere else.
>
>С одним маршрутом - все ок !
>Поправте руки, плз.

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

Правка | Высказать мнение | Ответить | Cообщить модератору | Наверх

6. "вопрос по iproute2"  
Сообщение от binladin email on 25-Июл-06, 12:55 
>понятное дело, ведь сесии маскарад нужно править, ведь с какого адреса пакеты
>будут
>уходить, предсказать практически невозможно.
>в таком разе предлагаю маскарад прописывать отдельно для каждого интерфейса.

   Маскарад был прописан для каждого - проблема с сообщениями ядра исчезла после правки ПОСТРУТИНГА с -j MASQUARADов на -j SNAT --to-address $STATIC_IP ($STATIC_IP1) (вроде так)
   Юзеры возрадовались, но openvpn тунелль с Волгограда до Нижнего не поднялся с equalize nexthopами, соответственно пришлось сделать ip route replace default nexthop .... c перекосом weight 3 к 1 (в сторону основного прова) - openvpn запахал - но радовался я недолго - он начал рвать соединение спустя некоторое время (судя по всему часть пакетов он пытался пихнуть на второй интерфейс - юзеры начали вопить что не могут залезть на терминальный сервак в волгограде). Пока включил 1 дефолтовый маршрут.

Может есть идеи как разрулить эту ситуацию ?
Раз уж не выходит с балансировкой - может есть возможность настроить использование основного маршрута с авто переключением на второго прова в случае аварии (без костылей вроде пингования) ?

Правка | Высказать мнение | Ответить | Cообщить модератору | Наверх

7. "вопрос по iproute2"  
Сообщение от Z0termaNN (ok) on 25-Июл-06, 14:37 
>>понятное дело, ведь сесии маскарад нужно править, ведь с какого адреса пакеты
>>будут
>>уходить, предсказать практически невозможно.
>>в таком разе предлагаю маскарад прописывать отдельно для каждого интерфейса.
>
>   Маскарад был прописан для каждого - проблема с сообщениями
>ядра исчезла после правки ПОСТРУТИНГА с -j MASQUARADов на -j SNAT
>--to-address $STATIC_IP ($STATIC_IP1) (вроде так)
>   Юзеры возрадовались, но openvpn тунелль с Волгограда до Нижнего
>не поднялся с equalize nexthopами, соответственно пришлось сделать ip route replace
>default nexthop .... c перекосом weight 3 к 1 (в сторону
>основного прова) - openvpn запахал - но радовался я недолго -
>он начал рвать соединение спустя некоторое время (судя по всему часть
>пакетов он пытался пихнуть на второй интерфейс - юзеры начали вопить
>что не могут залезть на терминальный сервак в волгограде). Пока включил
>1 дефолтовый маршрут.
>
>Может есть идеи как разрулить эту ситуацию ?

идеи-то конечно есть,из того, что приходит в голову

1. для начала попробовать на удаленной стороне ovpn в конфигурации убрать адрес peer,
   если конечно локальный ovpn выступает как клиент. работа не гарантирована, но попробовать
   стоит.
2. соорудить 2 ovpn и опять-таки указать в маршрутизации multipath, хотя для этого дела
   придется попотеть над рисованием скриптов, которые будут такие манипуляции производить
   при ip/down ovpn интерфейса.


>Раз уж не выходит с балансировкой - может есть возможность настроить использование
>основного маршрута с авто переключением на второго прова в случае аварии
>(без костылей вроде пингования) ?

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


Правка | Высказать мнение | Ответить | Cообщить модератору | Наверх

8. "вопрос по iproute2"  
Сообщение от binladin email on 25-Июл-06, 18:23 
>идеи-то конечно есть,из того, что приходит в голову
>
>1. для начала попробовать на удаленной стороне ovpn в конфигурации убрать адрес
>peer, если конечно локальный ovpn выступает как клиент. работа не
>гарантирована, но попробовать стоит.
попробовано - пока отметается.
>2. соорудить 2 ovpn и опять-таки указать в маршрутизации multipath, хотя для
>этого дела придется попотеть над рисованием скриптов, которые будут такие манипуляции
>производить при ip/down ovpn интерфейса.
буду узучать openvpn.sf.net

>без костылей или bgp это врядли получится, хотя возможны варианты, какими интерфейсами
>ты подключен к своим провайдерам ?
eth0 - основной провайдер
eth1 - второй
eth2 - локаль 10.0.1.0/24
tun0 - ovpn в сетку 10.0.0.0/24 через inet 10.100.0.120 --> 10.100.0.40

Вот еще чего выяснилось - traceroute ya.ru (или любого другого) сделанный из консоли линуха - независимо от маршрута - через eth0 ли или eth1 - успешно проходит;
tracert ya.ru c любой внутренней машины в случае с eth0 доходит до второго маршрутизатора и возвращает - заданная сеть не доступна, это я так понимаю НАТ вносит свою черную лепту, или может не зря маршрут поначалу deadом прикидывался ?
читаю пока http://www.ssi.bg/~ja/nano.txt

Правка | Высказать мнение | Ответить | Cообщить модератору | Наверх

Архив | Удалить

Индекс форумов | Темы | Пред. тема | След. тема
Оцените тред (1=ужас, 5=супер)? [ 1 | 2 | 3 | 4 | 5 ] [Рекомендовать для помещения в FAQ]




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2025 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру