Страница 1 из 1

Шлюз между тремя сетями. Нужна помощь.

Добавлено: 2011-10-28 8:05:29
slb51
Ситуация такая. Имеется локальная сеть 192.168.0.0/24 и два шлюза провайдеров : 10.20.30.1 и 80.90.100.1. Задача в том, чтобы в случае падения одного из провайдеров локалка автоматически переключалась на другого. Подключение осуществляется через IPFW на FreeBSD 8.2. Сейчас всё работает с провайдером 10.20.30.1. Как подвязать туда 80.90.100.1? Думаю, что прописать два шлюза на фряхе нельзя, а как надо сделать - не знаю. Прошу помощи.

Re: Шлюз между тремя сетями. Нужна помощь.

Добавлено: 2011-10-28 9:39:16
mak_v_
Ну что ж Вам так тяжело по форуму поискать? Тема обмывалась стопицот раз. И гугл кишит руководствами

Re: Шлюз между тремя сетями. Нужна помощь.

Добавлено: 2011-10-28 13:10:43
slb51
Это не совсем так. Полно информации о том, как сделать выход в Инет с двух локалок через один шлюз. Это не проблема. А надо наоборот - с одной локалки на двух провайдеров. Да чтобы автоматом выбиралось - через какого именно, если один из них отвалится.

Re: Шлюз между тремя сетями. Нужна помощь.

Добавлено: 2011-10-28 13:24:11
sadchok
slb51 писал(а):Думаю, что прописать два шлюза на фряхе нельзя, а как надо сделать - не знаю. Прошу помощи.
если использовать 2 таблицы маршрутизации то вроде можно

Re: Шлюз между тремя сетями. Нужна помощь.

Добавлено: 2011-10-28 13:27:55
slb51
Мне бы поподробнее, если можно.

Re: Шлюз между тремя сетями. Нужна помощь.

Добавлено: 2011-10-28 13:30:08
sadchok

Re: Шлюз между тремя сетями. Нужна помощь.

Добавлено: 2011-10-28 13:31:43
mak_v_
Все же попробуйте воспользоваться кнопкой поиск - там и решение
http://forum.lissyara.su/search.php?key ... B0+freebsd
ну ещё наводка load ballancing для вашего фаервола

Re: Шлюз между тремя сетями. Нужна помощь.

Добавлено: 2011-10-28 16:11:57
slb51
Ну не нахожу я того, что хочется. Там везде фрагментарные советы, а мне бы статью какую почитать. Типа "Открываем крышку системного блока и вставляем туда третий сетевой адаптер .... Ну и т.д." Может я не в том разделе форума вопрос задал. Надо было в "FreeBSD для начинющих".

Re: Шлюз между тремя сетями. Нужна помощь.

Добавлено: 2011-10-28 16:22:08
mak_v_
читать умные книги, фрагментарно и полностью, ставить опыты, просить более опытных коллег за вознаграждение растолковывать и т.д.

Re: Шлюз между тремя сетями. Нужна помощь.

Добавлено: 2011-10-28 18:11:20
slb51
Вот я и спрашиваю, что и где по этому поводу порекомендуете почитать.

Re: Шлюз между тремя сетями. Нужна помощь.

Добавлено: 2011-10-28 19:41:15
snorlov
Вы знаете, я даже не могу вам что-то посоветовать, поскольку из ваших сообщений мне понятно, что вы не понимаете разницу между сегментированием локальной сети и резервированием канала в инет,а именно последнее вам и нужно...

Re: Шлюз между тремя сетями. Нужна помощь.

Добавлено: 2011-10-29 18:55:36
slb51
Ну в общих чертах мне это представляется так. В первом случае просто ставится ещё один сетевой адаптер и настраивается практически так же, как и первый. С другим IP, конечно. На IPFW для него пишутся дополнительные правила. В настройках же адаптера, который смотри в Инет, ничего не меняется. И шлюз и NAT остаются всё там же. Это если между собой сегменты связывать не надо. Если надо, то об этом есть море информации. А в случае, когда локалка одна, а Инет-канала два, я не знаю, что надо делать и как. Хотя где-то в общих чертах и понимаю, что задача стоит противоположная первой.

Re: Шлюз между тремя сетями. Нужна помощь.

Добавлено: 2011-10-29 19:55:35
telo
сделать скрипт, который будет пинговать шлюз провайдера и гугл (например) и при отсутствии того и другого переключать на резервный канал. (route del, route add, ipfw ...)
а при появлении пинга с первого адаптера будет возвращать всё в исходное состояние

Re: Шлюз между тремя сетями. Нужна помощь.

Добавлено: 2011-10-30 14:29:46
slb51
сделать скрипт, который будет пинговать шлюз провайдера
Это уже интересно. Т.е. скрипт должен переписать переменные в ipfw.rules? Ну и перезапустить ipfw. Правильно я Вас понял?

Re: Шлюз между тремя сетями. Нужна помощь.

