Здравствуйте Гость [ Вход | Регистрация ] | Форум в сети 4757-й день

 объединение двух каналов в один, CentOS 5.3

hippieua
Aug 13 2009, 11:43
  
Пост #1



Репутация:   -176  
Активист
*

Группа: Пользователи
Сообщений: 376
С нами с: 23-February 07


Проблема решена практически полностью. для тех кому интересно
вот суть
» Нажмите, чтобы показать спойлер - нажмите опять, чтобы скрыть... «


Вот решение
1. Настройка iproute2: Создать в /etc/iproute2/rt_tables 2 таблицы для каждого из провайдеров


255<--->local
254<--->main
253<--->default
0<----->unspec

101 FreeNet
102 Nline

Создать файлик /etc/routing/FreeNet.list в него можно дописывать адреса путь к которым будет идти четко через основного провайдера.

Взять и запустить мой скрипт предварительно отредактировав переменные


» Нажмите, чтобы показать спойлер - нажмите опять, чтобы скрыть... «

#!/bin/sh

################### CONFIG ############
FreeNet="/etc/routing/FreeNet.list"
### Home Network
l_eth=eth2
l_ip=192.168.5.1
l_net=192.168.5.0/24

########### Local ISP Network #########
li_net=10.0.0.0/8

########### ISP1 ######################
i1_eth=eth0
i1_ip=89.252.20.173
i1_net=89.252.20.0/24
i1_gw=89.252.20.1

########### ISP2 ######################
i2_eth=eth1
i2_ip=10.1.2.161
i2_net=10.0.0.0/16
i2_gw=10.1.0.1

#########ip route2 tables##############
t1=101
t2=102
#######################################

########### Flushing ##################
iptables -t mangle -F NEW_OUT_CONN
iptables -t mangle -F PREROUTING
iptables -t mangle -F OUTPUT
iptables -t mangle -X NEW_OUT_CONN
ip route flush table $t2
ip rule del table $t2
ip route flush table $t1
ip rule del table $t1
ip route flush cache
#######################################

iptables -t mangle -N NEW_OUT_CONN
iptables -t mangle -A NEW_OUT_CONN -j CONNMARK --set-mark 1
iptables -t mangle -A NEW_OUT_CONN -m statistic --mode random --probability 0.50 -j RETURN
iptables -t mangle -A NEW_OUT_CONN -j CONNMARK --set-mark 2

for file in $FreeNet; do
if [ -f "$file" ]; then
{ cat "$file" ; echo ; } | while read ip_addr; do
if [ "$ip_addr" != "" ]; then
echo "Статическая маршрутизация для $ip_addr"
iptables -t mangle -A NEW_OUT_CONN -d $ip_addr -j CONNMARK --set-mark 1
fi
done
fi
done

iptables -t mangle -A PREROUTING -d $l_net -j RETURN
iptables -t mangle -A PREROUTING -d $li_net -j RETURN

iptables -t mangle -A PREROUTING -s $l_net -m state --state new,related -j NEW_OUT_CONN
iptables -t mangle -A PREROUTING -s $l_net -j CONNMARK --restore-mark

iptables -t mangle -A OUTPUT -d $l_net -j RETURN
iptables -t mangle -A OUTPUT -d $li_net -j RETURN

iptables -t mangle -A OUTPUT -s $l_net -m state --state new,related -j NEW_OUT_CONN
iptables -t mangle -A OUTPUT -s $li_net -j CONNMARK --restore-mark

ip route add $l_net dev $l_eth scope link table $t1
ip route add $i2_net dev $i2_eth scope link table $t1
ip route add $i1_net dev $i1_eth scope link src $i1_ip table $t1
ip route add 127.0.0.0/8 dev lo scope link table $t1
ip route add default via $i1_gw table $t1

ip rule add prio 51 fwmark 1 table $t1
ip rule add from $i1_ip table $t1

ip route add $l_net dev $l_eth scope link table $t2
ip route add $i1_net dev $i1_eth scope link table $t2
ip route add $i2_net dev $i2_eth scope link src $i2_ip table $t2
ip route add 127.0.0.0/8 dev lo scope link table $t2
ip route add default via $i2_gw table $t2

