pf на 2 провайдера

Настройка сетевых служб, маршрутизации, фаерволлов. Проблемы с сетевым оборудованием.
Правила форума
Убедительная просьба юзать теги [code] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
Аватара пользователя
agat
мл. сержант
Сообщения: 138
Зарегистрирован: 2009-10-27 1:21:55
Откуда: Солнечная система, планета Земля, Россия
Контактная информация:

pf на 2 провайдера

Непрочитанное сообщение agat » 2010-03-21 5:18:38

Появилось 2 канала интернет, а как разрулить их не знаю.
локальная сеть 192.168.0.0/24 шлюз для нее 192.168.0.1
1й канал интернет ip выданный провайдером 10.128.12.21 шлюз 10.128.0.1
2й канал интернет ip выданный провайдером 172.28.34.231 шлюз 172.28.0.1

на pf читал что есть чтото вроде route-to и reply-to, и есть еще round-robin
но вот как это слепить чтоб работало ума не приложу,

если прописать gate и выполнить нат на любой из внешних vlan3,4 то интернет есть, а вместе не работают.
ни какие сервисы, порты и службы пробрасывать не надо, людям тупо нужен инет.

схема вот такая
Вложения
2gate.jpg
2gate.jpg (11.14 КБ) 3589 просмотров
Последний раз редактировалось f_andrey 2010-03-21 8:42:43, всего редактировалось 1 раз.
Причина: Автору, выбирайте пожалуйста раздел соответствуюший тематике вашего сообщения.

Хостинговая компания Host-Food.ru
Хостинг HostFood.ru
 

Услуги хостинговой компании Host-Food.ru

Хостинг HostFood.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/

Аватара пользователя
FreeBSP
майор
Сообщения: 2020
Зарегистрирован: 2009-05-24 20:20:19
Откуда: Москва

Re: pf на 2 провайдера

Непрочитанное сообщение FreeBSP » 2010-03-21 13:21:57

где то тут то ли на форуме то ли в статьях видел заметку о балансировке (распределении нагрузки) как раз по двум каналам инфернета. По-моему в статьях было..
по теме - от себя могу предложить сварганить что нить на нетграфе =)
а вообще можно гуглить по словам типа freebsd балансировка распределение 2 канала
Человек начинает получать первые наслаждения от знакомства с unix системами. Ему нужно помочь - дальше он сможет получать наслаждение самостоятельно ©
Ламер — не желающий самостоятельно разбираться. Не путать с новичком: ламер опасен и знает это!

Аватара пользователя
agat
мл. сержант
Сообщения: 138
Зарегистрирован: 2009-10-27 1:21:55
Откуда: Солнечная система, планета Земля, Россия
Контактная информация:

Re: pf на 2 провайдера

Непрочитанное сообщение agat » 2010-03-21 14:24:49

вот что нашел в манах, осталось только проверить как все это работает, отпишусь после тестов.

Код: Выделить всё

lan_net = "192.168.0.0/24"
int_if  = "vlan2"

ext_if1 = "vlan3"
ext_if2 = "vlan4"

ext_gw1 = "10.128.0.1"
ext_gw2 = "172.28.0.1"

#  nat исходящие соединения на каждый интерфейс Интернета
nat on $ext_if1 from $lan_net to any -> ($ext_if1)
nat on $ext_if2 from $lan_net to any -> ($ext_if2)

#  по дефолту deny
block in  from any to any
block out from any to any

#  pass all исходящие пакеты на внутреннем интерфейсе
pass out on $int_if from any to $lan_net

#  pass in quick any пакеты, предназначенные для шлюза itself
pass in quick on $int_if from $lan_net to $int_if

#  балансировка исходящего tcp трафика от внутренней сети. 
pass in on $int_if route-to { ($ext_if1 $ext_gw1), ($ext_if2 $ext_gw2) } round-robin proto tcp from $lan_net to any flags S/SA modulate state

#  балансировка исходящего udp и icmp трафика от внутренней сети
pass in on $int_if route-to { ($ext_if1 $ext_gw1), ($ext_if2 $ext_gw2) } round-robin proto { udp, icmp } from $lan_net to any keep state

