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

Исходное сообщение
"Реализация двух интернет каналов во Freebsd"

Отправлено matrich , 23-Янв-08 18:06 
Подскажите как лучше сделать, чтобы один был основной, а второй поднимался, когда ложился первый?
Возможно ли при помощи lagg?

Содержание

Сообщения в этом обсуждении
"Реализация двух интернет каналов во Freebsd"
Отправлено CrAzOiD , 23-Янв-08 18:11 
>Подскажите как лучше сделать, чтобы один был основной, а второй поднимался, когда
>ложился первый?
>Возможно ли при помощи lagg?

а если оба стоят, но метрики маршрутов в каналы разные?


"Реализация двух интернет каналов во Freebsd"
Отправлено matrich , 23-Янв-08 18:13 

>а если оба стоят, но метрики маршрутов в каналы разные?

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



"Реализация двух интернет каналов во Freebsd"
Отправлено CrAzOiD , 24-Янв-08 01:28 
>
>>а если оба стоят, но метрики маршрутов в каналы разные?
>
>так если один из них пропадет, необходимо переделывать все маршруты в рабочий,
>как быть?

покажите мне как вы определяете что канал упал - остальное дело техники
вооще, обычно в линухаха пишут скрипт который "проингивает" провайдера с нужного интерфейса и по наличию реплаев принимается решение о "живости" канала. дальше маршут прокидывают туда.
скрипт простой, гуглицО на ура


"Реализация двух интернет каналов во Freebsd"
Отправлено Анонимус , 24-Янв-08 14:29 
>[оверквотинг удален]
>>
>>так если один из них пропадет, необходимо переделывать все маршруты в рабочий,
>>как быть?
>
>покажите мне как вы определяете что канал упал - остальное дело техники
>
>вооще, обычно в линухаха пишут скрипт который "проингивает" провайдера с нужного интерфейса
>и по наличию реплаев принимается решение о "живости" канала. дальше маршут
>прокидывают туда.
>скрипт простой, гуглицО на ура

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


"Реализация двух интернет каналов во Freebsd"
Отправлено maGn , 24-Янв-08 16:02 
моя ситуация схожа..

два роутера - два канала..
в локале стоит WEB север ( ОС ФриБСД 6.2 релиз) нгинкс + фаст цги
надо чтобы в этот сервак смотрел в два канала..
а на сколько я понимаю метрик во фре нету.. дефаулт роутера две штуки в рц.конф не пропишешь..
как вариант можно было бы на самих роутерах прописать маршрут друг на друга с метрикой в выше на 1, но как оказалось мои длинки не знают что такое метрика ):
не прошу раскладывать мне все по полкам)
хотябы скажите куда рыть?
ipfw
mrouted


после того как тут посоветовали скрипт воспрял духом но прочитав
http://tropinki.net/forum/freebsd-i-dva-provaidera
упал)

помогите, спасибо. (:


"Реализация двух интернет каналов во Freebsd"
Отправлено tmp , 25-Янв-08 07:37 
Лично я склонен не верить такому(http://tropinki.net/forum/freebsd-i-dva-provaidera) катигорическому утверждению, по большому счету все зависит от ситуации и обстоятельств.

У меня довольно простая ситуация но может поможет:

Два канала один прямой другой через vpn, на vpn'шном канале дешовый инет.
В rc.conf defaultroute прописан на прямой канал.
В /etc/defaults лежит файлик sysconf там прописанно DEFAULTROUTE=PROFF.
В скрипте фаерволла подключается этот(sysconf) файлик и в зависимоси от значения параметра DEFAULTROUTE выберается соответствующий nat,fwd,antispoofing и т.д.
В mpd'шке в скриптах UP и DOWN выполняется замена defaultroute,nat,fwd .... соответственно при поднятии и при опускании второго канала, ПРИЧЕМ С УЧЕТОМ ЗНАЧЕНИЯ ИЗ ФАЙЛА /etc/defaults/sysconf :-).
По крону запускается скриптик для проверки канала, есть/нет инет, если что меняет останавливает mpd'шку, меняет параметр в /etc/defaults/sysconf и запускает заново.
Ну и плюс в rc.conf прописана большая часть маршрутов до сетей(там внутренний трафик. дружественные сети и т.д.) и ip'шников какждого прова.
И все работает уж хрен знает скоко без особых косиков :-)

Единственное по началу были проблемы с mpd'шкой, при поднятии или опускании интерфейса, при определенных условиях затирался defaultroute. Вылечил скриптом в кроне :-)

Грубовато но работает, вешал 6-ть каналов на такую схему, удивился что с незначительными изменениями все то же заработало :-).


"Реализация двух интернет каналов во Freebsd"
Отправлено ShyLion , 25-Янв-08 08:40 
>после того как тут посоветовали скрипт воспрял духом но прочитав
>http://tropinki.net/forum/freebsd-i-dva-provaidera
>упал)

На заборе Х. написано, а там дрова лежат.

>моя ситуация схожа..
>
>два роутера - два канала..
>в локале стоит WEB север ( ОС ФриБСД 6.2 релиз) нгинкс +
>фаст цги
>надо чтобы в этот сервак смотрел в два канала..

Если надо, чтобы веб-сервер был доступен через два разных канала, то можно сделать примерно так:

на обеих роутерах включен НАТ, на вебсервере назначено несколько ИП адресов, дефолтным шлюзом можеть быть любой из роутров. На роутерах НАТишь только один из ардесов вебсервера, а для второго делаешь полиси роутинг на соседний шлюз. Соответственно на роутерах порты пробрасываешь на разные ИП одного и того-же веб сервера - на каждом шлюзе свой. Третий ИП можно натить на обоих роутерах, а веб сервер должен мониторить оба канала и выбирать дефолтный роут сам скриптами.
Делается это и на фре и на циске и на линуксе. Впринципе оба канала можно завести и на один девайс. У меня есть опыт в этом деле.


"Реализация двух интернет каналов во Freebsd"
Отправлено ShyLion , 25-Янв-08 08:44 
>[оверквотинг удален]
>>упал)
>
>На заборе Х. написано, а там дрова лежат.
>
>>моя ситуация схожа..
>>
>>два роутера - два канала..
>>в локале стоит WEB север ( ОС ФриБСД 6.2 релиз) нгинкс +
>>фаст цги
>>надо чтобы в этот сервак смотрел в два канала..

Можно и сам вебсервер зацепить к обоим каналам. без всяких НАТов, кстати.


"Реализация двух интернет каналов во Freebsd"
Отправлено ShyLion , 25-Янв-08 10:58 
>Возможно ли при помощи lagg?

Это из другой оперы, уровнем ниже.

>Подскажите как лучше сделать, чтобы один был основной, а второй поднимался, когда
>ложился первый?

pf.conf:

nat on $ext_if1 from $int_if:network to any -> ($ext_if1)
nat on $ext_if2 from $int_if:network to any -> ($ext_if2)

pass out quick route-to ($ext_if1 $ext_if1_router) from $ext_if1 to any keep state
pass out quick route-to ($ext_if2 $ext_if2_router) from $ext_if2 to any keep state

далее по смыслу.

по крону мониторишь состояние линков пингами с фиксированым исходящим IP, man ping
по результатам пингов манипулируешь дефолтным маршрутом, man route

одна из проблем - а чего же собственно мониторить - тут каждый решает сам, кому что нужней из ресурсов.