URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID1
Нить номер: 72946
[ Назад ]

Исходное сообщение
"Два канала."

Отправлено Anatoly Zimin , 18-Мрт-07 17:35 
Добрый день всем.
Опять поднимая тему про 2-а канала.
Есть ли хорошое решение для такой ситуации:
Есть 2-а линка в интернет, нужно чтоб весь Офис ходил через один какнал.
Но если он вдуг упал необходимо чтоб все пользователи сразу начали ходить через второй (дополнительный) линк.
После некоторых поисков я так и не нашел правильного решения.
Оно есть?

Содержание

Сообщения в этом обсуждении
"Два канала."
Отправлено universite , 19-Мрт-07 02:52 

>После некоторых поисков я так и не нашел правильного решения.
>Оно есть?

Есть.
Воспользуйтесь поиском по фразе "Load Balancing" и "Backup channel"



"Два канала."
Отправлено Anatoly Zimin , 19-Мрт-07 13:56 
>
>>После некоторых поисков я так и не нашел правильного решения.
>>Оно есть?
>
>Есть.
>Воспользуйтесь поиском по фразе "Load Balancing" и "Backup channel"
Дело в том что эту проблему можно решить самопальными скриптами.
А я спрашиваю есть ли правильное решение, например какой-то демон итд  

"Два канала."
Отправлено Z0termaNN , 19-Мрт-07 14:10 
>>
>>>После некоторых поисков я так и не нашел правильного решения.
>>>Оно есть?
>>
>>Есть.
>>Воспользуйтесь поиском по фразе "Load Balancing" и "Backup channel"
>Дело в том что эту проблему можно решить самопальными скриптами.
>А я спрашиваю есть ли правильное решение, например какой-то демон итд

праильное решение - это то, ктоорое работает и хлеба не просит. Каким
образом ты подключен к провайдерам ?


"Два канала."
Отправлено A Clockwork Orange , 19-Мрт-07 14:24 
>>>
>>>>После некоторых поисков я так и не нашел правильного решения.
>>>>Оно есть?
>>>
>>>Есть.
>>>Воспользуйтесь поиском по фразе "Load Balancing" и "Backup channel"
>>Дело в том что эту проблему можно решить самопальными скриптами.
>>А я спрашиваю есть ли правильное решение, например какой-то демон итд
>
>праильное решение - это то, ктоорое работает и хлеба не просит. Каким
>
>образом ты подключен к провайдерам ?


правильно решение это не на коленках, а по науке


"Два канала."
Отправлено KobaLTD , 19-Мрт-07 17:26 

>правильно решение это не на коленках, а по науке


:) Сначала все решения - это "на коленках", а вот после небольших  усилий становиться "по науке". Так что не брезгуй решениями "на коленках" если они работают как тебе надо.
:)


"Два канала."
Отправлено Anatoly Zimin , 19-Мрт-07 17:00 
>>>
>>>>После некоторых поисков я так и не нашел правильного решения.
>>>>Оно есть?
>>>
>>>Есть.
>>>Воспользуйтесь поиском по фразе "Load Balancing" и "Backup channel"
>>Дело в том что эту проблему можно решить самопальными скриптами.
>>А я спрашиваю есть ли правильное решение, например какой-то демон итд
>
>праильное решение - это то, ктоорое работает и хлеба не просит. Каким
>
>образом ты подключен к провайдерам ?
Ethernet 10Mb
2-а канала.


"Два канала."
Отправлено Anatoly Zimin , 19-Мрт-07 17:01 
И 2-а внешних IP. (У двух разных провов)



"Два канала."
Отправлено Anatoly Zimin , 19-Мрт-07 17:13 
Есть статья на эту тему.
http://www.lartc.org/howto/lartc.rpdb.multiple-links.html#AE...
Так вот если я предположим заведу всех пользователей в одну таблицу.
И пропишу вторую таблицу.
Так вот переключатся ли пользователи с одного канала на другой в случае падения первого?

"Два канала."
Отправлено pavel_simple , 19-Мрт-07 17:19 
ip route add default 1.1.1.1 dev eth0 metric 5
ip route add default 2.2.2.2 dev ppp0 metric 10

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

