Название: два провайдера 2 шлюза Отправлено: killall от 14 Апреля 2010, 13:39:19 подскажите возможноли реализовать:
1. есть 2 прова (P1, P2) 2. 2 шлюза (PS1,PS2) Требуеться: Порт 80 пускать через провайдера P1 шлюз PS1. Весть остальной трафик через P2 шлюз PS2. defaultrouter=PS1. Как реальзовать через pf. Название: Re: два провайдера 2 шлюза Отправлено: killall от 14 Апреля 2010, 14:02:46 на данный момент найдена такой конфиг
Цитировать 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 Как сделать так, чтобы 80 порт ходил через шлюз 2. все остальное через шлюз1 Название: Re: два провайдера 2 шлюза Отправлено: Cell от 14 Апреля 2010, 14:33:55 устанавливается прокси-сервер, и при помощи множественных таблиц маршрутизации (setfib) указывается на какой шлюз он должен работать. Все остальные решения скорее всего будут либо высоконагруженные, либо криво работать.
Название: Re: два провайдера 2 шлюза Отправлено: Александр (AleksHr) от 14 Апреля 2010, 15:00:03 устанавливается прокси-сервер, и при помощи множественных таблиц маршрутизации (setfib) указывается на какой шлюз он должен работать. Все остальные решения скорее всего будут либо высоконагруженные, либо криво работать. Вот тут рулит микротик :D. У меня после билинга стоит шлюз на микротике, там такая маршрутизация рещается за 5 минут, если начинать с 0 за день реально разобратся в микротике. А на фре ооооочень и даже очеееень сложно. + на микротике ето практически никакой серйезной нагрузкы не вызовет. Название: Re: два провайдера 2 шлюза Отправлено: versus от 14 Апреля 2010, 15:02:57 Вот тут рулит микротик :D. У меня после билинга стоит шлюз на микротике, там такая маршрутизация рещается за 5 минут, если начинать с 0 за день реально разобратся в микротике. А на фре ооооочень и даже очеееень сложно. + на микротике ето практически никакой серйезной нагрузкы не вызовет. Вам пора уже деньги с фирмы микротик брать за рекламу :-) Название: Re: два провайдера 2 шлюза Отправлено: Cell от 14 Апреля 2010, 15:08:01 да чего там сложного?
Пересобрать ядро - 20 минут + кофе попьете Установить проксю - еще 20 минут + кофе Настроить проксю по готовым конфигам еще час, это если в первый раз Настроить биллинг для работы с проксей по этому форуму, это тоже час в первый раз Запустить проксю с опцией setfib 1 - 5 минут Дальше чай, кофе, пирожные, можно с девушкой. Где тот день? который надо потратить чтобы разобраться с вашим микротиком? ))) Название: Re: два провайдера 2 шлюза Отправлено: smallcms от 14 Апреля 2010, 15:52:20 подскажите возможноли реализовать: 1. есть 2 прова (P1, P2) 2. 2 шлюза (PS1,PS2) Требуеться: Порт 80 пускать через провайдера P1 шлюз PS1. Весть остальной трафик через P2 шлюз PS2. defaultrouter=PS1. Как реальзовать через pf. Возможно. Дарю: Код: set limit states 128000 В настоящее время не использую, поэтому за 100% работоспособность не ручаюсь, но тем не менее именно этим вариантом разносил 80 и всё остальное по двум каналам. Название: Re: два провайдера 2 шлюза Отправлено: killall от 14 Апреля 2010, 16:08:01 И так, сам отвечаю на свой вопрос.
Поковорявшись в изложеном мною выше конфиге немного его переделал. Даже немного перевыполнил задуманое. Дано: 2 прова. пров 1: fxp0 шлюз ссс.ссс.ссс.ссс (онже прописан в дефаултроутер) пров 2: xl0 шлюз nnn.nnn.nnn.nnn Файл с списком юаикс сетей. Значит конфиг умеет: 1. Весь 80 порт шлет через провайдера 2. 2. Все остальные ТСП порты которые направленны в юаикс делает роунд робин. Тоесть сумирует два канала. 3. Все остальные ТСП порты которые направленны НЕ в юаикс идут по дафаулт роутер. 4. udp, icmp которые направленны в юаикс делает роунд робин. Тоесть сумирует два канала. 5. udp, icmp которые НЕ направленны в юаикс пускает через дефаулт. Собственно теперь сам скрипт. Прошу раскритиковать и указать на ошибки. Код: lan_net = "10.110.0.0/24" Название: Re: два провайдера 2 шлюза Отправлено: Unix от 14 Апреля 2010, 21:22:48 И как в работе оно? Уже проверял?
Название: Re: два провайдера 2 шлюза Отправлено: killall от 14 Апреля 2010, 22:51:32 И как в работе оно? Уже проверял? проверил, пашет :)Название: Re: два провайдера 2 шлюза Отправлено: killall от 15 Апреля 2010, 13:43:28 Окончательный обкатанный вариант. Возможности теже, только icmp идет по разным каналов в зависимости от направления. + испарвленны ошибки в синтаксисе.
Код: lan_net = "10.110.0.0/24" Название: Re: два провайдера 2 шлюза Отправлено: killall от 15 Апреля 2010, 16:29:36 И всетаки баг есть в логи сыпиться:
Код: pr 15 17:24:49 server last message repeated 75 times Название: Re: два провайдера 2 шлюза Отправлено: Cell от 15 Апреля 2010, 16:44:22 Ежики плакали, кололись но все равно продолжали жрать кактусы.
Название: Re: два провайдера 2 шлюза Отправлено: killall от 15 Апреля 2010, 17:10:44 Ежики плакали, кололись но все равно продолжали жрать кактусы. Согласен, но все пашет прекрасно. Система работает стабильно. Отключил запись етих сообщений в лог. подожду пока чтото случитьсяНазвание: Re: два провайдера 2 шлюза Отправлено: killall от 15 Апреля 2010, 18:11:46 Согласен, но все пашет прекрасно. Система работает стабильно. Отключил запись етих сообщений в лог. подожду пока чтото случиться Ежики плакали, кололись но все равно продолжали жрать кактусы. И ВСЕТАКИ НАЖРАЛИСЬошибка найдена:))))))))) почемуто пагубным окозалось Код: sticky-address Код: pass in on $int_if route-to { ($ext_if1 $ext_gw1), ($ext_if2 $ext_gw2) } round-robin sticky-address proto {tcp} from $lan_net to <ua-ix> port {1:79 81:442 444:65500} flags S/SA modulate state Код: pass in on $int_if route-to { ($ext_if1 $ext_gw1), ($ext_if2 $ext_gw2) } round-robin proto {tcp} from $lan_net to <ua-ix> port {1:79 81:442 444:65500} flags S/SA modulate state Название: Re: два провайдера 2 шлюза Отправлено: neos от 24 Июля 2010, 21:34:32 Скажи плиз, это нужно вписать в ee /etc/pf.conf и указать имена на свои сетевые и прописать цыфры. А вот нужно что то еще? Ну, типа редактировать и добавлять в rc.firewall и в rc.conf?
Название: Re: два провайдера 2 шлюза Отправлено: stix от 24 Июля 2010, 22:06:31 Скажи плиз, это нужно вписать в ee /etc/pf.conf и указать имена на свои сетевые и прописать цыфры. А вот нужно что то еще? Ну, типа редактировать и добавлять в rc.firewall и в rc.conf? ты сам понял что написал? :DНазвание: Re: два провайдера 2 шлюза Отправлено: neos от 25 Июля 2010, 21:42:09 Просто я это вставил в pf.conf и изменил на свои IP и интерфейсы имен сетевых, но не чего не заработало. Я вот и подумал может нужно что то указать в rc.firewall по тому как там стоит плата по умолчанию одна, а у нас оказывается же 2 шлюза, может нужно как то ето прописать, а так же rc.conf там стоит лишь 1 интерфейс, нужно же как то добавить и 2? Вы поймите я в ето сфере новенький и не сильно еще волоку в етом, гуглом пользоваться умею но вот не чего подобного не нахожу
Название: Re: два провайдера 2 шлюза Отправлено: stix от 25 Июля 2010, 21:50:44 понятное дело что не найдешь.
это как искать бухгалтеру в гугле отчеты в налоговой которые она должна была сделать. думай сам Название: Re: два провайдера 2 шлюза Отправлено: neos от 25 Июля 2010, 22:01:28 Мне интересно а для чего же тогда придуманы форумы? Ппц я же не прошу все за меня сделать! Ей чуваки вот вам IP и 3 сетевый клацайте и кидайте сюда, я скопирую и все норм будет, а вам бесплатное спс! Мне насчет ДНС указали лишь путь и все я с етим задание справился и все норм заработало, теперь мне не понятно с етим, как и что наклацать. и пишу здесь для того что бы кто помог!
Название: Re: два провайдера 2 шлюза Отправлено: stix от 25 Июля 2010, 22:11:42 Осталось достать хрустальный шар!
у тебя вланами приходит?! если на 1 карточку, то как у тебя они скоммутированы? я ж надеюсь ты понимаешь что это неправильно... балансировать ты хочешь через пф round-robin ? сейчас прям щелк пальцами и все поняли какая у тебя топология сети с L2 И L3 Название: Re: два провайдера 2 шлюза Отправлено: ser970 от 26 Июля 2010, 17:38:36 Мне интересно а для чего же тогда придуманы форумы? Ппц я же не прошу все за меня сделать! Ей чуваки вот вам IP и 3 сетевый клацайте и кидайте сюда, я скопирую и все норм будет, а вам бесплатное спс! Мне насчет ДНС указали лишь путь и все я с етим задание справился и все норм заработало, теперь мне не понятно с етим, как и что наклацать. и пишу здесь для того что бы кто помог! правильно задан вопрос - 99 процентов ответа.форумы придуманы не для того что бы переписывать хендбук в /etc/rc.conf указываеются интерфейсы которые будут подняты при старте системы (но не обязательно) по сути rc.conf это что то типеа автозагрузки в виндовсе. правилом хорошего тона будет там прописать все интервейсы со своими апи - или прописать что интерфейс получает по дхцп. тут же прописываются что статртует при старте сисметы ну и прочее. дальще выбираешь чем будешь натить . почитать маны и хендбук фря очень сильно документирована. потом выьираешь способ как будешь балансировать. помоч можно но .... надо именть юольше даных. Название: Re: два провайдера 2 шлюза Отправлено: Андрій от 18 Августа 2010, 16:38:33 в мене один з зовнішніх інтерфейсів рррое і шлюз інколи міняється, як бути в цій ситуації ?
Название: Re: два провайдера 2 шлюза Отправлено: Unix от 18 Августа 2010, 17:03:01 BGP вам в помощь.
Название: Re: два провайдера 2 шлюза Отправлено: Андрій от 19 Августа 2010, 09:57:48 причому тут bgp ? я питаюсь як правильно зробити конфіг pf щоб працювало з інтерфейсом на якому міняється шлюз.
Название: Re: два провайдера 2 шлюза Отправлено: blackjack от 19 Августа 2010, 10:05:20 в круглих дужках треба вказувати імя інтерфейсу
Название: Re: два провайдера 2 шлюза Отправлено: VitalVas от 19 Августа 2010, 10:10:12 причому тут bgp ? я питаюсь як правильно зробити конфіг pf щоб працювало з інтерфейсом на якому міняється шлюз. делаешь его основным, а дальше пишешь статическую маршрутизацию для другого провайдераНазвание: Re: два провайдера 2 шлюза Отправлено: Андрій от 20 Августа 2010, 15:26:14 попробую, дякую.
Название: Re: два провайдера 2 шлюза Отправлено: Андрій от 20 Августа 2010, 19:58:32 а як на рахкнок резевного каналу, щоб при пропаданні одного автоматично переключалося на інший. хтось таке робив ?
Название: Re: два провайдера 2 шлюза Отправлено: VitalVas от 21 Августа 2010, 00:12:51 а як на рахкнок резевного каналу, щоб при пропаданні одного автоматично переключалося на інший. хтось таке робив ? я робивет елементарний скрипт на шелі Название: Re: два провайдера 2 шлюза Отправлено: Андрій от 22 Августа 2010, 20:30:19 можете поділитися? :)
Название: Re: два провайдера 2 шлюза Отправлено: Андрій от 30 Августа 2010, 07:59:08 Після того як ua-ix пустив через окремого провайдера не шейпиться upload (тільки upload ua-ix), напевно неправильні правила в ipfw прописав, хто з таким стикався ? Цитировать #!/bin/sh - f='/sbin/ipfw' #internet ifOut='fxp0' #ua-ix ifOut2='xl0' ${f} table 120 flush ${f} table 120 add 224.0.0.0/4 ${f} table 120 add 172.16.0.0/12 ${f} -q -f flush ${f} add 28 allow udp from any to any 53 ${f} add 29 allow udp from any to 8.8.8.8 ${f} add 30 allow udp from 8.8.8.8 to any ${f} add 50 allow tcp from any to me 22 ${f} add 51 allow tcp from me 22 to any ${f} add 100 deny tcp from any to any 445 ${f} add 110 allow ip from any to any via lo0 ${f} add 120 skipto 1000 ip from me to any ${f} add 130 deny icmp from any to any in icmptype 5,9,13,14,15,16,17 ${f} add 140 deny ip from any to "table(120)" ${f} add 150 deny ip from "table(120)" to any ${f} add 160 skipto 2000 ip from any to me ${f} add 200 skipto 500 ip from any to any via ${ifOut} ${f} add 201 skipto 500 ip from any to any via ${ifOut2} ${f} add 300 skipto 4500 ip from any to any in ${f} add 400 skipto 450 ip from any to any recv ${ifOut} ${f} add 401 skipto 450 ip from any to any recv ${ifOut2} ${f} add 420 divert 1 ip from any to any ${f} add 450 divert 2 ip from any to any ${f} add 490 allow ip from any to any ${f} add 500 skipto 32500 ip from any to any in ${f} add 510 divert 1 ip from any to any ${f} add 540 allow ip from any to any ${f} add 1000 allow udp from any 53,7723 to any ${f} add 1010 allow tcp from any to any setup keep-state ${f} add 1020 allow udp from any to any keep-state ${f} add 1100 allow ip from any to any ${f} add 2000 check-state ${f} add 2010 allow icmp from any to any ${f} add 2020 allow tcp from any to any 80,443 ${f} add 2050 deny ip from any to any via${ifOut} ${f} add 2051 deny ip from any to any via${ifOut2} ${f} add 2060 allow udp from any to any 53,7723 ${f} add 2100 deny ip from any to any ${f} add 32490 deny ip from any to any Название: Re: два провайдера 2 шлюза Отправлено: smallcms от 30 Августа 2010, 11:37:05 У Вас xl0 - внешка? Можно как вариант первым направлением сделать внешку, а уаикс закинуть в направление 2. По-умолчанию все направления, кроме основного работают в одну трубу (общая скорость на вх/исх).
Здесь (http://forum.nodeny.com.ua/index.php?topic=245.msg7645#msg7645) я колупал данную проблему. И кстати успешно применяю. Название: Re: два провайдера 2 шлюза Отправлено: Андрій от 30 Августа 2010, 21:26:14 попробував так зробити, але все рівно upload ua-ix не шейпиться, для нього не спрацьовує правило 05400 pipe tablearg ip from table(11) to any
Название: Re: два провайдера 2 шлюза Отправлено: Elisium от 30 Августа 2010, 23:02:18 Ну, во первых, уже давно и не раз писали, почему НЕЛЬЗЯ делать
Код: ${f} add 28 allow udp from any to any 53 По теме: ДО бгп была такая же история: два прова есть, а бгп - нет. Так вот, фаер у меня был на 99% такойже (глянул ща в бакапы), но правил 400/401 там НЕТ и близко и вместо 420/450 у меня ngtee (по вкусу). п.с. Само собой, не забыть добавить в 126ю таблицу НУЖНЫЕ подсети 2го направления и выставить нужную скорость в соответствующих тарифах. Название: Re: два провайдера 2 шлюза Отправлено: Андрій от 31 Августа 2010, 13:08:54 після видалення правил 400/401, нічого не помінялося, в таблиці 126 ір є, коли в тарифі ставлю швидкісь не основного напрямку то також вхідна шейпиться а вихідна ні.
Название: Re: два провайдера 2 шлюза Отправлено: Андрій от 31 Августа 2010, 13:15:02 ipfw sh
00028 479 32892 allow udp from any to any dst-port 53 00029 0 0 allow udp from any to 8.8.8.8 00030 276 32064 allow udp from 8.8.8.8 to any 00050 584 30796 allow tcp from any to me dst-port 22 00051 2054 360532 allow tcp from me 22 to any 00100 0 0 deny tcp from any to any dst-port 445 00110 186 505336 allow ip from any to any via lo0 00120 197 22165 skipto 1000 ip from me to any 00130 0 0 deny icmp from any to any in icmptypes 5,9,13,14,15,16,17 00140 42 10017 deny ip from any to table(120) 00150 0 0 deny ip from table(120) to any 00160 120 49498 skipto 2000 ip from any to me 00200 45083 34813359 skipto 500 ip from any to any via fxp0 00201 19050 18750744 skipto 500 ip from any to any via xl0 00300 17935 2606550 skipto 4500 ip from any to any in 00420 46111 50619920 divert 1 ip from any to any 00450 46111 50619920 divert 2 ip from any to any 00490 46111 50619920 allow ip from any to any 00500 46533 50977428 skipto 32500 ip from any to any in 00510 17600 2586675 divert 1 ip from any to any 00540 17600 2586675 allow ip from any to any 01000 192 21937 allow udp from any 53,7723 to any 01010 0 0 allow tcp from any to any setup keep-state 01020 0 0 allow udp from any to any keep-state 01100 4 228 allow ip from any to any 02000 0 0 check-state 02010 5 461 allow icmp from any to any 02020 0 0 allow tcp from any to any dst-port 80,443 02050 82 47135 deny ip from any to any via fxp0 02051 30 1792 deny ip from any to any via xl0 02060 0 0 allow udp from any to any dst-port 53,7723 02100 3 110 deny ip from any to any 05000 15 1236 deny ip from not table(0) to any 05001 0 0 skipto 5010 ip from table(127) to table(126) 05002 17920 2605314 skipto 5030 ip from any to not table(2) 05003 0 0 deny ip from any to not table(1) 05004 0 0 pipe tablearg ip from table(21) to any 05005 0 0 deny ip from any to any 05010 0 0 pipe tablearg ip from table(127) to any 05030 201 9648 deny tcp from table(15) to any dst-port 25 05226 0 0 allow ip from table(127) to table(126) 05400 17719 2595666 pipe tablearg ip from table(11) to any 32000 0 0 deny ip from any to any 32490 0 0 deny ip from any to any 33000 3 180 pipe tablearg ip from table(126) to table(127) 33001 46530 50977248 skipto 33010 ip from not table(2) to any 33002 0 0 pipe tablearg ip from any to table(20) 33003 0 0 deny ip from any to any 33226 0 0 allow ip from table(126) to table(127) 33400 46394 50961527 pipe tablearg ip from any to table(10) 65535 135 14473 deny ip from any to any Название: Re: два провайдера 2 шлюза Отправлено: Андрій от 31 Августа 2010, 16:04:49 Ну, во первых, уже давно и не раз писали, почему НЕЛЬЗЯ делать Код: ${f} add 28 allow udp from any to any 53 По теме: ДО бгп была такая же история: два прова есть, а бгп - нет. Так вот, фаер у меня был на 99% такойже (глянул ща в бакапы), но правил 400/401 там НЕТ и близко и вместо 420/450 у меня ngtee (по вкусу). п.с. Само собой, не забыть добавить в 126ю таблицу НУЖНЫЕ подсети 2го направления и выставить нужную скорость в соответствующих тарифах. я так розумію, що у вас на ua-ix прописані маршрути в системі, а в мене трафік туди йде через правило в pf - pass in on $int_if route-to { ($ext_if2 $ext_gw2) } inet proto { tcp, udp } from $lan_net to <ua-ix> keep state, тому і не обмежується вихідна швидкість Название: Re: два провайдера 2 шлюза Отправлено: Андрій от 31 Августа 2010, 18:40:32 а як зробити щоб з файлику з списком ір ua-ix автоматично прописувалтсь роути на інший шлюз ? думаю що це б мало вирішити мою проблему.
Название: Re: два провайдера 2 шлюза Отправлено: Elisium от 31 Августа 2010, 22:25:48 Ну, если я правильно понял вопрос то:
У меня было так: два прова - один мир, второй только украина. Соответственно на первого прова смотрел дефолт, на второго - все укр префиксы. Делал так: 1. Забирал укр префиксы текстовым файликом раз в сутки. Там один префикс на строку. 2. После того, как забрал, делал что то вроде: Код: route flush Запускалось по крону раз в сутки дето около 6ти утра. Название: Re: два провайдера 2 шлюза Отправлено: Андрій от 31 Августа 2010, 23:58:55 дякую, так працює.
але все рівно цікаво чому у варіанті з pf-ом є така проблема, бо використовувати pf для цієї задачі для мене краще. Название: Re: два провайдера 2 шлюза Отправлено: Elisium от 02 Сентября 2010, 00:01:14 ЕСЛИ я правильно помню, то есть нюанс в ПОРЯДКЕ загрузки фаерволов.
Кто раньше в цепочке загрузился, тот и раньше отрабатывает свои правила. Как то так. Помню довольно смутно, поэтому это просто намек в эту сторону ... п.с. Сам на тему "ДВА шлюза в инет" немало перерыл и переспрашивал форумов. Все советы в основном сводились к "ПФ - только нат и ничего более", а все остальное делать через ипфв/роуты. И, в принципе, такая схема работала без проблем. Название: Re: два провайдера 2 шлюза Отправлено: Андрій от 02 Сентября 2010, 09:44:41 а як тоді через через іпфв/роути зробити щоб трафік через 80-й порт йшов через окремий канал ?
Название: Re: два провайдера 2 шлюза Отправлено: Андрій от 02 Сентября 2010, 09:46:45 вихідні пакети коли проходили через pf дійсно в ipfw вже не йшли
Название: Re: два провайдера 2 шлюза Отправлено: Elisium от 02 Сентября 2010, 10:34:11 а як тоді через через іпфв/роути зробити щоб трафік через 80-й порт йшов через окремий канал ? Код: fwd КУДА_ТО_на_этот_сервер tcp from table(0) to not me dst-port 80 Мм .. как то так ? Название: Re: два провайдера 2 шлюза Отправлено: Андрій от 02 Сентября 2010, 15:06:27 а під яким номером поставити це правило щоб і трафік рахувла і pipe працювали ?
Название: Re: два провайдера 2 шлюза Отправлено: VitalVas от 05 Октября 2010, 10:14:39 от вчера наткнулся на такую вещь
http://ipfw.ism.kiev.ua/pbr.html хоть это не панацея, но жить можно....... Название: Re: два провайдера 2 шлюза Отправлено: ser970 от 05 Октября 2010, 21:03:04 от вчера наткнулся на такую вещь виталя а ты пробовал это?! на версии віше 6.2 http://ipfw.ism.kiev.ua/pbr.html хоть это не панацея, но жить можно....... форвар на внешние апи ухол с опциешь форвард_ескендет есть другие но не так все просто.и не по єтой статье. фри єто не виндовс - где кнопка некс немемялась уже лет 18 начиная с 3.1 Название: Re: два провайдера 2 шлюза Отправлено: VitalVas от 05 Октября 2010, 23:05:28 виталя а ты пробовал это?! на версии віше 6.2 да, пробовал, работаетфорвар на внешние апи ухол с опциешь форвард_ескендет есть другие но не так все просто.и не по єтой статье. фри єто не виндовс - где кнопка некс немемялась уже лет 18 начиная с 3.1 но где пробовал стоит 6.0 Название: Re: два провайдера 2 шлюза Отправлено: methodwest от 29 Октября 2010, 23:15:28 Есть очень класный вариант настроить LAGG! Ето штатная функцыя FreeBSD -- распредиляет весь трафик между несколькими ванами равномерно; есть возможность сделать 100+100=200 обшего канала, не смотря на то что некоторые говорят что ето не возможно!!! Нужно уметь искать и читать маны!!!
работает супер 2 канала по 100 совмесных получаем почти 200 есть реализацыя веб морды на пхп (FreeNAS) виучю перл -- сделаю модуль (бесплатно!!!) а вообше то есть шаблон на пхп переписать на перл будет легче чем написать новый модуль вот только нихто не хочет писать (настройка с морды лан + ван интерфейсы + обьединение ванов в LAGG) а про сам LAGG дядя google могет розказать многое!!!!!!!!! Название: Re: два провайдера 2 шлюза Отправлено: VitalVas от 30 Октября 2010, 00:55:17 Есть очень класный вариант настроить LAGG! Ето штатная функцыя FreeBSD -- распредиляет весь трафик между несколькими ванами равномерно; есть возможность сделать 100+100=200 обшего канала, не смотря на то что некоторые говорят что ето не возможно!!! Нужно уметь искать и читать маны!!! LAGG подходит для суммирование интерфейсов а не провайдеровработает супер 2 канала по 100 совмесных получаем почти 200 есть реализацыя веб морды на пхп (FreeNAS) виучю перл -- сделаю модуль (бесплатно!!!) а вообше то есть шаблон на пхп переписать на перл будет легче чем написать новый модуль вот только нихто не хочет писать (настройка с морды лан + ван интерфейсы + обьединение ванов в LAGG) а про сам LAGG дядя google могет розказать многое!!!!!!!!! Название: Re: два провайдера 2 шлюза Отправлено: Андрій от 02 Ноября 2010, 20:14:51 Окончательный обкатанный вариант. Возможности теже, только icmp идет по разным каналов в зависимости от направления. + испарвленны ошибки в синтаксисе. Код: lan_net = "10.110.0.0/24" а увас при таких правилах вихідний трафік шейпиться ? бо в мене чомусь ні, ніяк не получається розібратись з цією проблемою ( Название: Re: два провайдера 2 шлюза Отправлено: md5 от 23 Декабря 2010, 00:04:45 Интересно!
А кто то сталкивался с проблемой когда шлюз по дефолту одного првайдера стоит то из вне зайти на сервак через другого не получаеться. проходят только icmp пакеты.. Название: Re: два провайдера 2 шлюза Отправлено: poxy. от 23 Декабря 2010, 04:07:20 обратный роут?
Название: Re: два провайдера 2 шлюза Отправлено: md5 от 23 Декабря 2010, 09:10:05 типа да. потому что я уже весь скрипт перелопатил и ничего так и не нашел. хочу из что бы из вне на ип второго провайдера тоже можно было заходить
Название: Re: два провайдера 2 шлюза Отправлено: stix от 23 Декабря 2010, 10:23:34 ущербные провайдеры какие-то.
сейчас время такое, когда апстримов можно строить на раз-два Название: Re: два провайдера 2 шлюза Отправлено: md5 от 23 Декабря 2010, 10:34:11 и к чему ты это вообще сказал ?
Название: Re: два провайдера 2 шлюза Отправлено: stix от 23 Декабря 2010, 11:39:18 и к чему ты это вообще сказал ? к вашим аплинкам, которые не дают человеческие условия работы.тут кроме соурсроутинга никак нельзя. у вас же будет асинхронный трафик, при статических маршрутах на дефолт при падении одного канала, ничего не будет работать (если не юзать соурс роутинг) Название: Re: два провайдера 2 шлюза Отправлено: md5 от 23 Декабря 2010, 11:48:44 подробнее можно ?
Название: Re: два провайдера 2 шлюза Отправлено: stix от 23 Декабря 2010, 12:27:52 для BSD pf или Ipfw?
впринципе называется это PBR (Policy-Based Routing) моментов много...они все не трушные. у вас схема с двумя статическими дефолтами? Название: Re: два провайдера 2 шлюза Отправлено: md5 от 23 Декабря 2010, 15:11:25 PF со статикой!
одно угнетает что шлюз по дефолту отлично работает Код: lan_net = "10.0.0.0/16" pass out on $ext_if2 route-to ($ext_if1 $ext_gw1) from $ext_if1 to any при включении этого правила только icmp идут на интерфейс второга ипа. ежели выключаешь то тишина полная Название: Re: два провайдера 2 шлюза Отправлено: PulsarK от 01 Июня 2011, 13:42:51 Немного подыму тему в связи с аналогичной проблемой.
Нужно часть клиентов перекинуть на другой аплинк с другим гейтвеем. Дано: FreeBSD 7.2 Клиенты подключаются через PPPoE (MPD), потому возня с интерфейсами ng* NAT крутится на PF Теперь, как я понял, нужно настроить форвардинг пакетов от части клиентов на другой гейтвей. В каком месте в IPFW можно прикрутить правила форвардинга, но чтобы биллинг не пострадал? Список правил (лишне убрал): Код: # ipfw show Заранее благодарен за помощь. PS Через PF тяжело организовать, так как внутренний интерфейс получается не один, а целая куча (ng*). Название: Re: два провайдера 2 шлюза Отправлено: VitalVas от 01 Июня 2011, 14:36:58 от тебе пример, на основе этого можно без проблем дописать правила....
правила полностью рабочие, но не от этого биллинга Код: gateway# ipfw list Название: Re: два провайдера 2 шлюза Отправлено: PulsarK от 02 Июня 2011, 19:04:17 Спасибо за подсказку. Пересобрал ядро, setfib заработал. Но появились новые грабли. Пакеты, на которые распространяется правило с "setfib 1" , пропадают на правиле с "divert 1" (сокет IPCADа). Может ктото подсказать в чём причина?
Название: Re: два провайдера 2 шлюза Отправлено: VitalVas от 02 Июня 2011, 20:37:30 хм....
я divert вообще не юзаю Код: capture-ports enable; Название: Re: два провайдера 2 шлюза Отправлено: PulsarK от 04 Июня 2011, 18:54:02 Проблема решилась. Решение нашёл на этом же форуме - http://forum.nodeny.com.ua/index.php?topic=362.0 (http://forum.nodeny.com.ua/index.php?topic=362.0)
В правилах IPFW заменил "divert" на "tee". Окончательный вариант фаервола IPFW (лишнее убрал): Код: # ipfw list Перед этим в конфиге PF настроил NAT для нужных диапазонов адресов. Также были прописаны нужные направления во второй таблице маршрутизации через setfib 1. PS Версия nodeny - 50.32 Название: Re: два провайдера 2 шлюза Отправлено: kuhar от 04 Декабря 2011, 20:58:54 причому тут bgp ? я питаюсь як правильно зробити конфіг pf щоб працювало з інтерфейсом на якому міняється шлюз. делаешь его основным, а дальше пишешь статическую маршрутизацию для другого провайдераНазвание: Re: два провайдера 2 шлюза Отправлено: kuhar от 03 Июня 2013, 07:06:34 Всем привет.
Подскажите, плизз как организовать, следующую схему: Есть два прова PS1 и PS2, оба на серваке соединяются по (это один и тот же провайдер, но с разными ip и шлюзами). Нужно сделать так, чтобы один пров PS1 раздавал на локальную подсеть, например 10.0.24.0/24, а второй PS2 на 10.0.25.0/24. Фаервол настроен на две сетевухи, все ок, я думал что достаточно в pf настроить так: Код: set limit states 128000 re0 - PS2 И будет все работать, но не тут то было, по умолчанию принимает шлюз либо PS1, либо PS2 и соответственно в зависимости от шлюза работают абоны либо в подсети 10.0.24.0/24, либо в 10.0.25.0/24. Попытался добавить руками второй шлюз, и оно как бы работает, но с очень большими потерями пакетов, иногда вообще не работает. Подскажите, плизз, как правильно это организовать. Название: Re: два провайдера 2 шлюза Отправлено: Redmen от 03 Июня 2013, 08:00:42 дядя Гугл подсказывает
http://www.google.com.ua/search?client=opera&hs=kCP&channel=suggest&q=options+routetables&spell=1&sa=X&ei=2y-sUeubA8fmOuWggfgL&ved=0CCkQBSgA (http://www.google.com.ua/search?client=opera&hs=kCP&channel=suggest&q=options+routetables&spell=1&sa=X&ei=2y-sUeubA8fmOuWggfgL&ved=0CCkQBSgA) в ядро надо добавить опцию options ROUTETABLES= Название: Re: два провайдера 2 шлюза Отправлено: ser970 от 03 Июня 2013, 08:13:39 дядя Гугл подсказывает хмhttp://www.google.com.ua/search?client=opera&hs=kCP&channel=suggest&q=options+routetables&spell=1&sa=X&ei=2y-sUeubA8fmOuWggfgL&ved=0CCkQBSgA (http://www.google.com.ua/search?client=opera&hs=kCP&channel=suggest&q=options+routetables&spell=1&sa=X&ei=2y-sUeubA8fmOuWggfgL&ved=0CCkQBSgA) в ядро надо добавить опцию options ROUTETABLES= как связаны? ROUTETABLES и pf ? если делать средствами pf то ROUTETABLES не нужен. а по сути в pf надо еще кроме ната указать что и через какой интерфейс выходить будет . Название: Re: два провайдера 2 шлюза Отправлено: Rico-X от 03 Июня 2013, 08:32:32 Все просто, в конце правил добавьте
Код: pass out on $ext_if1 route-to ($ext_if2 $ext_gw2) from $ext_if2 to !<no_nat> Название: Re: два провайдера 2 шлюза Отправлено: kuhar от 03 Июня 2013, 08:35:33 дядя Гугл подсказывает http://www.google.com.ua/search?client=opera&hs=kCP&channel=suggest&q=options+routetables&spell=1&sa=X&ei=2y-sUeubA8fmOuWggfgL&ved=0CCkQBSgA (http://www.google.com.ua/search?client=opera&hs=kCP&channel=suggest&q=options+routetables&spell=1&sa=X&ei=2y-sUeubA8fmOuWggfgL&ved=0CCkQBSgA) в ядро надо добавить опцию options ROUTETABLES= Ядро у меня собрано с options ROUTETABLES=3 Название: Re: два провайдера 2 шлюза Отправлено: kuhar от 03 Июня 2013, 08:39:00 Пробовал с такой конфигурацией:
Код: set limit states 128000 Но результатов не дало...:( Все просто, в конце правил добавьте Код: pass out on $ext_if1 route-to ($ext_if2 $ext_gw2) from $ext_if2 to !<no_nat> Правда без pass не пробовал. Если два прова соединяются по DHCP в таблице должно ведь быть 2 шлюза, правильно? Название: Re: два провайдера 2 шлюза Отправлено: Rico-X от 03 Июня 2013, 10:42:31 Пробуйте без pass должно все работать. В своем случае создайте таблицу nonat и закиньте туда адреса на которые натить не нужно или замените !<no_nat> на any
Название: Re: два провайдера 2 шлюза Отправлено: kuhar от 03 Июня 2013, 15:38:08 Возможно глупый вопрос, но спрошу.
При проверки дефолтного шлюза, чтобы это все работало, netstat должен выдавать 2 шлюза или один? Название: Re: два провайдера 2 шлюза Отправлено: Rico-X от 03 Июня 2013, 16:22:39 Возможно глупый вопрос, но спрошу. Дефолтным - один. Тут маршруты через второй интерфейс роутятся на уровне pf а не шлюзов.При проверки дефолтного шлюза, чтобы это все работало, netstat должен выдавать 2 шлюза или один? Название: Re: два провайдера 2 шлюза Отправлено: kuhar от 04 Июня 2013, 10:19:13 Без pass выдает синтаксическую ошибку, а так не работает.
Пробовал добавить Код: pass out on $ext_if1 route-to ($ext_if2 $ext_gw2) from $ext_if2 to any Тоже не работает. Криво но работает, если с конфигурацией, как я раньше писал, но добавить второй шлюз: Код: route add default ISP_GW2 Но тогда выходит следующая картина: Через PS1 у клиента пинг идет стабильный на 8.8.8.8, но страницы не открываются, а через PS2 пинг на 8.8.8.8 идет один пакет проходит и 5-8 нет. В rc.conf дефаулт роутер стоит ISP_GW1 Может я действительно, что-то не так делаю, помогите плизз.. Название: Re: два провайдера 2 шлюза Отправлено: Rico-X от 04 Июня 2013, 10:29:21 Вот реальный пример конфига, работающего через 2 провайдера
Код: # cat /etc/pf.conf Не забываем также поменять параметры IPFW, что надо менять: Код: ${f} add 200 skipto 500 ip from any to any { via ${ifOut} or via ${ifOut2} } Ни какие дефаултоуты править не нужно. Название: Re: два провайдера 2 шлюза Отправлено: kuhar от 04 Июня 2013, 18:30:14 А можешь плизз описать чем являются подсети и ip:
192.168.0.0/16 10.0.0.0/16 192.168.88.99 на сколько я понял это ip ISP1 192.168.89.99 на сколько я понял это ip ISP2 10.0.0.105 10.0.12.0/24 10.0.12.1 10.0.0.100 10.0.0.1 10.0.0.14 Для меня будет достаточна следующая конфигурация? Код: set limit states 128000 IPFW именно так и настроен у меня, и еще у меня сейчас в rc.conf закоменчен defaultrouter, так как оба прова соединяются по dhcp, но по какой-то причине постоянно в netstat светится GW второго прова, может нужно defaultrouter прописать какой-то локальный ip? Название: Re: два провайдера 2 шлюза Отправлено: Rico-X от 05 Июня 2013, 06:53:13 А можешь плизз описать чем являются подсети и ip: 192.168.0.0/16 - Вся серая подсеть 192.168 - на нее не натим 10.0.0.0/8 - тоже с 10. 192.168.88.99 - Айпишка самого маршрутизатора, смотрящая в сторону ISP1 192.168.89.99 - Айпишка самого маршрутизатора, смотрящая в сторону ISP2 10.0.0.105 - Сервак помойка, просто ему разрешаем попадать в приватный вилан 12 10.0.12.0/24 - Приватный вилан для сотрудников 10.0.12.1 - Айпишка самого маршрутизатора для вилана 12 10.0.0.100 - Сервачек, который всегда должен ходить через 1 интерфейс 10.0.0.1 - Айпишка самого маршрутизатора на вилане 1 10.0.0.14 - аналогично со 105 То-есть в принципе эти значения исключительно для сетки, откуда я их выдрал. Основное Для меня будет достаточна следующая конфигурация? Код: set limit states 128000 Можно без: Код: nat from 10.0.24.0/24 to !<no_nat> -> { ($ext_if1) ($ext_if2) } round-robin sticky-address Цитировать IPFW именно так и настроен у меня, и еще у меня сейчас в rc.conf закоменчен defaultrouter, так как оба прова соединяются по dhcp, но по какой-то причине постоянно в netstat светится GW второго прова, может нужно defaultrouter прописать какой-то локальный ip? Нет ничего прописывать не надо, если не выйдет - дайте ssh или тимвивер - посмотрим что не так. Название: Re: два провайдера 2 шлюза Отправлено: SeMant от 09 Февраля 2014, 13:47:39 Что -то у меня ничего не получается.
У меня два канала, один Я получаю по рррое второй по дхцп. Код: root@vento:/etc#cat pf.conf абоненты ходят только туда, куда стоит маршрут по default. меняю по ходу работы маршрут, работаем через другого прова. И ещё, Я же правильно понимаю, больше нигде ничего настраивать не надо, чтобы сервер мог работать одновременно на два шлюза ? Название: Re: два провайдера 2 шлюза Отправлено: k291 от 02 Августа 2014, 23:53:57 Решили проблему?
Название: Re: два провайдера 2 шлюза Отправлено: SeMant от 08 Октября 2014, 06:34:43 Решили проблему? Скорее нет чем да. Если к серверу подключаться по ip (всегда онлайн), то трафик балансируется. Но дело в том, что абоненты у меня подключаются по пппое и тунели ходят только по дефолту.Как балансировать трафик пппое пока не знаю. Гле-то читал, что народ с помощью PF балансироваал пппое тунели на кол-во шлюзов. Проблема пока открыта, если только не поставить перед насом сервер для балансирования. Название: Re: два провайдера 2 шлюза Отправлено: Animancorda от 10 Декабря 2015, 09:28:36 Попробуйте создать VLAN для каждого сервиса в отдельности со своим Service ID и Vlan ID. И пускай трафик по каждому гоняет там где вам надо
|