Шлюз между тремя сетями. Нужна помощь.
Правила форума
Убедительная просьба юзать теги [cоde] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
Убедительная просьба юзать теги [cоde] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
- slb51
- мл. сержант
- Сообщения: 126
- Зарегистрирован: 2009-10-27 12:04:47
- Откуда: Нижний Новгород
Шлюз между тремя сетями. Нужна помощь.
Ситуация такая. Имеется локальная сеть 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? Думаю, что прописать два шлюза на фряхе нельзя, а как надо сделать - не знаю. Прошу помощи.
Услуги хостинговой компании Host-Food.ru
Тарифы на хостинг в России, от 12 рублей: https://www.host-food.ru/tariffs/hosting/
Тарифы на виртуальные сервера (VPS/VDS/KVM) в РФ, от 189 руб.: https://www.host-food.ru/tariffs/virtualny-server-vps/
Выделенные сервера, Россия, Москва, от 2000 рублей (HP Proliant G5, Intel Xeon E5430 (2.66GHz, Quad-Core, 12Mb), 8Gb RAM, 2x300Gb SAS HDD, P400i, 512Mb, BBU):
https://www.host-food.ru/tariffs/vydelennyi-server-ds/
Недорогие домены в популярных зонах: https://www.host-food.ru/domains/
Тарифы на виртуальные сервера (VPS/VDS/KVM) в РФ, от 189 руб.: https://www.host-food.ru/tariffs/virtualny-server-vps/
Выделенные сервера, Россия, Москва, от 2000 рублей (HP Proliant G5, Intel Xeon E5430 (2.66GHz, Quad-Core, 12Mb), 8Gb RAM, 2x300Gb SAS HDD, P400i, 512Mb, BBU):
https://www.host-food.ru/tariffs/vydelennyi-server-ds/
Недорогие домены в популярных зонах: https://www.host-food.ru/domains/
-
- проходил мимо
Re: Шлюз между тремя сетями. Нужна помощь.
Ну что ж Вам так тяжело по форуму поискать? Тема обмывалась стопицот раз. И гугл кишит руководствами
- slb51
- мл. сержант
- Сообщения: 126
- Зарегистрирован: 2009-10-27 12:04:47
- Откуда: Нижний Новгород
Re: Шлюз между тремя сетями. Нужна помощь.
Это не совсем так. Полно информации о том, как сделать выход в Инет с двух локалок через один шлюз. Это не проблема. А надо наоборот - с одной локалки на двух провайдеров. Да чтобы автоматом выбиралось - через какого именно, если один из них отвалится.
- sadchok
- сержант
- Сообщения: 271
- Зарегистрирован: 2011-10-13 10:40:54
- Откуда: Алтайский край
Re: Шлюз между тремя сетями. Нужна помощь.
если использовать 2 таблицы маршрутизации то вроде можноslb51 писал(а):Думаю, что прописать два шлюза на фряхе нельзя, а как надо сделать - не знаю. Прошу помощи.
The brain can not be found. Runs the software emulation
- slb51
- мл. сержант
- Сообщения: 126
- Зарегистрирован: 2009-10-27 12:04:47
- Откуда: Нижний Новгород
Re: Шлюз между тремя сетями. Нужна помощь.
Мне бы поподробнее, если можно.
- sadchok
- сержант
- Сообщения: 271
- Зарегистрирован: 2011-10-13 10:40:54
- Откуда: Алтайский край
Re: Шлюз между тремя сетями. Нужна помощь.
The brain can not be found. Runs the software emulation
-
- проходил мимо
Re: Шлюз между тремя сетями. Нужна помощь.
Все же попробуйте воспользоваться кнопкой поиск - там и решение
http://forum.lissyara.su/search.php?key ... B0+freebsd
ну ещё наводка load ballancing для вашего фаервола
http://forum.lissyara.su/search.php?key ... B0+freebsd
ну ещё наводка load ballancing для вашего фаервола
- slb51
- мл. сержант
- Сообщения: 126
- Зарегистрирован: 2009-10-27 12:04:47
- Откуда: Нижний Новгород
Re: Шлюз между тремя сетями. Нужна помощь.
Ну не нахожу я того, что хочется. Там везде фрагментарные советы, а мне бы статью какую почитать. Типа "Открываем крышку системного блока и вставляем туда третий сетевой адаптер .... Ну и т.д." Может я не в том разделе форума вопрос задал. Надо было в "FreeBSD для начинющих".
-
- проходил мимо
Re: Шлюз между тремя сетями. Нужна помощь.
читать умные книги, фрагментарно и полностью, ставить опыты, просить более опытных коллег за вознаграждение растолковывать и т.д.
- slb51
- мл. сержант
- Сообщения: 126
- Зарегистрирован: 2009-10-27 12:04:47
- Откуда: Нижний Новгород
Re: Шлюз между тремя сетями. Нужна помощь.
Вот я и спрашиваю, что и где по этому поводу порекомендуете почитать.
-
- подполковник
- Сообщения: 3923
- Зарегистрирован: 2008-09-04 11:51:25
- Откуда: Санкт-Петербург
Re: Шлюз между тремя сетями. Нужна помощь.
Вы знаете, я даже не могу вам что-то посоветовать, поскольку из ваших сообщений мне понятно, что вы не понимаете разницу между сегментированием локальной сети и резервированием канала в инет,а именно последнее вам и нужно...
- slb51
- мл. сержант
- Сообщения: 126
- Зарегистрирован: 2009-10-27 12:04:47
- Откуда: Нижний Новгород
Re: Шлюз между тремя сетями. Нужна помощь.
Ну в общих чертах мне это представляется так. В первом случае просто ставится ещё один сетевой адаптер и настраивается практически так же, как и первый. С другим IP, конечно. На IPFW для него пишутся дополнительные правила. В настройках же адаптера, который смотри в Инет, ничего не меняется. И шлюз и NAT остаются всё там же. Это если между собой сегменты связывать не надо. Если надо, то об этом есть море информации. А в случае, когда локалка одна, а Инет-канала два, я не знаю, что надо делать и как. Хотя где-то в общих чертах и понимаю, что задача стоит противоположная первой.
-
- рядовой
- Сообщения: 21
- Зарегистрирован: 2011-07-28 19:18:25
Re: Шлюз между тремя сетями. Нужна помощь.
сделать скрипт, который будет пинговать шлюз провайдера и гугл (например) и при отсутствии того и другого переключать на резервный канал. (route del, route add, ipfw ...)
а при появлении пинга с первого адаптера будет возвращать всё в исходное состояние
а при появлении пинга с первого адаптера будет возвращать всё в исходное состояние
- slb51
- мл. сержант
- Сообщения: 126
- Зарегистрирован: 2009-10-27 12:04:47
- Откуда: Нижний Новгород
Re: Шлюз между тремя сетями. Нужна помощь.
Это уже интересно. Т.е. скрипт должен переписать переменные в ipfw.rules? Ну и перезапустить ipfw. Правильно я Вас понял?сделать скрипт, который будет пинговать шлюз провайдера
- sadchok
- сержант
- Сообщения: 271
- Зарегистрирован: 2011-10-13 10:40:54
- Откуда: Алтайский край
Re: Шлюз между тремя сетями. Нужна помощь.
Именно так.telo писал(а):сделать скрипт, который будет пинговать шлюз провайдера и гугл (например) и при отсутствии того и другого переключать на резервный канал. (route del, route add, ipfw ...)
а при появлении пинга с первого адаптера будет возвращать всё в исходное состояние
Пишется скрипт который пингует шлюзы провайдеров.
И в зависимоти от результата меняет значение prob от 1 до 0
The brain can not be found. Runs the software emulation
- slb51
- мл. сержант
- Сообщения: 126
- Зарегистрирован: 2009-10-27 12:04:47
- Откуда: Нижний Новгород
Re: Шлюз между тремя сетями. Нужна помощь.
Поясните, пожалуйста, эту фразу. Скрипт меняет значение prob?И в зависимоти от результата меняет значение prob от 1 до 0
-
- мл. сержант
- Сообщения: 131
- Зарегистрирован: 2007-03-01 10:20:10
- Откуда: Томская обл. ЗАТО Северск
- Контактная информация:
Re: Шлюз между тремя сетями. Нужна помощь.
prob (пров - провайдер) 

