The OpenNET Project / Index page

[ новости /+++ | форум | wiki | теги | ]

форумы  помощь  поиск  регистрация  майллист  вход/выход  слежка  RSS
"один интерфейс - два входящих NAT"
Вариант для распечатки  
Пред. тема | След. тема 
Форумы Открытые системы на сервере (Маршрутизация, NAT / FreeBSD)
Изначальное сообщение [ Отслеживать ]

"один интерфейс - два входящих NAT"  +/
Сообщение от oklas email on 28-Май-10, 20:42 
FreeBSD 7.2, вертится под WMvare, как bridged, в железе думаю ситуация не изменится. Какие настройки приводить? не знаю что тут может иметь значение, настроена очень просто, чуть больше чем просто поставлена, NAT на ней не поставлено, одна сетевая карта, соответственно может слушать один интерфейс допустим с адресом 10.0.0.3.
Должен работать например веб сервер, таким простым образом чтобы отвечал на запросы пришедшие из разных каналов. А именно в той-же сети стоит два ADSL, с адресами 10.0.0.1 и 10.0.0.10, имеющие какие-то внешние ip например 77.7.7.1 и 77.7.7.10 на обоих ADSL включен проброс 80 порта на 10.0.0.3.
Если точнее то так:
10.0.0.1:80 -> 10.0.0.3:81
10.0.0.10:80 -> 10.0.0.3:90
веб сервер слушает 10.0.0.3:81 и 10.0.0.3:90
Проблема выглядит так что,
если на сервере 10.0.0.3 включен маршрут по умолчанию 10.0.0.1 то доступ есть только http://77.7.7.1/,
если на сервере 10.0.0.3 включен маршрут по умолчанию 10.0.0.10 то доступ есть только http://77.7.7.10/
аналогично прочие сервисы.
Вопрос, как обработать на одном интерфейсе - два входящих NAT проброса.
Можно поставить еще сетевуху, но хотелось бы обойтись одной, поскольку проблема чисто вычислительная.
Надо ВОЗВРАЩАТЬ TCP ответ по маршруту на тот гейт (10.0.0.1 или 10.0.0.10) от которого пришло обращение.
Это или роутинг специальный прописать или какой демон ставить, желательно минимально страндартными средствами. Подскажите какой именно ключ какой утили определяет маршрут по умолчанию, в зависимости от того откуда пришло NAT. Или если не в этом дело, то какие настройки привести.
PS: гуглил, звонил обоим провайдерам, решения нет.
Высказать мнение | Ответить | Правка | Cообщить модератору

Оглавление

Сообщения по теме [Сортировка по времени | RSS]


1. "один интерфейс - два входящих NAT"  +/
Сообщение от Аноним (??) on 28-Май-10, 21:05 
интересный случай.
сразу на ум приходит небольшое извращение: не пробрасывать порты натом, а проксировать (в этом месте меня пинает недовольный народ :)). я бы поставил 3proxy на маршрутизаторах и написал на каждом, что-то типа:

daemon
log /var/log/3proxy.log
tcppm -s -i10.0.0.1 80 10.0.0.3 80

Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

2. "один интерфейс - два входящих NAT"  +/
Сообщение от PavelR (??) on 28-Май-10, 21:30 
>PS: гуглил, звонил обоим провайдерам, решения нет.

Ну раз решения нет, то что же вы тогда хотите :-)

>не поставлено, одна сетевая карта, соответственно может слушать один интерфейс допустим
>с адресом 10.0.0.3.

а в голову не приходит такой мысли, что адресов на карте может быть несколько?
Пробрасываете с разных модемов порты на разные IP, на freebsd разруливаете через, к примеру, ipfw fwd ответы с разных айпи отправлять на соответствующие шлюзы.


Тут краем глаза замечено следующее, цитирую:

>Если точнее то так:
>10.0.0.1:80 -> 10.0.0.3:81
>10.0.0.10:80 -> 10.0.0.3:90
>веб сервер слушает 10.0.0.3:81 и 10.0.0.3:90

Так вот, ipfw fwd можно задействовать не только по IP, но и по портам.


Гуглите на тему "фрибзд и два провайдера".

Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

3. "один интерфейс - два входящих NAT"  +/
Сообщение от oklas email on 29-Май-10, 08:58 
провайдер1                провайдер2
     |                        |
---------------        ----------------
| 77.7.7.1:80 |        | 77.7.7.10:80 |
|     adsl    |        |     adsl     |
|   10.0.0.1  |        |  10.0.0.10   |
---------------        ----------------
       |                       |
       -----------LAN-----------
                   |
         --------------------
         | 10.0.0.3:(81,90) |
         |      server      |
         --------------------          
Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

4. "один интерфейс - два входящих NAT"  +/
Сообщение от PavelR (??) on 29-Май-10, 11:11 

Картинка ясна. Еще вопросы ?


Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

5. "один интерфейс - два входящих NAT"  +/
Сообщение от oklas email on 08-Июн-10, 10:58 
решение:
ipfw fwd 10.0.0.10 tcp from me 90 to any

(прописать в конфиг файрвола или выполнить)

и все. На удивление мало, деже rc.conf править не надо, после персборки ядра файрвол по умолчанию включен. defaultroute не меняем (10.0.0.1)

всем спасибо!
файрвол задействован:
> не только по IP, но и по портам.

PS:
есть еще второй способ с помощью openbsd'шного pf (package filter)
оба способа требуют пересборки ядра с включением в него по меньшей мере опции файрвола IPFIREWALL_FORWARDING, которая не работает если файрвол грузить как модуль.
второй IP не нужен, тк. чуть больше возьни


Ссылки:
ядро:
http://www.freebsd.org/doc/ru/books/handbook/kernelconfig.html
файрвол:
https://www.opennet.ru/base/net/2_channel_balancing.txt.html
http://www.samag.ru/cgi-bin/go.pl?q=articles;n=12.2006;a=06

Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




Спонсоры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2022 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру