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

Шановні користувачі! Запрошуємо вас до офіційного телеграм-канала 0day Community. Тут ви зможете поспілкуватися одне з одним та дізнатися про останні новини щодо роботи ресурса, поставити запитання до адміністрації, тощо. Перейти до телеграм-канала можна відсканувавши QR-код або натиснувши на посилання: @zeroday_ua

 объединение двух каналов в один, 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

Сообщения в этой теме
hippieua   объединение двух каналов в один   Aug 13 2009, 11:43
protrue   Объединение пропускной способности двух интернет к...   Aug 13 2009, 12:13
hippieua   Объединение пропускной способности двух интернет ...   Aug 13 2009, 12:32
f10   задача номер 2 - объединить 2х100 в один 200 ( акт...   Aug 13 2009, 14:38
protrue   По доработке текущей конфигурации предлагаю ознако...   Aug 13 2009, 14:47
Liet Kynes   а вариант сделать статические рауты через одного п...   Aug 13 2009, 16:03
hippieua   Решение проблемы если кому интересно наверху, вкра...   Aug 17 2009, 10:57
protrue   Отлично. :good2: А эксперименты по "выпадан...   Aug 17 2009, 11:15
hippieua   Отлично. :good2: А эксперименты по "выпада...   Aug 17 2009, 11:20
protrue   Тут(МИР) очень простой скрипт для мониторинга в ре...   Aug 17 2009, 11:52
Acid Jack   на правах оффтопа: эх, ме бы ваши проблемы я вот ...   Aug 17 2009, 12:28
hippieua   на правах оффтопа: эх, ме бы ваши проблемы я вот...   Aug 17 2009, 12:40
Acid Jack   у меня стоит apple airport base station который н...   Aug 17 2009, 12:46
erby   а кто знает как на фряхе сделать стоит сервак кото...   Oct 2 2009, 2:06
olexande   Актуальная тема ... С месяц-два назад на opennet б...   Oct 2 2009, 10:16
protrue   Балансировка двух каналов средствами ipfw под Free...   Oct 2 2009, 10:39
Caxap   У автора CentOS.   Oct 2 2009, 14:23
protrue   У автора CentOS. Мы в курсе! :) А отвечал...   Oct 2 2009, 14:44
erby   проблема в том что пров сделал привязку к МАС адре...   Oct 2 2009, 22:28
erby   решил этот вопрос всем спс мой конф # -- sysinst...   Oct 3 2009, 20:23
erby   Вопрос не решен так как в инет ходим через 2го про...   Oct 25 2009, 19:04
olexande   тоже по руководству (для виртуальных машин) не про...   Nov 29 2009, 12:53
fli   Как быть с прозрачным прокси(squid) если в системе...   Jan 20 2013, 13:29


Reply to this topicStart new topic

 



- Упрощённая версия
Сейчас: 17th December 2025 - 9:39
Сайт не розміщує електронні версії творів, а займається лише колекціонуванням та каталогізацією посилань, що публікуються нашими користувачами. Якщо Ви є правовласником якоїсь частини опублікованого матеріалу та не бажаєте, щоб посилання на нього знаходилось в нашому каталозі, зв’яжіться з нами і ми видалимо його. Файли для обміну надані користувачами сайту і адміністрація не несе відповідальності за їх вміст.