Объединение 3х каналов доступа в интернет в 1 (3 белых ip подходящих к машине по 3м сетевушкам в 1)
Модераторы: SLEDopit, Модераторы разделов
-
LMAoD
- Сообщения: 182
- ОС: Gentoo ~amd64
Объединение 3х каналов доступа в интернет в 1
Доброго времени суток. сразу к проблеме: есть 3 соединения с интернетом с 3мя белыми динамическими ip, подключены они к одной машине через 3 сетевушки, задача заключается в том что бы объединить эти 3 канала в 1 и раздавать в локальную сеть по 4й сетевушке. возможно ли такое? на ум пришли мысли что в последующем этапе придется собирать их в 1 ip через внешний прокси.
А теперь предыстория. Решили объединить наши небольшие локальные сети в одну, так же у одного из пользователей есть свой собственный канал и он непротив поделиться. организовать их прямое соединение с 1 компьютером уже не проблема. осталось только их объединить.
В дополнение к данному вопросу: возможно ли сделать динамическое ограничение канала пользователям сети(по мере необходимости делить только между теми кто реально использует в данный момент канал, Down/Up speed разные)
Заморачиваемся с этим только из-за того что в нашей глубинке интернет не такой высокоскоростной и довольно дорогостоящий.
Заранее благодарен за помощь.
А теперь предыстория. Решили объединить наши небольшие локальные сети в одну, так же у одного из пользователей есть свой собственный канал и он непротив поделиться. организовать их прямое соединение с 1 компьютером уже не проблема. осталось только их объединить.
В дополнение к данному вопросу: возможно ли сделать динамическое ограничение канала пользователям сети(по мере необходимости делить только между теми кто реально использует в данный момент канал, Down/Up speed разные)
Заморачиваемся с этим только из-за того что в нашей глубинке интернет не такой высокоскоростной и довольно дорогостоящий.
Заранее благодарен за помощь.
-
KiWi
- Бывший модератор
- Сообщения: 2521
- Статус: статус, статус, статус
Re: Объединение 3х каналов доступа в интернет в 1
Тут где-то была тема об объединение 2 каналов в один. Я и sash-kan в ней отмечались. Если там не было про шейпинг, то можно поискать по форуму -- это тоже было. Больше всего от Olden Gremlin.
-
alex_suse
- Сообщения: 204
- ОС: Debian, openSUSE, Gentoo
-
LMAoD
- Сообщения: 182
- ОС: Gentoo ~amd64
Re: Объединение 3х каналов доступа в интернет в 1
Спасибо, постараюсь найти.
Спасибо за готовое решение но есть вопрос, возможно ли выжать из 3х каналов всю скорость на один узел сети, а не попеременно распределяя нагрузку на каждом из них? т.е. предположив что на каждом из каналов скорость 1mbit/sec получить максимальную 3mbit/sec
-
alex_suse
- Сообщения: 204
- ОС: Debian, openSUSE, Gentoo
Re: Объединение 3х каналов доступа в интернет в 1
(LMAoD) писал(а):Спасибо за готовое решение но есть вопрос, возможно ли выжать из 3х каналов всю скорость на один узел сети, а не попеременно распределяя нагрузку на каждом из них? т.е. предположив что на каждом из каналов скорость 1mbit/sec получить максимальную 3mbit/sec
На одно соединение нет, т.е. однопоточно качаем файл, то тогда только будет задействован один канал. Разные приложения можно расскидать на разные каналы, поэтому теоритически достичь 3mbit можно, но практически скорее нет.
-
LMAoD
- Сообщения: 182
- ОС: Gentoo ~amd64
Re: Объединение 3х каналов доступа в интернет в 1
жаль, в процессе поиска информации наткнулся на Bonding в данном случаи это бесполезно?
небольшая поправка 1 соединение через pppoe а 2 других eth под NATом через 2 ADSL модема
небольшая поправка 1 соединение через pppoe а 2 других eth под NATом через 2 ADSL модема
-
sash-kan
- Администратор
- Сообщения: 13939
- Статус: oel ngati kameie
- ОС: GNU
Re: Объединение 3х каналов доступа в интернет в 1
да. bonding — связь через несколько носителей между двумя точками.
Писать безграмотно - значит посягать на время людей, к которым мы адресуемся, а потому совершенно недопустимо в правильно организованном обществе. © Щерба Л. В., 1957
при сбоях форума см.блог
при сбоях форума см.блог
-
LMAoD
- Сообщения: 182
- ОС: Gentoo ~amd64
Re: Объединение 3х каналов доступа в интернет в 1
в итоге скорость одного потока на bond0 будет являться суммарной с 3х каналов в интернет?
А теперь хотелось бы пройти по теоритической части объединения:
1. устанавливаем ifenslave
Код: Выделить всё
# emerge ifenslave2. компилируем ядро включая модулем bonding, добавляем в автозагрузку
/etc/modules.autoload.d/kernel-2.6
Код: Выделить всё
bond03. Конфигурируем
/etc/modules.d/bond
Код: Выделить всё
alias bond0 bonding
options bond0 mode=0 miimon=1004. Настраиваем интерфейс
/etc/conf.d/net
Код: Выделить всё
modules=( "bonding" )
iface_bond0="172.16.1.2 broadcast 172.16.255.255 netmask 255.255.0.0"
gateway="bond0/172.16.1.1"5. настраиваем загрузку интерфейса при запуске системы
Код: Выделить всё
# ln -s /etc/init.d/net.lo /etc/init.d/net.bond0
# rc-update add net.bond0 default
# rc-update del net.eth0
# rc-update del net.eth1
# rc-update del net.ppp0Код: Выделить всё
slaves_bond0="eth0 eth1 ppp0"и с объединением все. прошу подправте если что не так. физически второй канал появится только в понедельник, а третий уже ближе к концу следущей недели.
Раздача интернета - Как раздать интернет в локальную сеть заменив интерфейс на bond0.
И поледнее что интересует - динамическое ограничение доступа к bond0 (равномерное распределение скорости между теми кто реально на данный момент использует канал, скорость входящего и исходящего потоков на bond0 разная). мысли по распределению - делить 90% канала между теми кто активно скачивает что либо, 10% оставить на тех кто сидит в браузерах icq и прочие мелкие запросы, при увеличении использования канала 1 узлом выше 5% в течении минуты - считать его как активно использующего канал и перераспределить 90% канала выставив активнопользующим новые ограничения, в течении минуты активный узел не загружает канал больше 5% - считать его неактивным и дать больше скорости активным.с исходящим потоком - выдать стабильную скорость для 2х узлов остальную можно без принудительного разделения оставить как есть - кому сколько достанется.
Это только мысли, возможно это или нет и как это реализовать пока мне неизвестно, если у кого есть свои предложения, свои варианты буду рад выслушать.
-
KiWi
- Бывший модератор
- Сообщения: 2521
- Статус: статус, статус, статус
Re: Объединение 3х каналов доступа в интернет в 1
LMAoD писал(а): ↑21.08.2010 00:39в итоге скорость одного потока на bond0 будет являться суммарной с 3х каналов в интернет?
А теперь хотелось бы пройти по теоритической части объединения:
1. устанавливаем ifenslaveКод: Выделить всё
# emerge ifenslave
2. компилируем ядро включая модулем bonding, добавляем в автозагрузку
/etc/modules.autoload.d/kernel-2.6
Код: Выделить всё
bond0
3. Конфигурируем
/etc/modules.d/bond
Код: Выделить всё
alias bond0 bonding options bond0 mode=0 miimon=100
4. Настраиваем интерфейс
/etc/conf.d/net
ip адрес и маска подсети задаются абсолютно любые?Код: Выделить всё
modules=( "bonding" ) iface_bond0="172.16.1.2 broadcast 172.16.255.255 netmask 255.255.0.0" gateway="bond0/172.16.1.1"
5. настраиваем загрузку интерфейса при запуске системы
/etc/conf.d/netКод: Выделить всё
# ln -s /etc/init.d/net.lo /etc/init.d/net.bond0 # rc-update add net.bond0 default # rc-update del net.eth0 # rc-update del net.eth1 # rc-update del net.ppp0
Код: Выделить всё
slaves_bond0="eth0 eth1 ppp0"
и с объединением все. прошу подправте если что не так. физически второй канал появится только в понедельник, а третий уже ближе к концу следущей недели.
Вам же сказали -- bonding это не для вас.
Он должен выполняться с ОБЕИХ сторон.
Если это PC и свитч -- то bonding на PC и link aggregation на свитче.
Если два PC -- то на обоих bonding.
Нельзя.
Соединения устанавливаются между двумя парами ip/port. Одно соединение не может знать о нескольких ip источника/назначения.
-
LMAoD
- Сообщения: 182
- ОС: Gentoo ~amd64
Re: Объединение 3х каналов доступа в интернет в 1
прошу прощения, не вчитался
-
kma21
- Сообщения: 874
- Статус: Странный экспериментатор...
Re: Объединение 3х каналов доступа в интернет в 1
А если 2-а канала интернета привести в Proxy сервер, а из него уже в локалку или сеть? Интересует именно объединение, чтобы скорость в 2-а раза выше была.
-
Ленивая Бестолочь
- Бывший модератор
- Сообщения: 2760
- ОС: Debian; gentoo
Re: Объединение 3х каналов доступа в интернет в 1
в любом случае у вас повысится не скорость, а пропускная способность.
Солнце садилось в море, а люди с неоконченным высшим образованием выбегали оттуда, думая, что море закипит.
Спасибо сказали:
-
Aliech
- Сообщения: 1135
- Статус: дилетант широкого профиля
- ОС: debian/openbsd
Re: Объединение 3х каналов доступа в интернет в 1
Профит будет, только если всю ширину полосы утилизировать множеством потоков. Если одним потоком (а-ля FTP), то профита не будет.
С уважением,
Павел Алиев
Павел Алиев
-
infra_hdc
- Сообщения: 376
- ОС: GNU/Linux
Re: Объединение 3х каналов доступа в интернет в 1
сейчас дискокачалки типа FlashGet и ReGet (да и линуксовые наверняка тоже) умеют в несколько потоков работать.
если созреет решение попробовать, и все три внешних IP-адреса идут по порядку, то можно простым правилом
iptables -t nat -A POSTROUTING -s 192.168.0.0/24 -j SNAT --to-source 111.11.1.1-111.11.1.3
(согласно iptables tutorial, внешний IP-адрес для подмены будет выбираться случайным образом для каждого потока что должно распределить нагрузку равномерно)
хотя можно и для -j MASQUERADE тоже попробовать посмотреть -- ничего плохого по идее не должно получиться )) тем более, что у него нет требования указывать "к источнику", и он более интеллектуален, чем -j SNAT
если созреет решение попробовать, и все три внешних IP-адреса идут по порядку, то можно простым правилом
iptables -t nat -A POSTROUTING -s 192.168.0.0/24 -j SNAT --to-source 111.11.1.1-111.11.1.3
(согласно iptables tutorial, внешний IP-адрес для подмены будет выбираться случайным образом для каждого потока что должно распределить нагрузку равномерно)
хотя можно и для -j MASQUERADE тоже попробовать посмотреть -- ничего плохого по идее не должно получиться )) тем более, что у него нет требования указывать "к источнику", и он более интеллектуален, чем -j SNAT