Добрый день всем.
Опять поднимая тему про 2-а канала.
Есть ли хорошое решение для такой ситуации:
Есть 2-а линка в интернет, нужно чтоб весь Офис ходил через один какнал.
Но если он вдуг упал необходимо чтоб все пользователи сразу начали ходить через второй (дополнительный) линк.
После некоторых поисков я так и не нашел правильного решения.
Оно есть?
>После некоторых поисков я так и не нашел правильного решения.
>Оно есть?Есть.
Воспользуйтесь поиском по фразе "Load Balancing" и "Backup channel"
>
>>После некоторых поисков я так и не нашел правильного решения.
>>Оно есть?
>
>Есть.
>Воспользуйтесь поиском по фразе "Load Balancing" и "Backup channel"
Дело в том что эту проблему можно решить самопальными скриптами.
А я спрашиваю есть ли правильное решение, например какой-то демон итд
>>
>>>После некоторых поисков я так и не нашел правильного решения.
>>>Оно есть?
>>
>>Есть.
>>Воспользуйтесь поиском по фразе "Load Balancing" и "Backup channel"
>Дело в том что эту проблему можно решить самопальными скриптами.
>А я спрашиваю есть ли правильное решение, например какой-то демон итдпраильное решение - это то, ктоорое работает и хлеба не просит. Каким
образом ты подключен к провайдерам ?
>>>
>>>>После некоторых поисков я так и не нашел правильного решения.
>>>>Оно есть?
>>>
>>>Есть.
>>>Воспользуйтесь поиском по фразе "Load Balancing" и "Backup channel"
>>Дело в том что эту проблему можно решить самопальными скриптами.
>>А я спрашиваю есть ли правильное решение, например какой-то демон итд
>
>праильное решение - это то, ктоорое работает и хлеба не просит. Каким
>
>образом ты подключен к провайдерам ?
правильно решение это не на коленках, а по науке
>правильно решение это не на коленках, а по науке
:) Сначала все решения - это "на коленках", а вот после небольших усилий становиться "по науке". Так что не брезгуй решениями "на коленках" если они работают как тебе надо.
:)
>>>
>>>>После некоторых поисков я так и не нашел правильного решения.
>>>>Оно есть?
>>>
>>>Есть.
>>>Воспользуйтесь поиском по фразе "Load Balancing" и "Backup channel"
>>Дело в том что эту проблему можно решить самопальными скриптами.
>>А я спрашиваю есть ли правильное решение, например какой-то демон итд
>
>праильное решение - это то, ктоорое работает и хлеба не просит. Каким
>
>образом ты подключен к провайдерам ?
Ethernet 10Mb
2-а канала.
И 2-а внешних IP. (У двух разных провов)
Есть статья на эту тему.
http://www.lartc.org/howto/lartc.rpdb.multiple-links.html#AE...
Так вот если я предположим заведу всех пользователей в одну таблицу.
И пропишу вторую таблицу.
Так вот переключатся ли пользователи с одного канала на другой в случае падения первого?
ip route add default 1.1.1.1 dev eth0 metric 5
ip route add default 2.2.2.2 dev ppp0 metric 10если работает первый -- всё будет идти через него, как только с ним чего случиться по второму. Никаких демонов скриптов и т.д. Имена интерфейсов приведены для примера.
или тоже неподходит??
RE:
>После некоторых поисков я так и не нашел правильного решения.
>Оно есть?как то неправильно искал чтоли.
>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
Так будет работать?
-j MASQUERADE
??
>-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
>>-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
Как-то слишком просто. :)
Надо пробовать.
>>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 присваивались автоматически.
>у меня таже проблема и нифига не работает.
>проблема еще заключается в том, что у разных провайдеров разные DNS и
>я не занаю что делать.Подымайте свой DNS, который будет самостоятельно форвардить запросы к этим провайдерам.
>
>>у меня таже проблема и нифига не работает.
>>проблема еще заключается в том, что у разных провайдеров разные DNS и
>>я не занаю что делать.
>
>Подымайте свой DNS, который будет самостоятельно форвардить запросы к этим провайдерам.
а вообще проблема решилась?
если нетрудно, то расскажите как...
обшибся
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
>>>>
>>>>>После некоторых поисков я так и не нашел правильного решения.
>>>>>Оно есть?
>>>>
>>>>Есть.
>>>>Воспользуйтесь поиском по фразе "Load Balancing" и "Backup channel"
>>>Дело в том что эту проблему можно решить самопальными скриптами.
>>>А я спрашиваю есть ли правильное решение, например какой-то демон итд
>>
>>праильное решение - это то, ктоорое работает и хлеба не просит. Каким
>>
>>образом ты подключен к провайдерам ?
>Ethernet 10Mb
>2-а канала.Это самый фатальный случай, потому как в отличие от point-to-point интерфейсов отследить
падение канала довольно затруднильно, т.к. link в большинстве случаев вполне случаев
вполне нормально живет и при падениях канала. Я лично вижу 2 варианта:
- BGP (со всеми вытекающими отсюда последствиями в виде регистрации AS) и исскуственном
удлинении маршрута через одного из провайдеров,
- самопальный скрипт/демон, который периодически проверяет достижимость провайдеров и в
зависимости от результата правит метрики на маршрутах по умолчанию.
>>>>>
>>>>>>После некоторых поисков я так и не нашел правильного решения.
>>>>>>Оно есть?
>>>>>
>>>>>Есть.
>>>>>Воспользуйтесь поиском по фразе "Load Balancing" и "Backup channel"
>>>>Дело в том что эту проблему можно решить самопальными скриптами.
>>>>А я спрашиваю есть ли правильное решение, например какой-то демон итд
>>>
>>>праильное решение - это то, ктоорое работает и хлеба не просит. Каким
>>>
>>>образом ты подключен к провайдерам ?
>>Ethernet 10Mb
>>2-а канала.
>
>Это самый фатальный случай, потому как в отличие от point-to-point интерфейсов отследить
>
>падение канала довольно затруднильно, т.к. link в большинстве случаев вполне случаев
>вполне нормально живет и при падениях канала. Я лично вижу 2 варианта:
>
>- BGP (со всеми вытекающими отсюда последствиями в виде регистрации AS) и
>исскуственном
> удлинении маршрута через одного из провайдеров,
>- самопальный скрипт/демон, который периодически проверяет достижимость провайдеров и в
> зависимости от результата правит метрики на маршрутах по умолчанию.
Да.
Например путь он пингует GW провайдера.
И как только пинг до шлюза пропадает будут менятся метрики.
И в крон скрипт на куаждую минуту.
а готовый скрипт можете выложить????
>а готовый скрипт можете выложить????
Можете. =)
Вот скрипт:#!/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" ;
fiif 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" ;
fiif 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
>>а готовый скрипт можете выложить????
>Можете. =)
>Вот скрипт:
>
>#!/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
Спасибо, хотелось бы на Фришке скрипт.... Ну я думаю сам разберусь
>>а готовый скрипт можете выложить????
>Можете. =)
>Вот скрипт:
>
>#!/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а менять правила фаервола? провайдеры разные, внешний адреса разных провайдеров, разный нат.
>Спасибо, хотелось бы на Фришке скрипт.... Ну я думаю сам разберусь
=) Есть разница?>а менять правила фаервола? провайдеры разные, внешний адреса разных провайдеров, разный нат.
В фаерволле уже все прописано под двух провайдеров.
И почитай выше... Может чего нового найдешь.
>>Спасибо, хотелось бы на Фришке скрипт.... Ну я думаю сам разберусь
>=) Есть разница?
>
>>а менять правила фаервола? провайдеры разные, внешний адреса разных провайдеров, разный нат.
>
>В фаерволле уже все прописано под двух провайдеров.
>И почитай выше... Может чего нового найдешь.
как я знаю на ФрииБСД нету iproute2, а можно его поставить или нет?? В портах я его не нашёл....
>>>Спасибо, хотелось бы на Фришке скрипт.... Ну я думаю сам разберусь
>>=) Есть разница?
>>
>>>а менять правила фаервола? провайдеры разные, внешний адреса разных провайдеров, разный нат.
>>
>>В фаерволле уже все прописано под двух провайдеров.
>>И почитай выше... Может чего нового найдешь.
>
>
>как я знаю на ФрииБСД нету iproute2, а можно его поставить или
>нет?? В портах я его не нашёл....
Это можно сделать любым средством для маршрутизации.
>>>>Спасибо, хотелось бы на Фришке скрипт.... Ну я думаю сам разберусь
>>>=) Есть разница?
>>>
>>>>а менять правила фаервола? провайдеры разные, внешний адреса разных провайдеров, разный нат.
>>>
>>>В фаерволле уже все прописано под двух провайдеров.
>>>И почитай выше... Может чего нового найдешь.
>>
>>
>>как я знаю на ФрииБСД нету iproute2, а можно его поставить или
>>нет?? В портах я его не нашёл....
>Это можно сделать любым средством для маршрутизации.
А во FreeBSD мона сделать нат на несколько интерфейсов через rc.conf, если можно то как??? помогите....
>>>>>Спасибо, хотелось бы на Фришке скрипт.... Ну я думаю сам разберусь
>>>>=) Есть разница?
>>>>
>>>>>а менять правила фаервола? провайдеры разные, внешний адреса разных провайдеров, разный нат.
>>>>
>>>>В фаерволле уже все прописано под двух провайдеров.
>>>>И почитай выше... Может чего нового найдешь.
>>>
>>>
>>>как я знаю на ФрииБСД нету iproute2, а можно его поставить или
>>>нет?? В портах я его не нашёл....
>>Это можно сделать любым средством для маршрутизации.
>
>
>А во FreeBSD мона сделать нат на несколько интерфейсов через rc.conf, если
>можно то как??? помогите....
Ну что же ты? В FreeBSD все гораздо проще!
http://www.lissyara.su/?id=1330