ip rule add prio 52 fwmark 2 table $t2
ip rule add from $i2_ip table $t2

ip route flush cache


И вот результат
Open in new window

2 канала по 100 Мбит от разных провайдеров дают 21,3Мб/сек что соответствует почти 200Мбитам.

Это решение исключает кучу проблем связанных с использованием netxhop, а также позволяет иметь статически роуты в случае необходимости.

решение рабочее вприницпе для любой линукс системы с версией iptables 1.3.8 и выше.
иначе придется поработать patch-o-matic wink.gif

Сообщение отредактировал hippieua - Aug 17 2009, 11:02
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
2 Страницы   1 2 >  
Reply to this topicStart new topic
Ответов(1 - 19)
protrue
Aug 13 2009, 12:13
  
Пост #2



Репутация:   156  
Cтаршой
**

Группа: Пользователи
Сообщений: 944
С нами с: 22-April 08


Объединение пропускной способности двух интернет каналов и простая отказоустойчивость
» Нажмите, чтобы показать спойлер - нажмите опять, чтобы скрыть... «


Bounding только читал или пытался настраивать?
» Нажмите, чтобы показать спойлер - нажмите опять, чтобы скрыть... «



Сообщение отредактировал protrue - Aug 13 2009, 12:28
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
hippieua
Aug 13 2009, 12:32
  
Пост #3



Репутация:   -176  
Активист
*

Группа: Пользователи
Сообщений: 376
С нами с: 23-February 07


(protrue @ Aug 13 2009, 13:13) Перейти к цитате

Объединение пропускной способности двух интернет каналов и простая отказоустойчивость




По первому способу это как раз то что что я пробовал, и который дает непостоянные результаты и вылет клиентов icq.

А второй способ только читал, так как применить его на практике я не знаю

ну вот может ты поймешь

» Нажмите, чтобы показать спойлер - нажмите опять, чтобы скрыть... «
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
f10
Aug 13 2009, 14:38
  
Пост #4



Репутация:   56  
Cтаршой
**

Группа: Пользователи
Сообщений: 511
С нами с: 14-August 07


(hippieua @ Aug 13 2009, 12:43) Перейти к цитате
задача номер 2 - объединить 2х100 в один 200 ( актуально только для скачки в торрент и других p-2-p сетях, так как пиров много и как следствие с одними можно работать через а со вторыми через б )
При работе из одного клиента? Тогда в самом лучшем случае получится, что один из каналов будет всё равно, как за натом, что для торрента не очень выгодно.

Bonding тут совершенно не к месту.

Сообщение отредактировал f10 - Aug 13 2009, 14:39
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
protrue
Aug 13 2009, 14:47
  
Пост #5



Репутация:   156  
Cтаршой
**

Группа: Пользователи
Сообщений: 944
С нами с: 22-April 08


По доработке текущей конфигурации предлагаю ознакомится
» Нажмите, чтобы показать спойлер - нажмите опять, чтобы скрыть... «


А по настройке bounding-а как вариант можно поднять на интерфейсе второй виртуальный (bond0:1) и прописать второго прова, либо через vlan-ы. Но это уже экспериментировать надо.

Таки да bounding больше для hot backup подходит, чем для балансировки в даном конкретном случае.

Вот тут предлагают использовать CONNMARK
http://forum.interzet.ru/index.php?showtop...p;mode=threaded

И также ссылка по теме http://shorewall.net/MultiISP.html

Сообщение отредактировал protrue - Aug 13 2009, 14:55
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
Liet Kynes
Aug 13 2009, 16:03
  
Пост #6



Репутация:   83  
Cтаршой
**

Группа: Пользователи
Сообщений: 768
С нами с: 20-March 06


а вариант сделать статические рауты через одного провай на определенные сервисы? на самый крайний случай.
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
hippieua
Aug 17 2009, 10:57
  
Пост #7



Репутация:   -176  
Активист
*

Группа: Пользователи
Сообщений: 376
С нами с: 23-February 07


Решение проблемы если кому интересно наверху, вкратце:

на входе с помощью iptables пакетам рендомно ( с шансом 0,5 ) присваивается метка 1 или 2,
в зависимости от метки пакеты направляются или к одному или ко второму шлюзу.
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
protrue
Aug 17 2009, 11:15
  
