LINUX.ORG.RU
решено ФорумAdmin

bonding adsl + 3g

 ,


0

2

/etc/conf.d/net

modules="bonding"

#adsl
config_eth0="null"
#config_eth0="192.168.0.3/24"
#routes_eth0="default via 192.168.0.1"

#3g
config_eth1="null"
#config_eth1="192.168.1.100/24"
#routes_eth1="default via 192.168.1.1"

mode_bond0="0"
miimon_bond0="100"
slaves_bond0="eth0 eth1"
config_bond0="192.168.0.3/16"
routes_bond0="default via 192.168.0.1"
#config_bond0="192.168.1.100/16"
#routes_bond0="default via 192.168.1.1"

Изменить подсеть, gateway и ip 192.168.1.100, выдаваемый 3g роутером невозможно. Могу сменить подсеть, gateway и ip, выдаваемый адсл роутером как угодно

Если использовать

config_bond0="192.168.0.3/16"
routes_bond0="default via 192.168.0.1"
трафик идет только через адсл

Если использовать

config_bond0="192.168.1.100/16"
routes_bond0="default via 192.168.1.1"
трафик идет только через 3g

Получается для bonding нужно готовить 2 одинаковые подсети, 2 одинаковых gateway и 2 одинаковых ip?

★★

Последнее исправление: punya (всего исправлений: 2)

Я не читал выхлопы, но бондинг должен на той стороне поддерживаться, а у Вас это условие не выполняется. Вы пытаетесь балансировку настроить каналов интернет?

petav ★★★★★
()
Ответ на: комментарий от petav

пытаюсь. bonding в режиме 0 (round robin) по идее не требует поддержки на той стороне. для торрентокачания этот режим подойдет

punya ★★
() автор топика
Последнее исправление: punya (всего исправлений: 1)

Не взлетит. Это ты редкостный маразм придумал :) Почитай про бондинг, будет понятно почему.

В данном случае может немного помочь балансировка нагрузки через ip route weight.

blind_oracle ★★★★★
()
Ответ на: комментарий от blind_oracle

я купился на эту статью. а правильно вот так? почему? для bonding нужен специальный коммутатор на стороне провайдера?

punya ★★
() автор топика
Последнее исправление: punya (всего исправлений: 2)
Ответ на: комментарий от punya

Да, бондинг работает на уровне 2, а у тебя, как минимум, 3.

Коммутатор не нужен, но нужен уровень 2 :)

К примеру - можно сбондить два-три-десять TAP интерфейсов, которые бегают через OpenVPN. Таким образом народ в свое время (когда не было AES-NI) получал распараллеливание шифрования по нескольким ядрам (по одному OpenVPN процессу на ядро).

blind_oracle ★★★★★
()
Ответ на: комментарий от Kuzz

разобрался. несложно делается:

/net/conf.d/net

config_eth0="192.168.0.3/24"
config_eth1="192.168.1.100/24"

назначаем имена таблиц:

/etc/iproute2/rt_tables

...
1 adsl
2 3g

после запуска системы

ip rule add from 192.168.0.3 table adsl
ip rule add from 192.168.1.100 table 3g

после запуска сетевых интерфейсов

ip route replace 255.255.255.0 dev eth0 src 192.168.0.3 table adsl
ip route replace 255.255.255.0 dev eth1 src 192.168.1.100 table 3g
ip route replace default scope global nexthop via 192.168.0.1 dev eth0 weight 1 nexthop via 192.168.1.1 dev eth1 weight 1

захожу на http://www.whatismyip.com/ и вижу с некоторой вероятностью 2 разных ip. Yay!

punya ★★
() автор топика
Ответ на: комментарий от punya

некоторой вероятностью

Если не учитывать запоминание маршрутов в ядре, то вероятность = 1/2 (weight 1)/(weight 1)

А вот «nexthop via 192.168.0.1 dev eth0 weight 1 nexthop via 192.168.1.1 dev eth1 weight 5» даст лишь пятую часть соединений по 3G
И еще одно (такое наблюдение), чем больше веса, тем медленнее происходит смена маршрута

Kuzz ★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.