шлюз между двумя isp
Модератор: terminus
Правила форума
Убедительная просьба юзать теги [cоde] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
Убедительная просьба юзать теги [cоde] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
-
- мл. сержант
- Сообщения: 92
- Зарегистрирован: 2009-06-19 12:31:04
- Откуда: Санкт-Петербург
шлюз между двумя isp
Привет, натолкните на мысли как это реализовать с помощью 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]
далее пакет возвращается обратно проходя эти же стадии в обратном порядке
Как?
ситуация:
<?пачка компов в инете с белымми ипами</?> [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]
далее пакет возвращается обратно проходя эти же стадии в обратном порядке
Как?
Услуги хостинговой компании Host-Food.ru
Тарифы на хостинг в России, от 12 рублей: https://www.host-food.ru/tariffs/hosting/
Тарифы на виртуальные сервера (VPS/VDS/KVM) в РФ, от 189 руб.: https://www.host-food.ru/tariffs/virtualny-server-vps/
Выделенные сервера, Россия, Москва, от 2000 рублей (HP Proliant G5, Intel Xeon E5430 (2.66GHz, Quad-Core, 12Mb), 8Gb RAM, 2x300Gb SAS HDD, P400i, 512Mb, BBU):
https://www.host-food.ru/tariffs/vydelennyi-server-ds/
Недорогие домены в популярных зонах: https://www.host-food.ru/domains/
Тарифы на виртуальные сервера (VPS/VDS/KVM) в РФ, от 189 руб.: https://www.host-food.ru/tariffs/virtualny-server-vps/
Выделенные сервера, Россия, Москва, от 2000 рублей (HP Proliant G5, Intel Xeon E5430 (2.66GHz, Quad-Core, 12Mb), 8Gb RAM, 2x300Gb SAS HDD, P400i, 512Mb, BBU):
https://www.host-food.ru/tariffs/vydelennyi-server-ds/
Недорогие домены в популярных зонах: https://www.host-food.ru/domains/
- MASiK
- лейтенант
- Сообщения: 625
- Зарегистрирован: 2008-09-19 20:09:41
- Откуда: Оттуда
- Контактная информация:
-
- мл. сержант
- Сообщения: 92
- Зарегистрирован: 2009-06-19 12:31:04
- Откуда: Санкт-Петербург
Re: шлюз между двумя isp
нужен шлюз между двумя исп для определенных клиентов, которые имеют белые инет адреса. На схеме вроде как все понятно нарисовал, что конкретно не понятно?
- FenX
- ст. прапорщик
- Сообщения: 513
- Зарегистрирован: 2008-04-23 17:46:53
- Откуда: Moscow
- Контактная информация:
Re: шлюз между двумя isp
для начала один вопрос:
эта машина является шлюзом для обоих исп, или нет?
эта машина является шлюзом для обоих исп, или нет?
-
- мл. сержант
- Сообщения: 92
- Зарегистрирован: 2009-06-19 12:31:04
- Откуда: Санкт-Петербург
Re: шлюз между двумя isp
Для первого испа точно нет
Для второго по всей видимости тоже нет, так как на ней(шлюзе) прописывается второй defaultgate = 192.168.0.15
Для второго по всей видимости тоже нет, так как на ней(шлюзе) прописывается второй defaultgate = 192.168.0.15
- FenX
- ст. прапорщик
- Сообщения: 513
- Зарегистрирован: 2008-04-23 17:46:53
- Откуда: Moscow
- Контактная информация:
Re: шлюз между двумя isp
эть... надо читать было внимательнее 
понял
ща попробую че-нить накатать 

понял


- FenX
- ст. прапорщик
- Сообщения: 513
- Зарегистрирован: 2008-04-23 17:46:53
- Откуда: Moscow
- Контактная информация:
Re: шлюз между двумя isp
Код: Выделить всё
ipfw nat 123 config if em0 redirect_addr 82.42.33.233 192.168.0.2
хотя у себя не проверял