Пост #8



Репутация:   156  
Cтаршой
**

Группа: Пользователи
Сообщений: 944
С нами с: 22-April 08


Отлично. good2.gif
А эксперименты по "выпаданию" одного прова проводились?
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
hippieua
Aug 17 2009, 11:20
  
Пост #9



Репутация:   -176  
Активист
*

Группа: Пользователи
Сообщений: 376
С нами с: 23-February 07


(protrue @ Aug 17 2009, 12:15) Перейти к цитате

Отлично. good2.gif
А эксперименты по "выпаданию" одного прова проводились?


Еще нет -) пока что просто объединяет и все.
По работе в режиме резервного и основного каналовс горячей заменой буду ковыряться вечером.
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
protrue
Aug 17 2009, 11:52
  
Пост #10



Репутация:   156  
Cтаршой
**

Группа: Пользователи
Сообщений: 944
С нами с: 22-April 08


Тут(МИР) очень простой скрипт для мониторинга в реальном времени загрузки канала (работает на lighttpd+php-fcgi или thttpd+cgi).
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
Acid Jack
Aug 17 2009, 12:28
  
Пост #11

Благодарности: 39

Репутация:   851  
freelancer
****

Группа: Пользователи
Сообщений: 3 294
С нами с: 20-March 06


на правах оффтопа:

эх, ме бы ваши проблемы
я вот поставил домой вайфайный роутер для раздачи инета, и теперь вместо 100 имею 10 мегабит
жалко потери скорости, зато без проводов (даже в туалете — мечта идиота)
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
hippieua
Aug 17 2009, 12:40
  
Пост #12



Репутация:   -176  
Активист
*

Группа: Пользователи
Сообщений: 376
С нами с: 23-February 07


(Acid Jack @ Aug 17 2009, 13:28) Перейти к цитате

на правах оффтопа:

эх, ме бы ваши проблемы
я вот поставил домой вайфайный роутер для раздачи инета, и теперь вместо 100 имею 10 мегабит
жалко потери скорости, зато без проводов (даже в туалете — мечта идиота)



у меня стоит apple airport base station который нормально держит N, на макбуке по всей хате скорость около 7-8Мб/сек )
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
Acid Jack
Aug 17 2009, 12:46
  
Пост #13

Благодарности: 39

Репутация:   851  
freelancer
****

Группа: Пользователи
Сообщений: 3 294
С нами с: 20-March 06


(hippieua @ Aug 17 2009, 13:40) Перейти к цитате

у меня стоит apple airport base station который нормально держит N, на макбуке по всей хате скорость около 7-8Мб/сек )
и всё равно это не 11 Мб/с
кроме того мне тогда придётся докупать в свой ноут ещё и pcmcia-адаптер, а это вкупе с точкой доступа такого класса уже дороговато получается
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
erby
Oct 2 2009, 2:06
  
Пост #14



Репутация:   110  
Постоялец
***

Группа: Пользователи
Сообщений: 1 071
С нами с: 14-October 06


а кто знает как на фряхе сделать
стоит сервак который раздает инет и сайты крутятся
был один провайдер все ходили в инет через него
мой конфиг
# -- sysinstall generated deltas -- # Thu May 29 16:15:11 2008
# Created: Thu May 29 16:15:11 2008
# Enable network daemons for user convenience.
# Please make all changes to this file, not to /etc/defaults/rc.conf.
# This file now contains just the overrides from /etc/defaults/rc.conf.
ifconfig_em0="inet 192.168.0.1  netmask 255.255.255.0"
ifconfig_rl0="inet 78.159.хх.хх  netmask 255.255.254.0"
defaultrouter="78.159.55.254"
tcp_extensions="YES"
hostname="erby.ihome.ua"
inetd_enable="YES"
natd_enable="YES"
natd_interface="rl0"
# natd_flags="-f /etc/natd.conf"
gateway_enable="YES"
firewall_enable="YES"
firewall_type="open"
firewall_script="/etc/rc.firewall"
firewall_logging="YES"
keymap="ua.koi8-u"
sshd_enable="YES"
apache_enable="YES"
mysql_enable="YES"


