The OpenNET Project / Index page

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



Вариант для распечатки  
Пред. тема | След. тема 
Форум Разговоры, обсуждение новостей
Режим отображения отдельной подветви беседы [ Отслеживать ]

Оглавление

Раздел полезных советов: Распределение трафика между двумя к..., auto_tips (?), 18-Авг-09, (0) [смотреть все]

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


1. "Распределение трафика между двумя каналами во FreeBSD"  +/
Сообщение от john doe (?), 18-Авг-09, 14:05 
А то-же самое, но для pf -- реализуемо?

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

2. "Распределение трафика между двумя каналами во FreeBSD"  +/
Сообщение от mr_gfd (?), 18-Авг-09, 14:19 
http://unix.derkeiler.com/Mailing-Lists/FreeBSD/net/2009-01/...

Рекомендуют все-же ipfw для этих целей.

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

10. "Распределение трафика между двумя каналами во FreeBSD"  +/
Сообщение от nanodaemon (ok), 19-Авг-09, 04:07 
по каким же причинам рекомендуют ? pf в *BSD умел балансировать задолго до того как прикрутили мультипл роут тейблс во фрибсд. да и при помощи ipfw можно сделать по-человечески, я думаю, не прибегая ко мультипл роут тейблс. предназначение мультипл роут тейблс иное чем балансинг каналов.

и да, не надо забывать, что мало одной балансировки, нужно чтобы при падении одного из линков все пакеты заворачивались на соседний канал. впрочем в отстутствии бгп это решаемо только sh скриптами пингующими яндыкс раз в минуту по очереди через каждый канал или как-то так. :(

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

9. "Распределение трафика между двумя каналами во FreeBSD"  +/
Сообщение от iZEN (ok), 19-Авг-09, 00:14 
Насчёт балансировки трафика между двумя каналами есть статья в журнале "Системный администратор" №2(51)'2007, но там в основном про IPFW. Однако автор всё же обмолвился и про PF.
Алгоритм балансировки трафика round-robin между двумя каналами на PF:

pass in on ed0 route-to { (rl0 10.0.1.1), (rl1 10.1.1.1) } round-robin from 192.168.0.0/24 to any keep state

здесь: ed0 — внутренний интерфейс, смотрящий на клиентов; rl0 и rl1 — внешние интерфейсы, смотрящие на провайдеров; 10.0.1.1 — адрес шлюза провайдера А; 10.1.1.1 — адрес шлюза провайдера Б; 192.168.0.0/24 — локальная сеть.

    Этим правилом входящий трафик на внутреннем интерфейсе (т.е. исходящий для пользователей) будет распределяться между интерфейсами rl0 и rl1 с соответствующими шлюзами по алгоритму round-robin (то есть внешний интерфейс будет меняться циклически — первое соединение будет использовать rl0, второе — rl1, третье — снова rl0 и так далее). Опция keep state сохраняет состояние, благодаря чему все пакеты в рамках одного соединения будут использовать один и тот же шлюз. В итоге нагрузка будет распределяться между двумя каналами — нельзя сказать, что трафик поделится абсолютно поровну, но при рассмотрении за большой период времени можно считать, что балансировка будет приближаться к этому.

Для решения проблемы привязки соединений клиента к определённому IP-адресу, которое требуется для некоторых серверов (а в данном случае каждое новое соединение от одного и того же клиента к определённому серверу будет проходить с большой вероятностью через разные маршруты/интерфейсы), нужно использовать опцию sticky-address в правиле nat или route-to.

Чтобы распределять трафик между интерфейсами в определённой пропорции в правиле PF нужно использовать опцию probability.

Обсуждение: http://forum.lissyara.su/viewtopic.php?f=8&t=17906&p=166055

Ответить | Правка | К родителю #1 | Наверх | Cообщить модератору

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

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




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

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