или тоже неподходит??


"Два канала."
Отправлено pavel_simple , 19-Мрт-07 17:21 
RE:
>После некоторых поисков я так и не нашел правильного решения.
>Оно есть?

как то неправильно искал чтоли.


"Два канала."
Отправлено Anatoly Zimin , 19-Мрт-07 17:24 
>ip route add default 1.1.1.1 dev eth0 metric 5
>ip route add default 2.2.2.2 dev ppp0 metric 10
>
>если работает первый -- всё будет идти через него, как только с
>ним чего случиться по второму. Никаких демонов скриптов и т.д. Имена
>интерфейсов приведены для примера.
>
>или тоже неподходит??
У меня еще SNAT и Squid (Squid я думаю подцепит второй канал при падении первого)
А вот SANT?
Добавить второй?
ip route add default 10.0.0.254 dev eth0 metric 5
ip route add default 172.16.0.254 dev eth1 metric 10
$IPT -t nat -A POSTROUTING -s 192.168.1.0/24 -j SNAT --to-source 10.0.0.254
$IPT -t nat -A POSTROUTING -s 192.168.1.0/24 -j SNAT --to-source 172.16.0.254
Так будет работать?


"Два канала."
Отправлено pavel_simple , 19-Мрт-07 17:27 
-j MASQUERADE
??

"Два канала."
Отправлено Anatoly Zimin , 19-Мрт-07 17:32 
>-j MASQUERADE
>??
Возможно.
ip route add default via 10.0.0.254 dev eth0 metric 5
ip route add default via 172.16.0.254 dev eth1 metric 10
iptables -t nat -A POSTROUTING -p TCP -j MASQUERADE

"Два канала."
Отправлено Anatoly Zimin , 19-Мрт-07 17:36 
>>-j MASQUERADE
>>??
>Возможно.
>ip route add default via 10.0.0.254 dev eth0 metric 5
>ip route add default via 172.16.0.254 dev eth1 metric 10
>iptables -t nat -A POSTROUTING -p TCP -j MASQUERADE
Как-то слишком просто. :)
Надо пробовать.

"Два канала."
Отправлено Cyber , 05-Апр-07 10:02 
>>ip route add default 1.1.1.1 dev eth0 metric 5
>>ip route add default 2.2.2.2 dev ppp0 metric 10
>>
>>если работает первый -- всё будет идти через него, как только с
>>ним чего случиться по второму. Никаких демонов скриптов и т.д. Имена
>>интерфейсов приведены для примера.
>>
>>или тоже неподходит??
>У меня еще SNAT и Squid (Squid я думаю подцепит второй канал
>при падении первого)
>А вот SANT?
>Добавить второй?
>ip route add default 10.0.0.254 dev eth0 metric 5
>ip route add default 172.16.0.254 dev eth1 metric 10
>$IPT -t nat -A POSTROUTING -s 192.168.1.0/24 -j SNAT --to-source 10.0.0.254
>$IPT -t nat -A POSTROUTING -s 192.168.1.0/24 -j SNAT --to-source 172.16.0.254
>Так будет работать?

у меня таже проблема и нифига не работает.
проблема еще заключается в том, что у разных провайдеров разные DNS и я не занаю что делать.
я раздаю инет по VPN, где в свойствах подключения прописываю DNS сервера, это получается надо менять адреса самим или как можно сделать, что бы DNS присваивались автоматически.


"Два канала."
Отправлено universite , 05-Апр-07 11:47 

>у меня таже проблема и нифига не работает.
>проблема еще заключается в том, что у разных провайдеров разные DNS и
>я не занаю что делать.

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


"Два канала."
Отправлено Cyber , 08-Апр-07 08:18 
>
>>у меня таже проблема и нифига не работает.
>>проблема еще заключается в том, что у разных провайдеров разные DNS и
>>я не занаю что делать.
>
>Подымайте свой DNS, который будет самостоятельно форвардить запросы к этим провайдерам.


а вообще проблема решилась?
если нетрудно, то расскажите как...