недавно подключил еще одного провайдера
хочу чтобы канал стал шире и сайт ишел на 2а АЙПИ
уже 3и часа мудохаюсь не могу настроить подскажите пожалуйста
нужно сделать чтобы в инет ходили через 2а канала

Сообщение отредактировал erby - Oct 2 2009, 2:10
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
olexande
Oct 2 2009, 10:16
  
Пост #15



Репутация:   132  
Старожил
****

Группа: Пользователи
Сообщений: 2 017
С нами с: 27-February 07


Актуальная тема ... С месяц-два назад на opennet был в советах скрипт для FreeBSD про перебросу трафика с канала на канал ...

Нашел - http://www.opennet.ru/tips/info/2142.shtml

Сообщение отредактировал olexande - Oct 2 2009, 12:56
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
protrue
Oct 2 2009, 10:39
  
Пост #16



Репутация:   156  
Cтаршой
**

Группа: Пользователи
Сообщений: 944
С нами с: 22-April 08


Балансировка двух каналов средствами ipfw под FreeBSD
Пример разделения трафика для использования двух каналов в FreeBSD
(?)
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
Caxap
Oct 2 2009, 14:23
  
Пост #17



Репутация:   81  
Cтаршой
**

Группа: Пользователи
Сообщений: 553
С нами с: 30-June 08


У автора CentOS.
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
protrue
Oct 2 2009, 14:44
  
Пост #18



Репутация:   156  
Cтаршой
**

Группа: Пользователи
Сообщений: 944
С нами с: 22-April 08


(Caxap @ Oct 2 2009, 15:23) Перейти к цитате

У автора CentOS.

Мы в курсе! smile.gif

А отвечали на пост
(erby @ Oct 2 2009, 3:06) Перейти к цитате

а кто знает как на фряхе сделать
стоит сервак который раздает инет и сайты крутятся
был один провайдер все ходили в инет через него
мой конфиг
» Нажмите, чтобы показать спойлер - нажмите опять, чтобы скрыть... «

недавно подключил еще одного провайдера
хочу чтобы канал стал шире и сайт ишел на 2а АЙПИ
уже 3и часа мудохаюсь не могу настроить подскажите пожалуйста
нужно сделать чтобы в инет ходили через 2а канала

User is offlineProfile CardPM
Go to the top of the page
+Quote Post
erby
Oct 2 2009, 22:28
  
Пост #19



Репутация:   110  
Постоялец
***

Группа: Пользователи
Сообщений: 1 071
С нами с: 14-October 06


проблема в том что
пров сделал привязку к МАС адресу а я это забыл и подключил кабель к другой сет.карте и пытался что-то настроить
завтра буду звонить пускай обновляют МАС адрес
Вечером напишу результат

Сообщение отредактировал erby - Oct 3 2009, 0:06
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
erby
Oct 3 2009, 20:23
  
Пост #20



Репутация:   110  
Постоялец
***

Группа: Пользователи
Сообщений: 1 071
С нами с: 14-October 06


решил этот вопрос всем спс
мой конф

# -- sysinstall generated deltas -- # Thu May 29 16:15:11 2008
# Created: Thu May 29 16:15:11 2008
# Enable network daemons for user convenience.
# Please make all changes to this file, not to /etc/defaults/rc.conf.
# This file now contains just the overrides from /etc/defaults/rc.conf.
defaultrouter="78.159.хх.хх"
defaultrouter="94.244.хх.хх"



Сообщение отредактировал erby - Oct 25 2009, 19:00
User is offlineProfile CardPM
Go to the top of the page
+Quote Post

2 Страницы   1 2 >
Reply to this topicStart new topic

 



- Упрощённая версия
Сейчас: 25th March 2019 - 2:09
Сайт не предоставляет электронные версии произведений, а занимается лишь коллекционированием и каталогизацией ссылок, присылаемых и публикуемых на форуме нашими читателями. Если вы являетесь правообладателем какого-либо представленного материала и не желаете чтобы ссылка на него находилась в нашем каталоге, свяжитесь с нами и мы удалим её. Файлы для обмена предоставлены пользователями сайта.