The OpenNET Project
 
Поиск (ключи):    ПРОГРАММЫ СТАТЬИ СОВЕТЫ ФОРУМ
  WIKI НОВОСТИ (+) MAN'ы ДОКУМЕНТАЦИЯ

FreeBSD: управление загрузкой 2-х каналов, отказоустройчивость и балансировка нагрузки (freebsd balance traffic interface ipfw netgraph policy ifconfig)


<< Предыдущая ИНДЕКС Правка src / Печать Следующая >>
Ключевые слова: freebsd, balance, traffic, interface, ipfw, netgraph, policy, ifconfig,  (найти похожие документы)
From: Михаил Сгибнев <mixa(@).dreamcatcher.ru> Date: 2006-09-11 10:52:11 Subject: FreeBSD: управление загрузкой 2-х каналов, отказоустройчивость и балансировка нагрузки
Original

Перевод: Сгибнев Михаил

Поздравьте меня - мне удалось реализовать схему подключения к 2-м каналам с возможностью управления пропускной способностью, отказоустойчивостью и объединением каналов. Для тех кто заинтересовался, привожу некоторые основы. Возможно, вы захотите модифицировать сценарии и изменить значения балансировки.

Установка

Все что нам потребуется: После длительного изучения материала, я пришел к выводу, что необходимо использовать ipfw prob, ipfw fwd и divert для разделения natd. В двух словах, natd с alias_address связвывается с соответствующим внешним IP.

Первый вариант правил ipfw выглядел следующим образом: Эта схема не работает по двум причинам: К сожалению, keep-state создает динамическое правило используя только IP адрес, порт источника/назначения и интерфейс. Это не может нам помочь, так как я бы хотел создать правило, помнящее, какие пакеты попадают под skipto 8500, но keep-state (динамическое правило для этой сессии) посылает пакеты напрямую, видя только правило allow. Поскольку в таком случае пакеты не проходят через nat, мы их обратно уже никогда не получим.

Рабочим, хоть и не самым элегантным решением будет следущее:

Файл rc.conf должен содержать следущие строки: Я обнаружил, что команда fwd не отрабатывала правильно, пакеты не выходили с нужного интерфейса. Я решил передавать их так как надо, хотят они того или нет (довольно грубо, как вы увидите). Используя ng_one2many на первом внешнем интерфейсе и сконфигурив его на "перелавать все", я получил, что все пакеты, исходящие с первого интерфейса, отправляются и со второго. В результате родился следующий сценарий: (Да я знаю, что это может быть сделано намного лучше - пока это работает!!!) Темные электрические силы не давали работать, пока в качестве маршрута по умолчанию был указан 192.168.8.1 (через интерфейс, к которому непосредственно подключен $ext_if1). Как только шлюзом был указан $ext_gw2 - все заработало.

Правила IPFW: Работа всей конструкции достигается за счет отправки пакета по обоим интерфейсам, что приводит к загрузке каналов лишним трафиком.

Теперь нам необходимо обеспечить отказоустойчивость. Мной опять был написан представленный ниже сценарий и добавлен в crontab на выполнение раз 2 минуты. Из всего этого можно сделать систему управления пропускной способностью, если добавить правила к ipfw, которые определят вероятность 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8 с каждым правилом, связанным с разными наборами правил ipfw. Тогда необходимо анализировать ответы утилиты ping (необходимо среднее значение нескольких пакетов) для определения среднего времени доступа по разным раршрутам и установка соответствующего набора правил ipfw с соответствующим значением ipfw prob. В теории все должно работать.

Regards Graham

<< Предыдущая ИНДЕКС Правка src / Печать Следующая >>

Обсуждение [ RSS ]
 
  • 1, VVS, 14:20, 22/02/2010 [ответить] [смотреть все]
  • +/
    Даа... Я в шоке.. Мануалы читать не пробовал?
     

    Ваш комментарий
    Имя:         
    E-Mail:      
    Заголовок:
    Текст:



    ПОДПИШИСЬ НА ЖУРНАЛ Linux Format 2012!

    Журнал "Linux Format" (Линукс Формат)- Единственный в России и странах СНГ журнал на русском языке, посвящённый Linux и свободному ПО. Журнал для IT-директоров, IT-менеджеров, программистов, системных администраторов, учителей школ и преподавателей ВУЗов и всех пользователей ПК. В каждом выпуске: Новости индустрии OpenSource, обзоры новинок свободного ПО, обучающие и методические статьи.

    Каждый, кто оформит подписку, получает бонусы и подарки- объёмные наклейки на системный блок, диск с архивом номеров за 2005-2011 г.г. и ежемесячно электронную версию журнала в pdf-формате.

    Оформить подписку на год


      Закладки на сайте
      Проследить за страницей
    Created 1996-2012 by Maxim Chirkov  
    ДобавитьРекламаВебмастеруГИД  
    RUNNet TopList