The OpenNET Project / Index page

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

форумы  помощь  поиск  регистрация  майллист  вход/выход  слежка  RSS
"проблемы с RADIX_MPATH"
Вариант для распечатки  
Пред. тема | След. тема 
Форумы Открытые системы на сервере (Маршрутизация, NAT / FreeBSD)
Изначальное сообщение [ Отслеживать ]

"проблемы с RADIX_MPATH"  +/
Сообщение от microbash (??) on 28-Мрт-10, 18:50 
Добрый всем день.

Пытаюсь поработать с mpath. Не получается (то, что по идее бы должно).

Схема такая:
Компьютер 1 - WinXP+SP3
сетевая 1 - 192.168.0.23/24
сетевая 2 - 10.1.0.1/24
сетевая 3 - 10.2.0.1/24
На всякий случай:  IPEnableRouter=1, EnableDeadGWDetect=1

Компьютер 2 - Freebsd 8.0 + option RADIX_MPATH
сетевая 4 - 10.1.0.2/24 xl0
сетевая 5 - 10.2.0.2/24 sis0

"Кривой" кабель 1 соединяет сетевую 2 и 4.
"Кривой" кабель 2 соединяет сетевую 3 и 5.


test1# ping 10.1.0.1
PING 10.1.0.1 (10.1.0.1): 56 data bytes
64 bytes from 10.1.0.1: icmp_seq=0 ttl=129 time=0.134 ms

test1# ping 10.2.0.1
PING 10.2.0.1 (10.2.0.1): 56 data bytes
64 bytes from 10.2.0.1: icmp_seq=0 ttl=129 time=0.226 ms

Добавляем роуты по одному (для проверки).
-------------
test1# route add default 10.1.0.1
add net default: gateway 10.1.0.1

test1# ping 192.168.0.23
PING 192.168.0.23 (192.168.0.23): 56 data bytes
64 bytes from 192.168.0.23: icmp_seq=0 ttl=129 time=0.171 ms

test1# route delete default 10.1.0.1
delete net default: gateway 10.1.0.1
------------

test1# route add default 10.2.0.1
add net default: gateway 10.2.0.1

test1# ping 192.168.0.23
PING 192.168.0.23 (192.168.0.23): 56 data bytes
64 bytes from 192.168.0.23: icmp_seq=0 ttl=129 time=0.221 ms

test1# route delete default 10.2.0.1
delete net default: gateway 10.2.0.1
-------------

Добавляем роуты сразу оба.

test1# route add default 10.1.0.1
add net default: gateway 10.1.0.1
test1# route add default 10.2.0.1
add net default: gateway 10.2.0.1

test1# netstat -rn
Routing tables

Internet:
Destination        Gateway            Flags    Refs      Use  Netif Expire
default            10.1.0.1           UGS         0        0    xl0 =>
default            10.2.0.1           UGS         0        0   sis0
10.1.0.0/24        link#2             U           1      580    xl0
10.1.0.2           link#2             UHS         0        0    lo0
10.2.0.0/24        link#1             U           0        8   sis0
10.2.0.2           link#1             UHS         0        0    lo0
127.0.0.1          link#4             UH          0      184    lo0

test1# ping 192.168.0.23
PING 192.168.0.23 (192.168.0.23): 56 data bytes
64 bytes from 192.168.0.23: icmp_seq=0 ttl=129 time=0.146 ms

Пакеты идут через xl0 (tcpdump).

Теперь главное! Вытаскиваем кабель 1 (между сетевыми 2 и 4).
test1# ping 192.168.0.23

Пинга нету, пакеты не идут. Т.Е. фря не выбирает второй маршрут по умолчанию.
Что я делаю не правильно?

Может есть какой-то параметр таймаута, чтобы фря смогла переключиться? Хелп.


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

Оглавление

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


1. "проблемы с RADIX_MPATH"  +/
Сообщение от Аноним (??) on 28-Мрт-10, 22:40 
Привет, нету никакого таймаута... RADIX_MPATH позволяет добавлять несколько маршрутов на один destination. Так как роуты у тебя статикой прописаны, то при выдергивании сетевого кабеля, он никуда не пропадает (проверь netstat -rn -f inet с отключенным кабелем), маршрут считается доступным, как и ранее, и ОС туда же и шлет пакеты. Либо используй разные метрики, либо поднимай динамическую маршрутизацию
Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

