PDA

Просмотр полной версии : несколько каналов в интернет (FreeBSD)


symplex
16.07.2009, 19:00
пожалуйста подскажите пожалуйста какими средствами можно объединить или распаралелить нагрузку между несколькими каналами в инет средствами FreeBSD?

gloom
18.07.2009, 18:16
нету накакой информации
если натить интернет то
pf nat http://www.openbsd.org/faq/pf/pools.html http://www.openbsd.ru/files/etc/pf-dual.conf
или 2 natd http://ua.opennet.ru/tips/info/1009.shtml
или в седьмой фряхе множественные таблици маршутизации http://www.opennet.ru/openforum/vsluhforumID10/4081.html
но сомнительно как-то

blublub
04.08.2009, 08:15
Нагрузка распараллеливается фаерволами. Преимущественно лучше всего использовать pf - у него в этом плане большие возможности. В последних версиях поддержка pf полностью грамотно встроена, как и шейпинг, балансы и прочие радости. В инете очень много информации по теме, в особенности на опеннете.

refresh
05.08.2009, 08:46
пожалуйста подскажите пожалуйста какими средствами можно объединить или распаралелить нагрузку между несколькими каналами в инет средствами FreeBSD?

В общих словах:

Для динамического распределения трафика м/у каналами (используется пропускная способность сразу двух каналов):

В ipfw есть опция prob - вероятность срабатывания правила, и оператор skipto - заставляющий препроцессор перейти на правило с заданным номером. Также вам понадобится, обязательно, в этом случае использовать в правилах check-state, keep-state флагов. Варьируя величину prob от 0 до 1 можно управлять соотношением загрузки очередей соответствующих каналов.

Для статического распределения трафика (например интернет через один канал, почта, аська - через другой)

Пишется несколько (в нашем примере 2) правил NAT для соответствующего типа трафика (портов). Второй и последующий NAT, должны командой fwd перенаправлять исходящие пакеты на соответсвующий каналу шлюз.

davyd
20.08.2009, 14:29
А вот такая ситуация: Есть линевая машина в качестве шлюза.
У нее два провайдера.
1. ADSL (1мбит)
2. Оптика. (100мбит)
Реально сделать так, чтобы исходящий трафик шел через оптику, а входящий через adsl?

SergeUA
06.10.2009, 18:37
В ядре:
options ROUTETABLES=N
читать:
man setfib
в PF смотреть опцию:
rtable

zlo911
07.10.2009, 18:27
пожалуйста подскажите пожалуйста какими средствами можно объединить или распаралелить нагрузку между несколькими каналами в инет средствами FreeBSD?

вы бы хоть описали версию и что за каналы. тип подключения итд. телепаты в отпуске;)

farac0m
16.10.2009, 23:19
Можно распределить нагрузку с помощью ipfw, вот к примеру:
ipfw add 100 check-state
ipfw add 150 prob 0.3 skipto 170 ip from any to any in via ed0
ipfw add 160 fwd 10.0.1.1 ip from 192.168.0.0/24 to any out keep-state
ipfw add 170 fwd 10.1.1.1 ip from 192.168.0.0/24 to any out keep-state
Где, имеется два провайдера с адресами 10.0.1.1 и 10.1.1.1.
Правило 150 имеет опцию prob 0.3, это значит, что к пакетам с вероятностью 0.3 будет применятся skipto на правило 170. Т.е. 30% трафика будет идти на правило 170. Правила 160 и 170 написаны с keep-state, и будут применяться только для первых пакетов, и далее весь оставшейся трафик пойдет через правило 100.
Но в данном примере есть обратная сторона, это будут рубится сессии http. Есть время жизни правил сформированных через keep-state, и возможно с вероятностью 0.3, что следующий пакет пойдет через другого провайдера.

Cancer_zern
04.12.2009, 14:04
Использовать нужно роуты и наты

Роутить подсеть на 2-ой канал
и ее же натить на 2-ой канал

