Страница 1 из 1

Как разделить трафик по разным провайдерам?

Добавлено: 2008-04-05 20:48:03
PSdok
В филиале есть два интернета.
Один (№1) по через ADSL модем (pppoe), при необходимости можно перестроить модем в режим роутера и снимать с него статический адрес
второй (№2) снимается с выделенки (192.168.0.1)
необходимо обеспечить VPN подключение к офису, но так чтобы VPN шел через интеренет №2 а все остальное (интернет, почта) с интернета №1
Это возможно?

Re: Как разделить трафик по разным провайдерам?

Добавлено: 2008-04-05 22:14:41
_kirill_

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

man route

Re: Как разделить трафик по разным провайдерам?

Добавлено: 2008-04-06 13:27:48
dikens3
route не поможет, т.к. маршрутизацию только 25 или 80 порта он делать не умеет. Почитай мою статью с использованием ipfw fwd.

Re: Как разделить трафик по разным провайдерам?

Добавлено: 2008-04-06 20:47:21
PSdok
адрес VPN сервера известен и не меняется.
может все что идет на этот адрес route заворачивать на нужный интерфейс, а ipfw пропускать только нужный трафик?

Re: Как разделить трафик по разным провайдерам?

Добавлено: 2008-04-06 21:37:56
dikens3
Возможно, попробуй.

Re: Как разделить трафик по разным провайдерам?

Добавлено: 2008-04-07 7:12:32
PSdok
пробовать ехать очень далеко.
Хотелось обкатать решение у тепле, а ехать уже с готовым.

Re: Как разделить трафик по разным провайдерам?

Добавлено: 2008-04-09 21:31:08
PSdok
может на фряхе, к которой подключено два интерента,
поднять продкючение к VPN серверу?
но может ли одновременно устойчиво работать
pppoe подключение к провайдеру (все кроме VPN)
подключение по vpn (тоже на чемто надо делать)
ну и канал выделенки (спутник)?

Re: Как разделить трафик по разным провайдерам?

Добавлено: 2008-04-10 13:19:40
dikens3
У мя опыта такого нет.

Re: Как разделить трафик по разным провайдерам?