2. "проблемы с RADIX_MPATH"  +/
Сообщение от microbash (??) on 29-Мрт-10, 08:26 
>Привет, нету никакого таймаута... RADIX_MPATH позволяет добавлять несколько маршрутов на один destination.
>Так как роуты у тебя статикой прописаны, то при выдергивании сетевого
>кабеля, он никуда не пропадает (проверь netstat -rn -f inet с
>отключенным кабелем), маршрут считается доступным, как и ранее, и ОС туда
>же и шлет пакеты. Либо используй разные метрики, либо поднимай динамическую
>маршрутизацию

Вроде все так и есть: при выдергивании кабеля роут ес-но остается и фря продолжает по нему сыпать пакеты (в никуда). netstat -rn выдает статистику по маршруту и там я вижу увеличение пакетов по нерабочему маршруту.
Нашел сообщение от одного из разработчиков Li Qing от 2010 года по этому вопросу. Написано следующее: в фре 8 на текущий момент нету поддержки распознавания факта пропадения несущей, соотвественно у пропавшего маршрута не убирается флаг UP. Поэтому и ядро не выбирает по списку следующий роут.
Если это так, что весь этот разрекламированный mpath вообще не работает!

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

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

3. "проблемы с RADIX_MPATH"  +/
Сообщение от Аноним (??) on 29-Мрт-10, 08:45 
Ну я бы не сказал, что разрекламирован... Просто сделали молча и все, да и то совсем недавно. Допилят
Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

4. "проблемы с RADIX_MPATH"  +/
Сообщение от microbash (??) on 29-Мрт-10, 21:54 
>[оверквотинг удален]
>Пакеты идут через xl0 (tcpdump).
>
>Теперь главное! Вытаскиваем кабель 1 (между сетевыми 2 и 4).
>test1# ping 192.168.0.23
>
>Пинга нету, пакеты не идут. Т.Е. фря не выбирает второй маршрут по
>умолчанию.
>Что я делаю не правильно?
>
>Может есть какой-то параметр таймаута, чтобы фря смогла переключиться? Хелп.

Можно ли принудительно выставить флаг на роуте?
Интересует флаг U.

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

5. "проблемы с RADIX_MPATH"  +/
Сообщение от microbash (??) on 07-Май-10, 08:04 

Есть еще такой вопрос:

линукс имеет распознавать нерабочий маршрут и сможет послать пакеты по следующему маршруту по списку?

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

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

6. "проблемы с RADIX_MPATH"  +/
Сообщение от Deac (ok) on 08-Май-10, 01:39 
>[оверквотинг удален]
>Есть еще такой вопрос:
>
>линукс имеет распознавать нерабочий маршрут и сможет послать пакеты по следующему маршруту
>по списку?
>
>существуют ли вообще решения (на линукс \ фре), чтобы такое переключение машрутов
>не приводило к разрыву сессии?
>т.е. если есть два соединения до одного и того же пункта назначения,
>то при работе хотя бы одного из них все ранее открытые
>сессии продолжали работать?

Это задача для динамической маршрутизации.

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

7. "проблемы с RADIX_MPATH"  +/
Сообщение от microbash (??) on 10-Май-10, 18:41 
>[оверквотинг удален]
>>линукс имеет распознавать нерабочий маршрут и сможет послать пакеты по следующему маршруту
>>по списку?
>>
>>существуют ли вообще решения (на линукс \ фре), чтобы такое переключение машрутов
>>не приводило к разрыву сессии?
>>т.е. если есть два соединения до одного и того же пункта назначения,
>>то при работе хотя бы одного из них все ранее открытые
>>сессии продолжали работать?
>
>Это задача для динамической маршрутизации.

А что динамическая маршрутизация удержит сессию от обрыва?

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

8. "проблемы с RADIX_MPATH"  +/
Сообщение от sdog (ok) on 11-Май-10, 01:25 
хотите SCTP получить, что ли?
Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

9. "проблемы с RADIX_MPATH"  +/
Сообщение от sHaggY_caT (ok) on 11-Май-10, 01:36 
>[оверквотинг удален]
>Есть еще такой вопрос:
>
>линукс имеет распознавать нерабочий маршрут и сможет послать пакеты по следующему маршруту
>по списку?
>
>существуют ли вообще решения (на линукс \ фре), чтобы такое переключение машрутов
>не приводило к разрыву сессии?
>т.е. если есть два соединения до одного и того же пункта назначения,
>то при работе хотя бы одного из них все ранее открытые
>сессии продолжали работать?

Можно сделать на Squid + LVS

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

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

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




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

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