#  Общие "pass out" правила для внешних интерфейсов
pass out on $ext_if1 proto tcp from any to any flags S/SA modulate state
pass out on $ext_if1 proto { udp, icmp } from any to any keep state
pass out on $ext_if2 proto tcp from any to any flags S/SA modulate state
pass out on $ext_if2 proto { udp, icmp } from any to any keep state

#  маршрутизации пакетов с любого IP-адреса на $ext_if1 to $ext_gw1 и та же для $ext_if2 и $ext_gw2
pass out on $ext_if1 route-to ($ext_if2 $ext_gw2) from $ext_if2 to any 
pass out on $ext_if2 route-to ($ext_if1 $ext_gw1) from $ext_if1 to any
h@@p://www.openbsd.org/faq/pf/ru/pools.html

Хорошо бы что бы это заработало, а то уже неделю как 2 канала, а пользовать их не могу. :st:

Аватара пользователя
agat
мл. сержант
Сообщения: 138
Зарегистрирован: 2009-10-27 1:21:55
Откуда: Солнечная система, планета Земля, Россия
Контактная информация:

Re: pf на 2 провайдера

Непрочитанное сообщение agat » 2010-03-21 14:29:57

FreeBSP писал(а):где то тут то ли на форуме то ли в статьях видел заметку о балансировке (распределении нагрузки) как раз по двум каналам инфернета. По-моему в статьях было..
по теме -

Огроменнейшее ПАСИБА, линки о_О много узнал нового, в закладки 100 пудов

Al
ст. прапорщик
Сообщения: 501
Зарегистрирован: 2007-10-18 13:42:48
Откуда: Тверь
Контактная информация:

Re: pf на 2 провайдера

Непрочитанное сообщение Al » 2010-03-21 22:25:25

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

Ну и интересно, как это будет работать на udp. Ведь роунд-робин идет не по пакетам, а по потокам. А у udp, как известно, соединения как такового нет. В случае глюков не будет скакать по каналам?. Но, думаю, проблем не будет.
Если сделаете, отпишитесь, не изменится ли после этого стабильность работы по udp. Так,ради интереса)

Да, и кстате, для этих целей больше подходит пф,имхо.

Аватара пользователя
agat
мл. сержант
Сообщения: 138
Зарегистрирован: 2009-10-27 1:21:55
Откуда: Солнечная система, планета Земля, Россия
Контактная информация:

Re: pf на 2 провайдера

Непрочитанное сообщение agat » 2010-03-28 19:05:13

Al писал(а):Ну и интересно, как это будет работать на udp. Ведь роунд-робин идет не по пакетам, а по потокам. А у udp, как известно, соединения как такового нет. В случае глюков не будет скакать по каналам?. Но, думаю, проблем не будет.
Если сделаете, отпишитесь, не изменится ли после этого стабильность работы по udp. Так,ради интереса)
UDP потоки пропускает и как бы работает более менее стабильно, гимор начинается после отваливания одного из каналов. round-robin тупо продолжает переключать с канала на канал в соотношении 50x50 и 50% просто пропадает.

мдя... ожидал большего....

Родилась идея не тупого переключения(round-robin) а распределения по портам,
21,25,80,110 поры идут через один канал все остальные через другой. возможно ли такое сделать на pf
пробовал изменить конфиг, что то не получается видимо из за неполного понимания как же это работает на round-robin.

Al
ст. прапорщик
Сообщения: 501
Зарегистрирован: 2007-10-18 13:42:48
Откуда: Тверь
Контактная информация:

Re: pf на 2 провайдера

Непрочитанное сообщение Al » 2010-03-29 7:21:25

agat писал(а):
Родилась идея не тупого переключения(round-robin) а распределения по портам,
21,25,80,110 поры идут через один канал все остальные через другой. возможно ли такое сделать на pf
пробовал изменить конфиг, что то не получается видимо из за неполного понимания как же это работает на round-robin.
Ну, с тем,что при отвалившемся канале пф все равно пытается слать туда пакеты ничо не поделаешь. Фаер не заставишь следить за состоянием канала. Если только какой-нть самописный скрипт.

По поводу разбрасывания по протоколам.

Код: Выделить всё