"Два канала."
Отправлено pavel_simple , 19-Мрт-07 17:25 
обшибся
ip route add default via 1.1.1.1 dev eth0 metric 5
ip route add default via 2.2.2.2 dev ppp0 metric 10


"Два канала."
Отправлено Z0termaNN , 20-Мрт-07 14:20 
>>>>
>>>>>После некоторых поисков я так и не нашел правильного решения.
>>>>>Оно есть?
>>>>
>>>>Есть.
>>>>Воспользуйтесь поиском по фразе "Load Balancing" и "Backup channel"
>>>Дело в том что эту проблему можно решить самопальными скриптами.
>>>А я спрашиваю есть ли правильное решение, например какой-то демон итд
>>
>>праильное решение - это то, ктоорое работает и хлеба не просит. Каким
>>
>>образом ты подключен к провайдерам ?
>Ethernet 10Mb
>2-а канала.

Это самый фатальный случай, потому как в отличие от point-to-point интерфейсов отследить
падение канала довольно затруднильно, т.к. link в большинстве случаев вполне случаев
вполне нормально живет и при падениях канала. Я лично вижу 2 варианта:
- BGP (со всеми вытекающими отсюда последствиями в виде регистрации AS) и исскуственном
  удлинении маршрута через одного из провайдеров,
- самопальный скрипт/демон, который периодически проверяет достижимость провайдеров и в
  зависимости от результата правит метрики на маршрутах по умолчанию.


"Два канала."
Отправлено Anatoly Zimin , 20-Мрт-07 16:33 
>>>>>
>>>>>>После некоторых поисков я так и не нашел правильного решения.
>>>>>>Оно есть?
>>>>>
>>>>>Есть.
>>>>>Воспользуйтесь поиском по фразе "Load Balancing" и "Backup channel"
>>>>Дело в том что эту проблему можно решить самопальными скриптами.
>>>>А я спрашиваю есть ли правильное решение, например какой-то демон итд
>>>
>>>праильное решение - это то, ктоорое работает и хлеба не просит. Каким
>>>
>>>образом ты подключен к провайдерам ?
>>Ethernet 10Mb
>>2-а канала.
>
>Это самый фатальный случай, потому как в отличие от point-to-point интерфейсов отследить
>
>падение канала довольно затруднильно, т.к. link в большинстве случаев вполне случаев
>вполне нормально живет и при падениях канала. Я лично вижу 2 варианта:
>
>- BGP (со всеми вытекающими отсюда последствиями в виде регистрации AS) и
>исскуственном
>  удлинении маршрута через одного из провайдеров,
>- самопальный скрипт/демон, который периодически проверяет достижимость провайдеров и в
>  зависимости от результата правит метрики на маршрутах по умолчанию.
Да.
Например путь он пингует GW провайдера.
И как только пинг до шлюза пропадает будут менятся метрики.
И в крон скрипт на куаждую минуту.


"Два канала."
Отправлено _kirill_ , 22-Мрт-07 12:12 
а готовый скрипт можете выложить????

"Два канала."
Отправлено Anatoly Zimin , 03-Апр-07 13:52 
>а готовый скрипт можете выложить????
Можете. =)
Вот скрипт:

#!/bin/bash

GW1="172.16.1.1"
GW2="192.168.1.1"

if ping -I eth0 -c10 -W2 $GW1 2>&1 | grep "64 bytes from" > /dev/null && ping -I eth4 -c10 -W2 $GW2 2>&1 | grep "64 bytes from" > /dev/null ;
then
        ip route del default via $GW1 dev eth0 ;
        ip route del default via $GW2 dev eth4 ;
        ip route add default via $GW1 dev eth0 metric 5 ;
        ip route add default via $GW2 dev eth4 metric 10;
        echo "All channel Ok" ;
fi

if ping -I eth0 -c10 -W2 $GW1 2>&1 | grep "100% packet loss" > /dev/null && ping -I eth4 -c10 -W2 $GW2 2>&1 | grep "64 bytes from" > /dev/null ;
then
        ip route del default via $GW1 dev eth0 ;
        ip route del default via $GW2 dev eth4 ;
        ip route add default via $GW2 dev eth4 metric 5 ;
        ip route add default via $GW1 dev eth0 metric 10 ;
        echo "$GW1 DOWN! Switch on $GW2" ;