Добавлено: 2011-10-31 5:20:02
sadchok
telo писал(а):сделать скрипт, который будет пинговать шлюз провайдера и гугл (например) и при отсутствии того и другого переключать на резервный канал. (route del, route add, ipfw ...)
а при появлении пинга с первого адаптера будет возвращать всё в исходное состояние
Именно так.
Пишется скрипт который пингует шлюзы провайдеров.
И в зависимоти от результата меняет значение prob от 1 до 0

Re: Шлюз между тремя сетями. Нужна помощь.

Добавлено: 2011-10-31 8:22:48
slb51
И в зависимоти от результата меняет значение prob от 1 до 0
Поясните, пожалуйста, эту фразу. Скрипт меняет значение prob?

Re: Шлюз между тремя сетями. Нужна помощь.

Добавлено: 2011-10-31 8:36:32
Blacking
prob (пров - провайдер) :)

Re: Шлюз между тремя сетями. Нужна помощь.

Добавлено: 2011-10-31 9:15:55
slb51
Я понял. Но тут возникли некоторые сомнения насчёт самой идеи. А как провайдер отнесётся к постоянным пингам? Можно, конечно, пинговать с заданной периодичностью. Скрипт начинает разрастаться. А если канал падает, его всё равно надо продолжать пинговать, теперь уже постоянно, в ожидании когда он поднимется. Ещё усложняем скрипт. К тому же скрипт этот должен висеть резидентно для постоянного контроля. А при поднятии канала опять переключаться на него. Всё усложняется чрезмерно. Наверное проще ограничиться скриптом, изменяющим настройки IPFW, а запускать его вручную в случае необходимости. Ведь канал у прова падает не каждый день. А индикатором его падения вместо пинга могут служить возмущённые крики начальства (что, конечно, не очень приятно, зато надёжно).

Re: Шлюз между тремя сетями. Нужна помощь.

Добавлено: 2011-10-31 9:28:37
slb51
И ещё вопросик. Как я понимаю, в данной конфигурации надо будет на двух внешних интерфейсах прописать два разных defaultrouter. Windows на такие вещи реагирует отрицательно. А Фряха? Или скриптом надо и rc.conf править и перезапускать?

Re: Шлюз между тремя сетями. Нужна помощь.

Добавлено: 2011-10-31 13:42:19
sadchok
slb51 писал(а):
И в зависимоти от результата меняет значение prob от 1 до 0
Поясните, пожалуйста, эту фразу. Скрипт меняет значение prob?

cmd="/sbin/ipfw"
$cmd add 10 check-state
$cmd add 20 prob 0.5 setfib 0 tcp from 192.168.0.0/16 to not 192.168.0.0/16 setup keep-state
$cmd add 30 setfib 1 tcp from 192.168.0.0/16 to not 192.168.0.0/16 setup keep-state
$cmd add 40 allow all from any to any

Таким образом мы задаем распределение трафика 50/50. Если каналы не равноценные
то нужно выставить процентную весомость этих каналов.

http://solaris.opennet.ru/tips/info/2142.shtml?skip=115
slb51 писал(а):И ещё вопросик. Как я понимаю, в данной конфигурации надо будет на двух внешних интерфейсах прописать два разных defaultrouter. Windows на такие вещи реагирует отрицательно. А Фряха? Или скриптом надо и rc.conf править и перезапускать?

Задаем маршруты по умолчанию:

setfib 0 route add default 1.0.1.1 # таблица по умолчанию
setfib 1 route add default 1.1.1.1 # новая таблица

Re: Шлюз между тремя сетями. Нужна помощь.

Добавлено: 2011-11-01 8:08:20
Blacking

Re: Шлюз между тремя сетями. Нужна помощь.

Добавлено: 2011-11-02 15:51:02
suspender
Идея, как уже было сказано, такова:
2 таблицы маршрутизации + скрипт мониторящий провов + правило назначающее setfib перед заворачиванием в нат, как только наступает ситуация что нада сменить провайдера - меняется номер таблицы маршрутизации в вышеупомянутом правиле (осуществить можно кучей способов)

При использовании ipfw в такой мультиинтернетной конфигурации есть один подводный камень. Все сервисы самого шлюза (ssh, apache - ну короче все) извне будут доступны только на том айпишнеге - который соответствует нулевой таблице маршрутизациию ( т.е. принимать запросы оно будет на всех интерфейсах - а отвечать полюбому будет пытаться через дефолт гэвэ нулевой таблицы маршрутизации). По крайней мере так обстояло ещё с полгода назад - ща мб ситуация изменилась.
В pf для разруливания таких проблем есть конструкция reply-to

Re: Шлюз между тремя сетями. Нужна помощь.

Добавлено: 2012-03-03 3:43:20
slb51
Все варианты не понравились. Сбои бывают редко, а сервак будет постоянно заниматься проверкой связи. Думаю, будет удачнее вручную отреагировать на вопли юзеров. Но спасибо всем ответившим, узнал много интересного.