Добавлено: 2008-04-11 7:43:30
uderik
pf поможет тебе, имхо ipfw со своим fwd - убожество :(

prov1 - внешний интерфейс 1, 7.7.7.7 и 7.7.7.1 адрес и gw его
prov2 - внешний интерфейс 2, 8.8.8.8 и 8.8.8.1 адрес и gw его
dmz0 - внутренний интерфейс
nat on prov1 inet from 10.10.1.2 to any -> 7.7.7.7
nat on prov2 inet from 10.10.1.3 to any -> 8.8.8.8

rdr on prov1 inet proto tcp from any to 7.7.7.7 port = https -> 10.10.1.2 port 443
rdr on prov2 inet proto tcp from any to 8.8.8.8 port = https -> 10.10.1.3 port 443

pass in quick on prov1 reply-to (prov1 7.7.7.1) inet proto tcp from any to 7.7.7.7 port https \
keep state (source-track rule, max-src-conn-rate 100/10, overload <bad_hosts> flush global, src.track 10)

pass in quick on dmz0 route-to (prov1 7.7.7.1) inet proto tcp from 10.10.1.2 port https to any

pass in quick on prov2 reply-to (prov2 8.8.8.1) inet proto tcp from any to 8.8.8.8 port https \
keep state (source-track rule, max-src-conn-rate 100/10, overload <bad_hosts> flush global, src.track 10)

pass in quick on dmz0 route-to (prov2 8.8.8.8.1) inet proto tcp from 10.10.1.3 port https to any
Приблизительно вот такая конфигурация, у меня в такой конфигурации работает уже более 2х лет. Маршрутизация на машине вообще отрублена, т.е. default'a нет.

Нагрузка 3 - 10 тыщ одновременных подключений. Это все для входящего трафика на порт 443 и через разные каналы.

Re: Как разделить трафик по разным провайдерам?

Добавлено: 2008-04-11 9:54:42
schizoid
а ПФ сможет разрулить, если к примеру 2 инет канала, но для обеих одинаковый шлюз?
и как в пф обстоят дела с нарезкой скоростей?

Re: Как разделить трафик по разным провайдерам?

Добавлено: 2008-04-11 13:38:33
uderik
schizoid писал(а):а ПФ сможет разрулить, если к примеру 2 инет канала, но для обеих одинаковый шлюз?
Что конкретно рулить надо? в моем примере роутингом pf занимается, так как разные каналы, соответственно разные шлюзы.
Если один шлюз, тогда просто порт редирект использется.
schizoid писал(а): и как в пф обстоят дела с нарезкой скоростей?
Я с altq не работал, но люди работают им нравиться, есть даже патч для нарезки скоростей как в ipfw используя dummynet.

Re: Как разделить трафик по разным провайдерам?

Добавлено: 2008-04-14 20:58:48
PSdok
ip -filtr для меня полная загадка.
решил попробовать на фряхе запускать mpd -клиент и присоединятся к vpn серверу по одному каналу, а весь остальной трафик пускать по другому, через шлюз по умолчанию.
есть следующие трудности
- у mpd- клиента не нашел как заставить его присоедитняться с нужного интерфеса.
-mpd- клиент присоединятся, ip адрес получает (192.168.200.120), адрес на vpn-сервере (192.168.200.100) пингуется, из своей локальной сети я адрес 192.168.200.120 могу пинговать,а вот 192.168.200.100 пропинговать не могу.
пробовал
route add - net 192.168.200.0/24 192.168.200.120 добавить маршрут
не работает.

Re: Как разделить трафик по разным провайдерам?

Добавлено: 2008-04-16 9:27:55
schizoid
Решил использовать pf, глупый вопрос, как выключить ipfw без перекомпилции ядра?
при опции firewall_enable="NO" - он загружается с правилом deny all.
или тока ОПЕН придется ставить?

Re: Как разделить трафик по разным провайдерам?

Добавлено: 2008-04-16 15:29:47
dikens3
schizoid писал(а):Решил использовать pf, глупый вопрос, как выключить ipfw без перекомпилции ядра?
при опции firewall_enable="NO" - он загружается с правилом deny all.
или тока ОПЕН придется ставить?
Если ipfw вкомпилен в ядро, тогда только перекомпиляция. В Generic он не вкомпилирован в ядро и по умолчанию не загружается (ввиде модуля по запросу).

Re: Как разделить трафик по разным провайдерам?

Добавлено: 2009-01-11 16:50:49
Arsenal
промучался над PF битый день... задача:
Трафик с локальной сети пускать через несколько внешних интерфейсов, например
msk0, msk1, msk2-интерфейсы смотрящее в инет им присвоенны вот такие вот айпи х.х.х.2 х.х.х.3 х.х.х.4, шлюз х.х.х.1
и для каждого интерфейса есть свой диапазон айпи из локалки например 10.90.1.0/24 10.90.2.0/24 10.90.3.0/24(все спрятано за "толстым" свичем-роутером без ната для свича шлюз-msk3, на сервере прописана статическая маршрутизация) на ipfw задача решается просто:

00653 skipto 660 ip from not 10.90.1.0/24 to any
00656 nat 120 ip from 10.90.1.0/24 to any
00659 allow ip from any to any
00660 skipto 710 ip from not 10.90.2.0/24 to any
00700 nat 110 ip from 110.90.2.0/24 to any
00705 allow ip from any to any
00710 nat 100 ip from 10.90.3.0/24 to any
00800 allow ip from 10.90.3.0/24 to any

inet# ipfw nat show config
ipfw nat 120 config if msk0
ipfw nat 110 config if msk1
ipfw nat 100 config if msk2

как вы догадались net.inet.ip.fw.one_pass=0 хочу поставить net.inet.ip.fw.one_pass=1 и связку ipfw+pf

/etc/pf.conf
nat on msk0 from 10.90.1.0\24 -> (msk0)
nat on msk1 from 10.90.2.0\24 -> (msk1)
nat on msk2 from 10.90.3.0\24 -> (msk2)

пингуем инет с сети 10.90.2.0\24 -tcpdump гворит что пинги идут через msk0 и без ната (исходящий айпи-локалки)

Re: Как разделить трафик по разным провайдерам?

Добавлено: 2009-01-11 17:05:06
paradox
помоему без fwd оно и незаработает
как мне кажеться

Re: Как разделить трафик по разным провайдерам?

Добавлено: 2009-01-11 18:24:25
Arsenal
Решил задачу в pf, пока только на тестовой тачке

nat on msk0 proto icmp from 10.90.1.0/24 -> x.x.x.2 #не обращать внимания на протокол proto icmp, повторяюсь делал
nat on msk1 proto icmp from 10.90.2.0/24 -> x.x.x.3 #только на тестовом компе, сделаю на робочем сервере-отпишусь

pass in quick on msk3 route-to (msk0 x.x.x.1 ) inet from 10.90.1.0/24 to any
pass in quick on msk3 route-to (msk1 x.x.x.1 ) inet from 10.90.2.0/24 to any

Сервер без шлюза по умолчанию, строка
#==========/etc/rc.conf
#default_router="x.x.x.1"
закоментирована.

Извинте за ламерство, только сегодня попробовал что такое Pf )))))))