refresh
06.12.2009, 11:12
А вот такая ситуация: Есть линевая машина в качестве шлюза.
У нее два провайдера.
1. ADSL (1мбит)
2. Оптика. (100мбит)
Реально сделать так, чтобы исходящий трафик шел через оптику, а входящий через adsl?

:-)) нет конечно. поскольку для tcp соединения пакет содержит IP откуда он ушел.. вернуть через другой канал, вы его врятли сможете, у всех провайдеров стоит фильтрация по диаппазону.

refresh
08.12.2009, 01:25
пожалуйста подскажите пожалуйста какими средствами можно объединить или распаралелить нагрузку между несколькими каналами в инет средствами FreeBSD?

Вам поможет связка ipfw + pf. Первый вдобавок умеет шейпить, в отличие от второго "статический", второй умеет правильно распределять трафик одной командой по нескольким шлюзам. Примеры на opennet.ru

gloom
08.12.2009, 12:17
http://www.opennet.ru/tips/info/2236.shtml
Решение на PF:

lan_net = "192.168.0.0/24"

int_if = "dc0" # 192.168.0.1

ext_if1 = "fxp0" # 10.0.0.1
ext_if2 = "fxp1" # 10.0.0.3
ext_if3 = "fxp2" # 10.0.0.5
ext_if4 = "fxp3" # 10.0.0.7

ext_gw1 = "10.0.0.2"
ext_gw2 = "10.0.0.4"
ext_gw3 = "10.0.0.6"
ext_gw4 = "10.0.0.8"

set skip on { lo }

scrub in all

block all

pass in on $int_if route-to { ($ext_if1 $ext_gw1), ($ext_if2 $ext_gw2), ($ext_if3 $ext_gw3), ($ext_if4 $ext_gw4) } round-robin from $lan_net

pass out all
балансировка четырех каналов

Lirc
08.12.2009, 17:54
А вот такая ситуация: Есть линевая машина в качестве шлюза.
У нее два провайдера.
1. ADSL (1мбит)
2. Оптика. (100мбит)
Реально сделать так, чтобы исходящий трафик шел через оптику, а входящий через adsl?

А зачем? Разве если есть оптика 100мбит, то потоки не дуплексные?

vlalic2valic
20.04.2010, 05:07
Лучший варинан, что я находил под фрю, это pf
Про него лучше почитать на openbsd

nops_
03.06.2010, 06:13
Народ! Всем прив!
А вот такой вопрос.
Есть биллинг NoDeny, он управляет файрволом. в pf прописана статика для ната и проброс портов.
биллинг моздаёт пайпы для каждого пользователя определённой ширины, создаёт несколько таблиц в ipfw на разрешение/запрещение .зерам лазить либо туда, либо сюда.
Имеем один канал, висит на физической сетевой не алиасом re0
Инет по радиоканалу, через радио-модем Motorolla(модель сейчас не помню). авторизация по IP+MAC
канал в 1 Мбит. На материнской плате больше просто нет слотов.
Я подключаю второй канал по ADSL.
Между радио-модемом и серваком ставлю простой, самый обычный свич. Авторизация проходит.
ставлю ADSL-модем, настраиваю как роутер, выставляю IP на модеме и прописываю алиас re0_1, не помню точно, но помоему что-то типа ifconfig_re0_1_aliase="inet 192.168.1.1 netmask 255.255.255.0"
У меня создаётся алиас на внешней сетевой и получает данные с ADSL-модема. Сети с первым провайдером не пересекаются.
Ну это примерная схема как я запущу 2 провайдера через одну сетевую. Вопрос не в этом.

Вопрос в том, возможно ли объединить каналы этих провайдеров. 1-й канал 1Мбит, 2-й канал 2Мюита, чтобы в результате получить 3 Мбита?
Либо может быть поставить какую-нибудь железку вместо свича, которая сможет объединить эти 2 канала в один.

gloom
04.06.2010, 13:25
bgp можно на цыске можно на фряхе кваггой
это самое правильное решение...

braekneck
17.06.2010, 08:56
это самое правильное решение...
совершенно верно