fi

if ping -I eth0 -c10 -W2 $GW1 2>&1 | grep "64 bytes from" > /dev/null && ping -I eth4 -c10 -W2 $GW2 2>&1 | grep "100% packet loss" > /dev/null ;
then
        ip route del default via $GW1 dev eth0 ;
        ip route del default via $GW2 dev eth4 ;
        ip route add default via $GW1 dev eth0 metric 5 ;
        ip route add default via $GW2 dev eth4 metric 10 ;
        echo "$GW2 DOWN! Switch on $GW1" ;
fi



"Два канала."
Отправлено Kirill , 03-Апр-07 16:19 
>>а готовый скрипт можете выложить????
>Можете. =)
>Вот скрипт:
>
>#!/bin/bash
>
>GW1="172.16.1.1"
>GW2="192.168.1.1"
>
>if ping -I eth0 -c10 -W2 $GW1 2>&1 | grep "64 bytes from" > /dev/null && ping -I eth4 -c10 -W2 $GW2 2>&1 | grep "64 bytes from" > /dev/null ;
>then
>        ip route del default
>via $GW1 dev eth0 ;
>        ip route del default
>via $GW2 dev eth4 ;
>        ip route add default
>via $GW1 dev eth0 metric 5 ;
>        ip route add default
>via $GW2 dev eth4 metric 10;
>        echo "All channel Ok"
>;
>fi
>
>if ping -I eth0 -c10 -W2 $GW1 2>&1 | grep "100% packet loss" > /dev/null && ping -I eth4 -c10 -W2 $GW2 2>&1 | grep "64 bytes from" > /dev/null ;
>then
>        ip route del default
>via $GW1 dev eth0 ;
>        ip route del default
>via $GW2 dev eth4 ;
>        ip route add default
>via $GW2 dev eth4 metric 5 ;
>        ip route add default
>via $GW1 dev eth0 metric 10 ;
>        echo "$GW1 DOWN! Switch
>on $GW2" ;
>fi
>
>if ping -I eth0 -c10 -W2 $GW1 2>&1 | grep "64 bytes from" > /dev/null && ping -I eth4 -c10 -W2 $GW2 2>&1 | grep "100% packet loss" > /dev/null ;
>then
>        ip route del default
>via $GW1 dev eth0 ;
>        ip route del default
>via $GW2 dev eth4 ;
>        ip route add default
>via $GW1 dev eth0 metric 5 ;
>        ip route add default
>via $GW2 dev eth4 metric 10 ;
>        echo "$GW2 DOWN! Switch
>on $GW1" ;
>fi


Спасибо, хотелось бы на Фришке скрипт.... Ну я думаю сам разберусь


"Два канала."
Отправлено A Clockwork Orange , 03-Апр-07 16:28 
>>а готовый скрипт можете выложить????
>Можете. =)
>Вот скрипт:
>
>#!/bin/bash
>
>GW1="172.16.1.1"
>GW2="192.168.1.1"
>
>if ping -I eth0 -c10 -W2 $GW1 2>&1 | grep "64 bytes from" > /dev/null && ping -I eth4 -c10 -W2 $GW2 2>&1 | grep "64 bytes from" > /dev/null ;
>then
>        ip route del default
>via $GW1 dev eth0 ;
>        ip route del default
>via $GW2 dev eth4 ;
>        ip route add default
>via $GW1 dev eth0 metric 5 ;
>        ip route add default
>via $GW2 dev eth4 metric 10;
>        echo "All channel Ok"
>;
>fi
>
>if ping -I eth0 -c10 -W2 $GW1 2>&1 | grep "100% packet loss" > /dev/null && ping -I eth4 -c10 -W2 $GW2 2>&1 | grep "64 bytes from" > /dev/null ;
>then
>        ip route del default
>via $GW1 dev eth0 ;
>        ip route del default
>via $GW2 dev eth4 ;
>        ip route add default
>via $GW2 dev eth4 metric 5 ;
>        ip route add default
>via $GW1 dev eth0 metric 10 ;
>        echo "$GW1 DOWN! Switch
>on $GW2" ;
>fi
>
>if ping -I eth0 -c10 -W2 $GW1 2>&1 | grep "64 bytes from" > /dev/null && ping -I eth4 -c10 -W2 $GW2 2>&1 | grep "100% packet loss" > /dev/null ;
>then
>        ip route del default
>via $GW1 dev eth0 ;
>        ip route del default
>via $GW2 dev eth4 ;
>        ip route add default
>via $GW1 dev eth0 metric 5 ;
>        ip route add default
>via $GW2 dev eth4 metric 10 ;
>        echo "$GW2 DOWN! Switch
>on $GW1" ;
>fi