З.Ы.
данное правило - для кернель ната.
он должен быть вкомпилен в ядро.
Код: Выделить всё
options IPFIREWALL_NAT
options LIBALIAS ### required by nat
-
- мл. сержант
- Сообщения: 92
- Зарегистрирован: 2009-06-19 12:31:04
- Откуда: Санкт-Петербург
Re: шлюз между двумя isp
Я понял что кернет ната, сути не меняет, вопрос в том каким образом прописать два гейта на разных интерфейсах + по идее нужно дописывать что-то в таблицу маршрутизации, будет ли это правило без всего этого работать?
- FenX
- ст. прапорщик
- Сообщения: 513
- Зарегистрирован: 2008-04-23 17:46:53
- Откуда: Moscow
- Контактная информация:
Re: шлюз между двумя isp
тут суть какая:
все запросы на ip 82.42.33.233
будут перенаправлены на 192.168.0.2
только я чуть-чуть забыл
в table 1 соотв. храниться список всех ip`ов, с которых перенаправлять (наши белые ip)
я так понимаю тебе именно это надо.
в этом случае тебе нужна маршрутизация только одна: от шлюза к 192.168.0.2
а она, я так понимаю, есть. т.е. сам шлюз видит 192.168.0.2
все запросы на 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
я так понимаю тебе именно это надо.
в этом случае тебе нужна маршрутизация только одна: от шлюза к 192.168.0.2
а она, я так понимаю, есть. т.е. сам шлюз видит 192.168.0.2
-
- мл. сержант
- Сообщения: 92
- Зарегистрирован: 2009-06-19 12:31:04
- Откуда: Санкт-Петербург
Re: шлюз между двумя isp
Так а обратно будут пакеты ходить? Т.е отвечать этот сервер (192.168.0.2) запрашивающему хосту через наш шлюз сможет с таким набором правил и с дефолтовой маршрутизацией плюс прописанным маршрутом к 192.168.0.2 через 192.168.0.15 ?
- FenX
- ст. прапорщик
- Сообщения: 513
- Зарегистрирован: 2008-04-23 17:46:53
- Откуда: Moscow
- Контактная информация:
Re: шлюз между двумя isp
ессно))
твой сервер (192.168.0.2) будет считать, что к нему обратился шлюз.
он ему и вернёт пакет.
в свою очередь шлюз, по открытому нат соединению отправит этот пакет дальше по назначению.
твой сервер (192.168.0.2) будет считать, что к нему обратился шлюз.
он ему и вернёт пакет.
в свою очередь шлюз, по открытому нат соединению отправит этот пакет дальше по назначению.
- MASiK
- лейтенант
- Сообщения: 625
- Зарегистрирован: 2008-09-19 20:09:41
- Откуда: Оттуда
- Контактная информация:
Re: шлюз между двумя isp
Ну я собственно точно так же понял, и такой же хотел дать вариант выхода
А по поводу того что тебе нужно посмотри в хендбуках на freebsd.org в разделе route там что-то точно было подобное, давно читал особо не помню
А по поводу того что тебе нужно посмотри в хендбуках на freebsd.org в разделе route там что-то точно было подобное, давно читал особо не помню
Самурай
- FenX
- ст. прапорщик
- Сообщения: 513
- Зарегистрирован: 2008-04-23 17:46:53
- Откуда: Moscow
- Контактная информация:
Re: шлюз между двумя isp
а смысл?MASiK писал(а):А по поводу того что тебе нужно посмотри в хендбуках на freebsd.org в разделе route там что-то точно было подобное, давно читал особо не помню
тут самый обыкновенный нат по принцыпу: из глобалнета во внутреннюю сеть.
-
- мл. сержант
- Сообщения: 92
- Зарегистрирован: 2009-06-19 12:31:04
- Откуда: Санкт-Петербург
Re: шлюз между двумя isp
по сути так и есть единственное отличие в том что редиректим не порты, что обычно редиректят, а адресс + ко всему есть второй шлюз..FenX писал(а): тут самый обыкновенный нат по принцыпу: из глобалнета во внутреннюю сеть.
Правильно?
Т.е если мутить "устаревшей связкой" ipfw +natd, то реализуем все это следующим образом
1.В rc.conf в качестве дефалт шлюза прописываем шлюз первого прова
2.В таблицу маршрутизации добавляем путь к 192.168.0.2 через шлюз 192.168.0.15
2.вешаем нат на внешний интерфейс первого прова
3 в natd.conf пропсиываем редирект адреса внешний ип первого прова --> 192.168.0.2
Так?
- FenX
- ст. прапорщик
- Сообщения: 513
- Зарегистрирован: 2008-04-23 17:46:53
- Откуда: Moscow
- Контактная информация:
Re: шлюз между двумя isp
не имеет принципиальной разницы.1.В rc.conf в качестве дефалт шлюза прописываем шлюз первого прова
дефолт шлюз тебе нужен только для того, чтобы сама машина в нет выходила.
у тебя же - выход в нет не имеет роли.
если таковой отсутствует, то да.2.В таблицу маршрутизации добавляем путь к 192.168.0.2 через шлюз 192.168.0.15
да, нат должен висеть на интерфейсе, который смотрит в сторону первого провайдера.2.вешаем нат на внешний интерфейс первого прова
именно.3 в natd.conf пропсиываем редирект адреса внешний ип первого прова --> 192.168.0.2
правило для natd выглядеть будет примерно так:
natd.conf
Код: Выделить всё
redirect_address 192.168.0.2 82.42.33.233
-
- мл. сержант
- Сообщения: 92
- Зарегистрирован: 2009-06-19 12:31:04
- Откуда: Санкт-Петербург
Re: шлюз между двумя isp
И при такой реализации пакет отправленный из инета на ип первого прова будет попадать на ип сервера из сети второго прова и ответ будет уходить обратно на машину отправляющую запросы ? т.е будет прозрачный обмен между двумя хостами через наш шлюз?
- FenX
- ст. прапорщик
- Сообщения: 513
- Зарегистрирован: 2008-04-23 17:46:53
- Откуда: Moscow
- Контактная информация:
Re: шлюз между двумя isp
именно
- FenX
- ст. прапорщик
- Сообщения: 513
- Зарегистрирован: 2008-04-23 17:46:53
- Откуда: Moscow
- Контактная информация:
Re: шлюз между двумя isp
только запрос должен идти к шлюзу, а не к серверу во второй сети.
-
- мл. сержант
- Сообщения: 92
- Зарегистрирован: 2009-06-19 12:31:04
- Откуда: Санкт-Петербург
Re: шлюз между двумя isp
это понятно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
в этом конкретном случае все оставить без изменений?
- FenX
- ст. прапорщик
- Сообщения: 513
- Зарегистрирован: 2008-04-23 17:46:53
- Откуда: Moscow
- Контактная информация:
-
- мл. сержант
- Сообщения: 92
- Зарегистрирован: 2009-06-19 12:31:04
- Откуда: Санкт-Петербург
Re: шлюз между двумя isp
Спасибо оказывается все намного проще чем я мог себе представить, завтра приедит сервер, попробую поднять все.
Задал тот же самый вопрос на опеннете, если инетерсно посмотреть ответы http://www.opennet.ru/openforum/vsluhfo ... 85844.html
Задал тот же самый вопрос на опеннете, если инетерсно посмотреть ответы http://www.opennet.ru/openforum/vsluhfo ... 85844.html
- FenX
- ст. прапорщик
- Сообщения: 513
- Зарегистрирован: 2008-04-23 17:46:53
- Откуда: Moscow
- Контактная информация:
Re: шлюз между двумя isp
кстате, для кернель ната немного скосячил в правиле 
надо так:

надо так:
Код: Выделить всё
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