Здравствуйте!
Подскажите пожалуйста как разрулить проблему.Имею FreeBSD 7.0 Stable как интернет-шлюз.
MPD5.2 как PPPoE-сервер и как VPN-клиент(интернет от провайдера).
Один канал(ng0) до прова работает и все что нужно завелось.
При поднятии VPN-соединения получаю: шлюз XX.XX.XX.XX, ip YY.YY.YY.YY.Вопрос в следующем...
Скоро надо будет подключать еще один канал в интренет на вторую организацию (пусть это будет интерфейс ng1), причем от того же провайдера. Провайдер выдаст IP ZZ.ZZ.ZZ.ZZ и шлюз XX.XX.XX.XX при поднятии VPN-соединения. Причем шлюз будет такой же!, как и в случае с поднятием ng0.
Надо разрулить так чтобы одни PPPoE клиенты ходили через ng0, а другие через ng1, так как платить за трафик будут совершенно разные организации по разным договорам.Про PBR прочитал. Но там IP шлюзов разные...
Уважаемые эксперты, подскажите в какую сторону копать?
Какими методами подобную схему можно реализовать имея один сервер?
Во первых, спросить у провайдера прямым текстом:
"Правильно ли я вас понял, что у обоих каналов будет один и тот же шлюз?".Если это так, то... сделать два ната и пускать трафик от каждой конторы в свой нат.
А дальше, как природа подскажет.Ещё можно уговорить провайдера сделать на втором канале другой шлюз.
>Во первых, спросить у провайдера прямым текстом:
>"Правильно ли я вас понял, что у обоих каналов будет один и
>тот же шлюз?".
>
>Если это так, то... сделать два ната и пускать трафик от каждой
>конторы в свой нат.
>А дальше, как природа подскажет.
>
>Ещё можно уговорить провайдера сделать на втором канале другой шлюз.два ната будет маловато, нужна будет еще и маршрутизация с указанием интерфейсов
NAT кажется жизнеспособным решением
примерно так
table <client0> { net0/24 }
table <client1> { net1/24 }
nat on $ng0 from <client0> to any -> ($ng0)
nat on $ng1 from <client1> to any -> ($ng1)
+ блокировать
из недостатков вылезут проблемы с активным ftp
правда если пров выдает серые IP, то они и так есть
--а по классике в pf можно рулить исходящим трафиком через route-to
pass out route-to ($ng0 $ng0_gw0) from <client0> to !(self:network) keep state
pass out route-to ($ng1 $ng1_gw1) from <client1> to !(self:network) keep stateтут правда возникат вопрос а как входящии пакеты разлить,
ведь провайдер о сетях твоих клиентов не ведает
т.ч скорее nat тебе поможет
Всем спасибо за участие!
Счас сложно сказать что-то определенное... Но прову звонил. Пров говорит что шлюз(т.е. IP сервера) будет однаковый:( Отсюда и непонятки с моей стороны. Вощем, я так понимаю, что нужно заиметь второй канал, а там видно будет:) Я просто хотел выяснить реализована ли у кого-нибудь подобная схема, и если да, то какими методами... Попробую конечно "по букварю" с двумя натами посредством IPFW, кажется мне что не получится это...
Люди! Если кто реализовывал подобное, пожалуйста поделитесь опытом! Хочется решить проблему красиво, и без второго сервера:)
>Всем спасибо за участие!
>Счас сложно сказать что-то определенное... Но прову звонил. Пров говорит что шлюз(т.е.
>IP сервера) будет однаковый:( Отсюда и непонятки с моей стороны. Вощем,
>я так понимаю, что нужно заиметь второй канал, а там видно
>будет:) Я просто хотел выяснить реализована ли у кого-нибудь подобная схема,
>и если да, то какими методами... Попробую конечно "по букварю" с
>двумя натами посредством IPFW, кажется мне что не получится это...
>Люди! Если кто реализовывал подобное, пожалуйста поделитесь опытом! Хочется решить проблему красиво,
>и без второго сервера:)да все на 1 решается просто нуно немного поразбираться ...
Предложение насчет pf+nat выглядит очень подходящим.
А какой технологией реализованы туннели к провайдеру?
И какие адреса выдаются провайдером на вашей стороне, белые/серые?
>Предложение насчет pf+nat выглядит очень подходящим.
>А какой технологией реализованы туннели к провайдеру?
>И какие адреса выдаются провайдером на вашей стороне, белые/серые?Адреса пров выдает белые.Посредством pptp-соединений.
Есть задумка на днях попробовать реализовать схему на виртуалке. Если время будет. Обязательно отпишусь о результатах, если заработает. Правдв с pf я не знаком толком... Попробую на ipfw завести.
>>Предложение насчет pf+nat выглядит очень подходящим.
>>А какой технологией реализованы туннели к провайдеру?
>>И какие адреса выдаются провайдером на вашей стороне, белые/серые?
>
>Адреса пров выдает белые.Посредством pptp-соединений.
>Есть задумка на днях попробовать реализовать схему на виртуалке. Если время будет.
>Обязательно отпишусь о результатах, если заработает. Правдв с pf я не
>знаком толком... Попробую на ipfw завести.Можно попробовать так:
route add 1.1.1.1 -interface <имя_интерфейса>C туннелями типа pptp соединений особенно замечательно должно работать.
Ещё вариант:
В 7.1 есть фича использовать несколько таблиц маршрутизации.
Можно повесить один канал на одну таблицу, а второй на вторую.
В результате оба будут через один маршрутизатор, но по разным каналам.
XoRe,точно такаяже проблема. Нашли решение?
>XoRe,точно такаяже проблема. Нашли решение?В моем случае проблема решилась через раздельную бухгалтерию:) Т.е. отпала сама собой проблема.
Но, мне кажется, что вариант с FreeBSD 7.1, предложеный выше должен быть вполне работоспособным.
К сожалению времени нет на виртуалке попробовать реализовать подобное.