Страница 1 из 1
шлюз между двумя isp
Добавлено: 2009-07-05 14:59:30
chillivilli
Привет, натолкните на мысли как это реализовать с помощью ipfw natd таблиц маршрутизации?
ситуация:
<?пачка компов в инете с белымми ипами</?> [1]
| /\
| |
\/ |
----------------шлюз 7.2-------------------------- [2]
1 em0 inet 82.42.33.233 defaultgate 82.42.33.1 ---> сеть первого прова
ipfw+natd
2 em1 inet 192.168.0.10 defaultgate 192.168.0.15 ---> сеть второго прова с серыми ип
----------------шлюз 7.2--------------------------
| /\
| |
\/ |
-------------------------------------------------- [3]
Сервер в сети воторого прова ип 192.168.0.2
--------------------------------------------------
задача: пачка компов с инета посылает пакеты на ип первого прова (em0 шлюза) [1]-->[2]
шлюз перенаправляет их на второй интерфейс em1 [2]-->[2]
с интерфейса em1 он уходит в сеть второго прова на сервер [2]-->[3]
далее пакет возвращается обратно проходя эти же стадии в обратном порядке
Как?
Re: шлюз между двумя isp
Добавлено: 2009-07-05 15:14:32
MASiK
Так тебе надо перенаправление что ли?
Не хрена не понял

Re: шлюз между двумя isp
Добавлено: 2009-07-05 15:34:39
chillivilli
нужен шлюз между двумя исп для определенных клиентов, которые имеют белые инет адреса. На схеме вроде как все понятно нарисовал, что конкретно не понятно?
Re: шлюз между двумя isp
Добавлено: 2009-07-05 15:49:59
FenX
для начала один вопрос:
эта машина является шлюзом для обоих исп, или нет?
Re: шлюз между двумя isp
Добавлено: 2009-07-05 16:02:32
chillivilli
Для первого испа точно нет
Для второго по всей видимости тоже нет, так как на ней(шлюзе) прописывается второй defaultgate = 192.168.0.15
Re: шлюз между двумя isp
Добавлено: 2009-07-05 16:09:29
FenX
эть... надо читать было внимательнее

понял

ща попробую че-нить накатать