Нет дома на воле,
А значит и адреса нет...
А значит и адреса нет...
- slb51
- мл. сержант
- Сообщения: 126
- Зарегистрирован: 2009-10-27 12:04:47
- Откуда: Нижний Новгород
Re: Шлюз между тремя сетями. Нужна помощь.
Я понял. Но тут возникли некоторые сомнения насчёт самой идеи. А как провайдер отнесётся к постоянным пингам? Можно, конечно, пинговать с заданной периодичностью. Скрипт начинает разрастаться. А если канал падает, его всё равно надо продолжать пинговать, теперь уже постоянно, в ожидании когда он поднимется. Ещё усложняем скрипт. К тому же скрипт этот должен висеть резидентно для постоянного контроля. А при поднятии канала опять переключаться на него. Всё усложняется чрезмерно. Наверное проще ограничиться скриптом, изменяющим настройки IPFW, а запускать его вручную в случае необходимости. Ведь канал у прова падает не каждый день. А индикатором его падения вместо пинга могут служить возмущённые крики начальства (что, конечно, не очень приятно, зато надёжно).
- slb51
- мл. сержант
- Сообщения: 126
- Зарегистрирован: 2009-10-27 12:04:47
- Откуда: Нижний Новгород
Re: Шлюз между тремя сетями. Нужна помощь.
И ещё вопросик. Как я понимаю, в данной конфигурации надо будет на двух внешних интерфейсах прописать два разных defaultrouter. Windows на такие вещи реагирует отрицательно. А Фряха? Или скриптом надо и rc.conf править и перезапускать?
- sadchok
- сержант
- Сообщения: 271
- Зарегистрирован: 2011-10-13 10:40:54
- Откуда: Алтайский край
Re: Шлюз между тремя сетями. Нужна помощь.
slb51 писал(а):Поясните, пожалуйста, эту фразу. Скрипт меняет значение prob?И в зависимоти от результата меняет значение prob от 1 до 0
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 # новая таблица
The brain can not be found. Runs the software emulation
-
- мл. сержант
- Сообщения: 131
- Зарегистрирован: 2007-03-01 10:20:10
- Откуда: Томская обл. ЗАТО Северск
- Контактная информация:
Re: Шлюз между тремя сетями. Нужна помощь.
Нет дома на воле,
А значит и адреса нет...
А значит и адреса нет...
-
- сержант
- Сообщения: 160
- Зарегистрирован: 2007-11-19 10:47:09
Re: Шлюз между тремя сетями. Нужна помощь.
Идея, как уже было сказано, такова:
2 таблицы маршрутизации + скрипт мониторящий провов + правило назначающее setfib перед заворачиванием в нат, как только наступает ситуация что нада сменить провайдера - меняется номер таблицы маршрутизации в вышеупомянутом правиле (осуществить можно кучей способов)
При использовании ipfw в такой мультиинтернетной конфигурации есть один подводный камень. Все сервисы самого шлюза (ssh, apache - ну короче все) извне будут доступны только на том айпишнеге - который соответствует нулевой таблице маршрутизациию ( т.е. принимать запросы оно будет на всех интерфейсах - а отвечать полюбому будет пытаться через дефолт гэвэ нулевой таблицы маршрутизации). По крайней мере так обстояло ещё с полгода назад - ща мб ситуация изменилась.
В pf для разруливания таких проблем есть конструкция reply-to
2 таблицы маршрутизации + скрипт мониторящий провов + правило назначающее setfib перед заворачиванием в нат, как только наступает ситуация что нада сменить провайдера - меняется номер таблицы маршрутизации в вышеупомянутом правиле (осуществить можно кучей способов)
При использовании ipfw в такой мультиинтернетной конфигурации есть один подводный камень. Все сервисы самого шлюза (ssh, apache - ну короче все) извне будут доступны только на том айпишнеге - который соответствует нулевой таблице маршрутизациию ( т.е. принимать запросы оно будет на всех интерфейсах - а отвечать полюбому будет пытаться через дефолт гэвэ нулевой таблицы маршрутизации). По крайней мере так обстояло ещё с полгода назад - ща мб ситуация изменилась.
В pf для разруливания таких проблем есть конструкция reply-to
- slb51
- мл. сержант
- Сообщения: 126
- Зарегистрирован: 2009-10-27 12:04:47
- Откуда: Нижний Новгород
Re: Шлюз между тремя сетями. Нужна помощь.
Все варианты не понравились. Сбои бывают редко, а сервак будет постоянно заниматься проверкой связи. Думаю, будет удачнее вручную отреагировать на вопли юзеров. Но спасибо всем ответившим, узнал много интересного.