IPFW и два маршрута в Интернет
Правила форума
Убедительная просьба юзать теги [cоde] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
Убедительная просьба юзать теги [cоde] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
-
- мл. сержант
- Сообщения: 94
- Зарегистрирован: 2014-01-03 2:45:53
- Контактная информация:
IPFW и два маршрута в Интернет
Есть два канала в Интернет. Стоит роутер с Freebsd 8.4 на котором вкомпилин ipfw. Нужна помощь в реализации одновременного доступа к роутеру из вне.
Последний раз редактировалось f_andrey 2014-02-07 5:02:28, всего редактировалось 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/
-
- проходил мимо
- Сообщения: 4
- Зарегистрирован: 2012-02-08 15:46:51
Re: IPFW и два маршрута в Интернет
Если хочешь запускать разные приложения\сервисы слушающие разные каналы, то копай в сторону setfib
-
- лейтенант
- Сообщения: 719
- Зарегистрирован: 2007-08-23 10:56:51
- Откуда: Украина, г. Киев, г. Белая Церковь
- Контактная информация:
Re: IPFW и два маршрута в Интернет
http://forum.lissyara.su/viewtopic.php? ... 4&start=75
Эту тему почитай, там есть мои ответы по данной теме
Эту тему почитай, там есть мои ответы по данной теме
-
- мл. сержант
- Сообщения: 94
- Зарегистрирован: 2014-01-03 2:45:53
- Контактная информация:
Re: IPFW и два маршрута в Интернет
Я немного переделаю вопрос, как через pf пустить трафик в 2 канала с сохранением сеанса?
с первым вопросом я почти разобрался, подглядел такой вариант:
но правда не пойму как он работает, пакеты где метку получают не пойму.
Предполагаю что можно отслеживать пакеты с флагом S/SA и направлять их в определенный интерфейс и запоминать состояние, после чего все ответы слать в соответствии с состоянием. Распределение организовать за счет probability. Как вы думаете получится? Буду рад помощи.
с первым вопросом я почти разобрался, подглядел такой вариант:
Код: Выделить всё
lan_ip="10.10.10.0/28"
net_1="re0" # 192.168.2.2
net_2="em0" # 10.10.0.2
lan="em1" # 10.10.10.1
out_1="192.168.2.2"
out_2="10.10.0.3"
in_1="10.10.10.1"
gw_1="192.168.2.1"
gw_2="10.10.0.1"
nat on $net_1 from $lan_ip to any -> $net_1
nat on $net_2 from $lan_ip to any -> $net_2
pass in quick from ($net_1:network) tagged EXT_IF_A keep state
pass in quick reply-to ($net_1 $gw_1) tagged EXT_IF_A keep state
pass in quick from ($net_2:network) tagged EXT_IF_B keep state
pass in quick reply-to ($net_2 $gw_2) tagged EXT_IF_B keep state
Предполагаю что можно отслеживать пакеты с флагом S/SA и направлять их в определенный интерфейс и запоминать состояние, после чего все ответы слать в соответствии с состоянием. Распределение организовать за счет probability. Как вы думаете получится? Буду рад помощи.
- skeletor
- майор
- Сообщения: 2548
- Зарегистрирован: 2007-11-16 18:22:04
Re: IPFW и два маршрута в Интернет
Получают они метки на входе (pass in ...tagged EXT_IF_*) и на основе этой метки должны уходить через reply-to
Ещё желательно добавить такие правила:
Ещё желательно добавить такие правила:
Код: Выделить всё
pass out route-to ($ext_if_1 $gw_1) inet from ($ext_if_1) keep state
pass out route-to ($ext_if_2 $gw_2) inet from ($ext_if_2) keep state
-
- мл. сержант
- Сообщения: 94
- Зарегистрирован: 2014-01-03 2:45:53
- Контактная информация:
Re: IPFW и два маршрута в Интернет
я так написал:
в мане написано что этот ключ проверяет ключ, а пишет tag так вот его нет.
и есть вопрос в продолжение темы что даст замена keep state на synproxy state. преследую цель охранения маршрута за сеансом но долгий срок.
Код: Выделить всё
pass in on $lan route-to ($net_1 $gw_1 ) from $lan_ip to { any, !$in_1 } keep state
tagged EXT_IF_A
в мане написано что этот ключ проверяет ключ, а пишет tag так вот его нет.
и есть вопрос в продолжение темы что даст замена keep state на synproxy state. преследую цель охранения маршрута за сеансом но долгий срок.
-
- мл. сержант
- Сообщения: 94
- Зарегистрирован: 2014-01-03 2:45:53
- Контактная информация:
Re: IPFW и два маршрута в Интернет
Промежуточный решение найдено. Выглядит так:
keep state приводит к тому что со временем рвется сессия на https и предирчевых к ip клиента сайтах и приложениях. В случае реализации 2 шлюзов правила можно переполовинить относительно default router, пакеты туда идут сами. По результатам тестов выложу точный конфиг.
Код: Выделить всё
lan_ip="10.10.10.0/28"
net_1="re0" # 192.168.2.2
net_2="em0" # 10.10.0.3
lan="em1" # 10.10.10.1
out_1="192.168.2.2"
out_2="10.10.0.3"
in_1="10.10.10.1"
gw_1="192.168.2.1"
gw_2="10.10.0.1"
nat on $net_1 from $lan_ip to any -> $net_1
nat on $net_2 from $lan_ip to any -> $net_2
pass in quick from ($net_1:network) tagged EXT_IF_A keep state
pass in quick reply-to ($net_1 $gw_1) tagged EXT_IF_A keep state
pass in quick from ($net_2:network) tagged EXT_IF_B keep state
pass in quick reply-to ($net_2 $gw_2) tagged EXT_IF_B keep state
pass in on $lan route-to ($net_1 $gw_1 ) from $lan_ip to { any, !$in_1 } probability 95% synproxy state
pass in on $lan route-to ($net_2 $gw_2 ) from $lan_ip to { any, !$in_1 } probability 5% synproxy state
- skeletor
- майор
- Сообщения: 2548
- Зарегистрирован: 2007-11-16 18:22:04
Re: IPFW и два маршрута в Интернет
Действительно.
У вас несколько урезанный вариант этого http://argo-uln.blogspot.com/2008/02/pf ... -62-3.html , поэтому не хватает меток tag для icmp.
У вас несколько урезанный вариант этого http://argo-uln.blogspot.com/2008/02/pf ... -62-3.html , поэтому не хватает меток tag для icmp.
-
- мл. сержант
- Сообщения: 94
- Зарегистрирован: 2014-01-03 2:45:53
- Контактная информация:
Re: IPFW и два маршрута в Интернет
Меня icmp не очень волнует, а точнее не нужен он мне пока. Проблема в том чтобы организовать доступ к серверу по любому из внешних каналов, при этом исходящий трафик распределять между каналами (балансировать его).
-
- мл. сержант
- Сообщения: 94
- Зарегистрирован: 2014-01-03 2:45:53
- Контактная информация:
Re: IPFW и два маршрута в Интернет
В этом примере не то что мне надо, я хочу все сервесы развернуть на обе сетевки. У меня это получилось вот такУ вас несколько урезанный вариант этого http://argo-uln.blogspot.com/2008/02/pf ... -62-3.html , поэтому не хватает меток tag для icmp
Код: Выделить всё
pass in on $net_1 from any to 10.10.0.2 tag EXT_IF_B keep state
pass in quick reply-to ($net_1 $gw_1) tagged EXT_IF_B keep state
-
- мл. сержант
- Сообщения: 94
- Зарегистрирован: 2014-01-03 2:45:53
- Контактная информация:
Re: IPFW и два маршрута в Интернет
пакеты разрулил, но есть вопрос: как заставить жить долго динамическое правило. Возникает проблема с авторизацией при смене ip клиента.
- skeletor
- майор
- Сообщения: 2548
- Зарегистрирован: 2007-11-16 18:22:04
Re: IPFW и два маршрута в Интернет
Использовать set timeout. Очень неплохо описано здесь http://www.opennet.ru/base/net/pf_optimization.txt.html
-
- мл. сержант
- Сообщения: 94
- Зарегистрирован: 2014-01-03 2:45:53
- Контактная информация:
Re: IPFW и два маршрута в Интернет
Спасибо, но немного не то. Решение найдено, сейчас тестирую. По результатам тестов отпишу.
-
- мл. сержант
- Сообщения: 94
- Зарегистрирован: 2014-01-03 2:45:53
- Контактная информация:
Re: IPFW и два маршрута в Интернет
И так тест прошел успешно. Задача была объединить 2+ канала в одну полосу пропускания, при этом пользователь пройдя через конкретный шлюз весел на нем стабильно целый день. Также потом выявили потребность в распределении пользователей по каналам в процентном соотношении и в случае выявления потери соединения на канале новые пользователи туда не попадали, а старые были распределены по рабочим.
Указаны только правила реализующие ТЗ. Дальше должно быть два скрипта.lan_ip="10.10.10.0/28"
net_1="re0"
net_2="em0"
lan="em1"
out_1="192.168.2.2"
out_2="10.10.0.3"
in_1="10.10.10.1"
gw_1="192.168.2.1"
gw_2="10.10.0.1"
table <stream_A> persist
table <stream_B> persist
PA="50%"
PB="50%"
nat on $net_1 from $lan_ip to any -> $net_1
nat on $net_2 from $lan_ip to any -> $net_2
pass in on $lan from {$lan_ip !<stream_A> !<stream_B>} to any flags S/SA probability $PA keep state (max-src-conn-rate 1/60, overload <stream_A> flush global)
pass in on $lan from {$lan_ip !<stream_A> !<stream_B>} to any flags S/SA probability $PB keep state (max-src-conn-rate 1/60, overload <stream_B> flush global)
pass in on $lan route-to ($net_2 $gw_2) from <stream_B> to any
pass in on $lan route-to ($net_1 $gw_1) from <stream_A> to any
- 1 - скрипт проверяет наличие канала.
2 - скрипт по результатам проверки корректирует вес канала(PA= ;PB=;)
-
- мл. сержант
- Сообщения: 94
- Зарегистрирован: 2014-01-03 2:45:53
- Контактная информация:
Re: IPFW и два маршрута в Интернет
Да еще забыл указать очистки таблиц производятся в 24:00, еще одним скриптом и cron.