а менять правила фаервола? провайдеры разные, внешний адреса разных провайдеров, разный нат.


"Два канала."
Отправлено Anatoly Zimin , 03-Апр-07 17:01 
>Спасибо, хотелось бы на Фришке скрипт.... Ну я думаю сам разберусь
=) Есть разница?

>а менять правила фаервола? провайдеры разные, внешний адреса разных провайдеров, разный нат.

В фаерволле уже все прописано под двух провайдеров.
И почитай выше... Может чего нового найдешь.


"Два канала."
Отправлено Kirill , 03-Апр-07 20:09 
>>Спасибо, хотелось бы на Фришке скрипт.... Ну я думаю сам разберусь
>=) Есть разница?
>
>>а менять правила фаервола? провайдеры разные, внешний адреса разных провайдеров, разный нат.
>
>В фаерволле уже все прописано под двух провайдеров.
>И почитай выше... Может чего нового найдешь.


как я знаю на ФрииБСД нету iproute2, а можно его поставить или нет?? В портах я его не нашёл....


"Два канала."
Отправлено Anatoly Zimin , 04-Апр-07 13:56 
>>>Спасибо, хотелось бы на Фришке скрипт.... Ну я думаю сам разберусь
>>=) Есть разница?
>>
>>>а менять правила фаервола? провайдеры разные, внешний адреса разных провайдеров, разный нат.
>>
>>В фаерволле уже все прописано под двух провайдеров.
>>И почитай выше... Может чего нового найдешь.
>
>
>как я знаю на ФрииБСД нету iproute2, а можно его поставить или
>нет?? В портах я его не нашёл....
Это можно сделать любым средством для маршрутизации.


"Два канала."
Отправлено Kirill , 04-Апр-07 14:09 
>>>>Спасибо, хотелось бы на Фришке скрипт.... Ну я думаю сам разберусь
>>>=) Есть разница?
>>>
>>>>а менять правила фаервола? провайдеры разные, внешний адреса разных провайдеров, разный нат.
>>>
>>>В фаерволле уже все прописано под двух провайдеров.
>>>И почитай выше... Может чего нового найдешь.
>>
>>
>>как я знаю на ФрииБСД нету iproute2, а можно его поставить или
>>нет?? В портах я его не нашёл....
>Это можно сделать любым средством для маршрутизации.


А во FreeBSD мона сделать нат на несколько интерфейсов через rc.conf, если можно то как??? помогите....


"Два канала."
Отправлено Anatoly Zimin , 04-Апр-07 15:57 
>>>>>Спасибо, хотелось бы на Фришке скрипт.... Ну я думаю сам разберусь
>>>>=) Есть разница?
>>>>
>>>>>а менять правила фаервола? провайдеры разные, внешний адреса разных провайдеров, разный нат.
>>>>
>>>>В фаерволле уже все прописано под двух провайдеров.
>>>>И почитай выше... Может чего нового найдешь.
>>>
>>>
>>>как я знаю на ФрииБСД нету iproute2, а можно его поставить или
>>>нет?? В портах я его не нашёл....
>>Это можно сделать любым средством для маршрутизации.
>
>
>А во FreeBSD мона сделать нат на несколько интерфейсов через rc.conf, если
>можно то как??? помогите....
Ну что же ты? В FreeBSD все гораздо проще!
http://www.lissyara.su/?id=1330