Re: шлюз между двумя isp
Добавлено: 2009-07-05 16:16:40
FenX
Код: Выделить всё
ipfw nat 123 config if em0 redirect_addr 82.42.33.233 192.168.0.2
что-то вроде того))
хотя у себя не проверял
З.Ы.
данное правило - для кернель ната.
он должен быть вкомпилен в ядро.
Код: Выделить всё
options IPFIREWALL_NAT
options LIBALIAS ### required by nat
Re: шлюз между двумя isp
Добавлено: 2009-07-05 16:21:32
chillivilli
Я понял что кернет ната, сути не меняет, вопрос в том каким образом прописать два гейта на разных интерфейсах + по идее нужно дописывать что-то в таблицу маршрутизации, будет ли это правило без всего этого работать?
Re: шлюз между двумя isp
Добавлено: 2009-07-05 16:25:23
FenX
тут суть какая:
все запросы на ip 82.42.33.233
будут перенаправлены на 192.168.0.2
только я чуть-чуть забыл
Код: Выделить всё
ipfw nat 123 config if em0 redirect_addr 82.42.33.233 192.168.0.2
ipfw add nat 123 from table(1) to 82.42.33.233 in via em0
в table 1 соотв. храниться список всех ip`ов, с которых перенаправлять (наши белые ip)
я так понимаю тебе именно это надо.
в этом случае тебе нужна маршрутизация только одна: от шлюза к 192.168.0.2
а она, я так понимаю, есть. т.е. сам шлюз видит 192.168.0.2
Re: шлюз между двумя isp
Добавлено: 2009-07-05 16:35:12
chillivilli
Так а обратно будут пакеты ходить? Т.е отвечать этот сервер (192.168.0.2) запрашивающему хосту через наш шлюз сможет с таким набором правил и с дефолтовой маршрутизацией плюс прописанным маршрутом к 192.168.0.2 через 192.168.0.15 ?
Re: шлюз между двумя isp
Добавлено: 2009-07-05 16:36:27
FenX
ессно))
твой сервер (192.168.0.2) будет считать, что к нему обратился шлюз.
он ему и вернёт пакет.
в свою очередь шлюз, по открытому нат соединению отправит этот пакет дальше по назначению.
Re: шлюз между двумя isp
Добавлено: 2009-07-05 16:37:00
MASiK
Ну я собственно точно так же понял, и такой же хотел дать вариант выхода
А по поводу того что тебе нужно посмотри в хендбуках на freebsd.org в разделе route там что-то точно было подобное, давно читал особо не помню
Re: шлюз между двумя isp
Добавлено: 2009-07-05 16:40:51
FenX
MASiK писал(а):А по поводу того что тебе нужно посмотри в хендбуках на freebsd.org в разделе route там что-то точно было подобное, давно читал особо не помню
а смысл?
тут самый обыкновенный нат по принцыпу: из глобалнета во внутреннюю сеть.
Re: шлюз между двумя isp
Добавлено: 2009-07-05 17:01:25
chillivilli
FenX писал(а):
тут самый обыкновенный нат по принцыпу: из глобалнета во внутреннюю сеть.
по сути так и есть единственное отличие в том что редиректим не порты, что обычно редиректят, а адресс + ко всему есть второй шлюз..
Правильно?
Т.е если мутить "устаревшей связкой" ipfw +natd, то реализуем все это следующим образом
1.В rc.conf в качестве дефалт шлюза прописываем шлюз первого прова
2.В таблицу маршрутизации добавляем путь к 192.168.0.2 через шлюз 192.168.0.15
2.вешаем нат на внешний интерфейс первого прова
3 в natd.conf пропсиываем редирект адреса внешний ип первого прова --> 192.168.0.2
Так?
Re: шлюз между двумя isp
Добавлено: 2009-07-05 17:06:32
FenX
1.В rc.conf в качестве дефалт шлюза прописываем шлюз первого прова
не имеет принципиальной разницы.
дефолт шлюз тебе нужен только для того, чтобы сама машина в нет выходила.
у тебя же - выход в нет не имеет роли.
2.В таблицу маршрутизации добавляем путь к 192.168.0.2 через шлюз 192.168.0.15
если таковой отсутствует, то да.
2.вешаем нат на внешний интерфейс первого прова
да, нат должен висеть на интерфейсе, который смотрит в сторону первого провайдера.
3 в natd.conf пропсиываем редирект адреса внешний ип первого прова --> 192.168.0.2
именно.
правило для natd выглядеть будет примерно так:
natd.conf
Re: шлюз между двумя isp
Добавлено: 2009-07-05 17:11:00
chillivilli
И при такой реализации пакет отправленный из инета на ип первого прова будет попадать на ип сервера из сети второго прова и ответ будет уходить обратно на машину отправляющую запросы ? т.е будет прозрачный обмен между двумя хостами через наш шлюз?
Re: шлюз между двумя isp
Добавлено: 2009-07-05 17:11:32
FenX
именно
Re: шлюз между двумя isp
Добавлено: 2009-07-05 17:12:01
FenX
только запрос должен идти к шлюзу, а не к серверу во второй сети.
Re: шлюз между двумя isp
Добавлено: 2009-07-05 17:22:47
chillivilli
FenX писал(а):только запрос должен идти к шлюзу, а не к серверу во второй сети.
это понятно
Спасибо за ответы, последний для меня непонятный момент это правила фаера касающиеся диверта
в случае обычного ната в локалку выглядили бы примерно так
#заворачиваем всех
$cmd 60 divert 8668 ip from any to $ип первого прова in via $интерфейс первого прова
#выпускаем всех
$cmd 800 divert 8668 ip from any to any out via $интерфейс первого прова
allow all from any to any
в этом конкретном случае все оставить без изменений?
Re: шлюз между двумя isp
Добавлено: 2009-07-05 17:23:51
FenX
угук
Re: шлюз между двумя isp
Добавлено: 2009-07-05 17:32:30
chillivilli
Спасибо оказывается все намного проще чем я мог себе представить, завтра приедит сервер, попробую поднять все.
Задал тот же самый вопрос на опеннете, если инетерсно посмотреть ответы
http://www.opennet.ru/openforum/vsluhfo ... 85844.html
Re: шлюз между двумя isp
Добавлено: 2009-07-05 18:33:07
FenX
кстате, для кернель ната немного скосячил в правиле

надо так:
Код: Выделить всё
ipfw nat 123 config if em0 redirect_addr 192.168.0.2 82.42.33.233
ipfw add nat 123 from table(1) to 82.42.33.233 in via em0