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

Проблемы установки, настройки и работы Правильной Операционной Системы

Модератор: terminus

Правила форума
Убедительная просьба юзать теги [cоde] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
PSdok
ст. сержант
Сообщения: 357
Зарегистрирован: 2006-10-05 18:27:56
Откуда: Нижний НОвгород

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

Непрочитанное сообщение PSdok » 2008-04-05 20:48:03

В филиале есть два интернета.
Один (№1) по через ADSL модем (pppoe), при необходимости можно перестроить модем в режим роутера и снимать с него статический адрес
второй (№2) снимается с выделенки (192.168.0.1)
необходимо обеспечить VPN подключение к офису, но так чтобы VPN шел через интеренет №2 а все остальное (интернет, почта) с интернета №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/
Выделенные сервера, Россия, Москва, от 2460 рублей (8 CPU, 8Gb RAM, 2x500Gb HDD, RAID 3ware 9750):
https://www.host-food.ru/tariffs/vydelennyi-server-ds/
Недорогие домены в популярных зонах: https://www.host-food.ru/domains/

_kirill_
ст. сержант
Сообщения: 311
Зарегистрирован: 2007-05-11 9:41:21
Откуда: Tashkent
Контактная информация:

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

Непрочитанное сообщение _kirill_ » 2008-04-05 22:14:41

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

man route

Аватара пользователя
dikens3
подполковник
Сообщения: 4856
Зарегистрирован: 2006-09-06 16:24:08
Откуда: Нижний Новгород
Контактная информация:

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

Непрочитанное сообщение dikens3 » 2008-04-06 13:27:48

route не поможет, т.к. маршрутизацию только 25 или 80 порта он делать не умеет. Почитай мою статью с использованием ipfw fwd.
Лучше установить FreeBSD, чем потратить 30 лет на Linux'ы и выяснить какой из них хуже.

PSdok
ст. сержант
Сообщения: 357
Зарегистрирован: 2006-10-05 18:27:56
Откуда: Нижний НОвгород

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

Непрочитанное сообщение PSdok » 2008-04-06 20:47:21

адрес VPN сервера известен и не меняется.
может все что идет на этот адрес route заворачивать на нужный интерфейс, а ipfw пропускать только нужный трафик?

Аватара пользователя
dikens3
подполковник
Сообщения: 4856
Зарегистрирован: 2006-09-06 16:24:08
Откуда: Нижний Новгород
Контактная информация:

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

Непрочитанное сообщение dikens3 » 2008-04-06 21:37:56

Возможно, попробуй.
Лучше установить FreeBSD, чем потратить 30 лет на Linux'ы и выяснить какой из них хуже.

PSdok
ст. сержант
Сообщения: 357
Зарегистрирован: 2006-10-05 18:27:56
Откуда: Нижний НОвгород

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

Непрочитанное сообщение PSdok » 2008-04-07 7:12:32

пробовать ехать очень далеко.
Хотелось обкатать решение у тепле, а ехать уже с готовым.

PSdok
ст. сержант
Сообщения: 357
Зарегистрирован: 2006-10-05 18:27:56
Откуда: Нижний НОвгород

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

Непрочитанное сообщение PSdok » 2008-04-09 21:31:08

может на фряхе, к которой подключено два интерента,
поднять продкючение к VPN серверу?
но может ли одновременно устойчиво работать
pppoe подключение к провайдеру (все кроме VPN)
подключение по vpn (тоже на чемто надо делать)
ну и канал выделенки (спутник)?

Аватара пользователя
dikens3
подполковник
Сообщения: 4856
Зарегистрирован: 2006-09-06 16:24:08
Откуда: Нижний Новгород
Контактная информация:

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

Непрочитанное сообщение dikens3 » 2008-04-10 13:19:40

У мя опыта такого нет.
Лучше установить FreeBSD, чем потратить 30 лет на Linux'ы и выяснить какой из них хуже.

uderik
рядовой
Сообщения: 35
Зарегистрирован: 2007-10-24 12:15:47

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

Непрочитанное сообщение uderik » 2008-04-11 7:43:30

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 и через разные каналы.

Аватара пользователя
schizoid
подполковник
Сообщения: 3228
Зарегистрирован: 2007-03-03 17:32:31
Откуда: Украина, Чернигов
Контактная информация:

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

Непрочитанное сообщение schizoid » 2008-04-11 9:54:42

а ПФ сможет разрулить, если к примеру 2 инет канала, но для обеих одинаковый шлюз?
и как в пф обстоят дела с нарезкой скоростей?
ядерный взрыв...смертельно красиво...жаль, что не вечно...

uderik
рядовой
Сообщения: 35
Зарегистрирован: 2007-10-24 12:15:47

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

Непрочитанное сообщение uderik » 2008-04-11 13:38:33

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

PSdok
ст. сержант
Сообщения: 357
Зарегистрирован: 2006-10-05 18:27:56
Откуда: Нижний НОвгород

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

Непрочитанное сообщение PSdok » 2008-04-14 20:58:48

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 добавить маршрут
не работает.

Аватара пользователя
schizoid
подполковник
Сообщения: 3228
Зарегистрирован: 2007-03-03 17:32:31
Откуда: Украина, Чернигов
Контактная информация:

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

Непрочитанное сообщение schizoid » 2008-04-16 9:27:55

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

Аватара пользователя
dikens3
подполковник
Сообщения: 4856
Зарегистрирован: 2006-09-06 16:24:08
Откуда: Нижний Новгород
Контактная информация:

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

Непрочитанное сообщение dikens3 » 2008-04-16 15:29:47

schizoid писал(а):Решил использовать pf, глупый вопрос, как выключить ipfw без перекомпилции ядра?
при опции firewall_enable="NO" - он загружается с правилом deny all.
или тока ОПЕН придется ставить?
Если ipfw вкомпилен в ядро, тогда только перекомпиляция. В Generic он не вкомпилирован в ядро и по умолчанию не загружается (ввиде модуля по запросу).
Лучше установить FreeBSD, чем потратить 30 лет на Linux'ы и выяснить какой из них хуже.

Arsenal
проходил мимо

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

Непрочитанное сообщение Arsenal » 2009-01-11 16:50:49

промучался над 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 и без ната (исходящий айпи-локалки)

paradox
проходил мимо
Сообщения: 11620
Зарегистрирован: 2008-02-21 18:15:41

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

Непрочитанное сообщение paradox » 2009-01-11 17:05:06

помоему без fwd оно и незаработает
как мне кажеться

Arsenal
проходил мимо

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

Непрочитанное сообщение Arsenal » 2009-01-11 18:24:25

Решил задачу в 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 )))))))