расс ин он инт_иф инет прото тсп,удп фром локал лан ту !локал лан  порт нттп,фтп роут ту екст_иф2 гейт2
Написать согласно синтаксису. Все остальные порты просто впускаем и они идут по дефолт гетевею.
Ну,или второй вариант. На выходе.

Код: Выделить всё

расс аут он екст_иф1 инет прото тсп,удп фром экст_аддр2 ту !локал лан  роут ту екст_иф2 гейт2
Ну, а что куда уже распределяешь натом. Все,что натится на второй адрес и выходит через дефолт, перебрасывается на второо прова.
ЗЫ. дефолт по первому провайдеру.

Аватара пользователя
agat
мл. сержант
Сообщения: 138
Зарегистрирован: 2009-10-27 1:21:55
Откуда: Солнечная система, планета Земля, Россия
Контактная информация:

Re: pf на 2 провайдера

Непрочитанное сообщение agat » 2010-03-30 8:50:13

Al все работает прям аще.... :)
icmp отправил в отдельный канал не на defaultrouter, и .... мой gate просто изчез из хопов traceroute, udp в том же канале, а tcp в дефолтном.
пока так раскидал, потом по портам разнесу, теперь уже дело техники.
спасиб большое.,

Al
ст. прапорщик
Сообщения: 501
Зарегистрирован: 2007-10-18 13:42:48
Откуда: Тверь
Контактная информация:

Re: pf на 2 провайдера

Непрочитанное сообщение Al » 2010-03-30 9:31:04

Рады стараться)
На входе сделал или на выходе?

Аватара пользователя
agat
мл. сержант
Сообщения: 138
Зарегистрирован: 2009-10-27 1:21:55
Откуда: Солнечная система, планета Земля, Россия
Контактная информация:

Re: pf на 2 провайдера

Непрочитанное сообщение agat » 2010-03-31 13:09:07

Код: Выделить всё

pass in... 
на сервере работает пока так,
но... смоделировал каналы на отдельном неответственном участке и пытаюсь понять работу route-to и reply-to
пока для меня это некое шаманство -работает, а как- непонятно, шайтанама.

Код: Выделить всё

pass out
как я понял более предпочтительный вариант, ведь если ни чего не запрашиваем то ни чего и не получаем по сравнению с pass in где отсеиваем приходящее которое уже запрошено.

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

Al
ст. прапорщик
Сообщения: 501
Зарегистрирован: 2007-10-18 13:42:48
Откуда: Тверь
Контактная информация:

Re: pf на 2 провайдера

Непрочитанное сообщение Al » 2010-03-31 13:16:24

Да все просто. роут-ту - ты просто задаешь шлюз для пакетов, попавших под это правило.
реплай-ту, тож самое, только для входящих пакетов ты уже задаешь шлюз на исходящие по этому стейту.

Al
ст. прапорщик
Сообщения: 501
Зарегистрирован: 2007-10-18 13:42:48
Откуда: Тверь
Контактная информация:

Re: pf на 2 провайдера

Непрочитанное сообщение Al » 2010-04-01 9:30:06

Наткнулся тут на способ монитора хостов фаером... Так что беру свои слова обратно.
http://www.openbsderos.org/libros/The%2 ... f%20PF.pdf
стр. 53

Al
ст. прапорщик
Сообщения: 501
Зарегистрирован: 2007-10-18 13:42:48
Откуда: Тверь
Контактная информация:

Re: pf на 2 провайдера

Непрочитанное сообщение Al » 2010-04-01 10:02:58

Но не на фре(

Аватара пользователя
agat
мл. сержант
Сообщения: 138
Зарегистрирован: 2009-10-27 1:21:55
Откуда: Солнечная система, планета Земля, Россия
Контактная информация:

Re: pf на 2 провайдера

Непрочитанное сообщение agat » 2010-04-02 13:30:28

Распечатал, с экрана в неудобно читать, много интересного нашел.
Да у PF синтаксис одинаковый что на openBSD что на freeBSD

Al
ст. прапорщик
Сообщения: 501
Зарегистрирован: 2007-10-18 13:42:48
Откуда: Тверь
Контактная информация:

Re: pf на 2 провайдера

Непрочитанное сообщение Al » 2010-04-02 13:37:28

Почитай, там дело не в синтаксисе, к сожалению(