URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID1
Нить номер: 50349
[ Назад ]

Исходное сообщение
"NAT на Bridge"

Отправлено psj , 10-Ноя-04 18:46 
Проблема следующая. Есть сеть реальных адресов, например - 1.1.1.168/29. Необходимо интегрировать ее в локальную сеть предприятия - 10.10.10.128/128. Т.е. для управления некоторыми серверами из вне будет стоять маршрутизатор, который из вне и настраивается, но существующая локальная сеть должна работать в том же режиме в котором работала до сих пор. Мы работали за NAT-ом провайдера.
Вопрос. Можно ли на базе FreeBSD сконфигурировать мост с 3-мя сетевыми интерфейсами: rl1, rl2, rl3.Один из которых, rl1, смотрит в сторону провайдера, второй, rl2, кроссоверовским патч-кордом включен в маршрутизатор, а на третьем, rl3, я устанавливаю адрес своей локальной сети, 10.10.10.129. Перебросить все пакеты с rl1 на rl2 - без проблем, firewall на маршрутизаторе не моя забота. Firewall на rl3 тоже решается. Но можно-ли еще поднять NAT только с rl3 на rl1? И увижу ли я Инет с rl3?

Содержание

Сообщения в этом обсуждении
"NAT на Bridge"
Отправлено фикс , 11-Ноя-04 00:49 
SNAT рулит

"NAT на Bridge"
Отправлено A Clockwork Orange , 11-Ноя-04 06:56 
Картина неполная.
А в чем твоя забота? нат - провайдера, фаервол на маршутризаторе - не твоя забота, фервол на FreeBSD - решается кем то.
Где тут роль моста?
Сделать можно многое.

"NAT на Bridge"
Отправлено psj , 11-Ноя-04 08:13 
>Картина неполная.
>А в чем твоя забота? нат - провайдера, фаервол на маршутризаторе -
>не твоя забота, фервол на FreeBSD - решается кем то.
>Где тут роль моста?
>Сделать можно многое.

Может действительно некорректно вопрос поставил.
Для управления серверами необходимо хотябы 2 реальных адреса. Это не мое условие. Плюс я так понимаю один адрес будет на маршрутизаторе. Сетка ХХ.ХХ.ХХ.МММ/29 - 8 адресов, из которых первый и последний одбрасываем - итого 6 реальных адресов. Один из них на роутере у Прова. Остается пять. Для того чтобы разрулить входящий поток на два потока, мне надо что-то сделать на входе. Один поток уйдет к существующей локалке, второй поток к маршрутизатору. Локалку я посажу за свой fairwall и nat. Маршрутизатор, как я говоррил - не моя проблема, НО туда мне надо отдать ТРИ реальных адреса из пяти оставшихся. Если я на входе ставлю роутер - то к маршрутизатору я могу отдать только один адрес. Т.е. сеть ХХХ.ХХХ.ХХХ.МММ/29 разбивается на две подсети ХХХ.ХХХ.ХХХ.МММ/30 и ХХХ.ХХХ.ХХХ.(МММ+4)/30 и уже на своем роутере я между ними пропускаю пакеты. Но в каждой из этих подсетей всего по 2 (ДВА) реальных адреса. Первая подсеть - один адрес у прова один на моем роутере. Вторая подсеть - один адрес на роутере, второй я отдаю на маршрутизатор. И все. А мне надо еще 2 адреса взять их негде - отсюда вопрос о создании моста. Т.к. на мосту интерфейсам можно не давать адресов вообще.
Поэтому повторяю вопрос: можно ли сконфигурировать с помощью FreeBSD мост с тремя интерфейсами. Один входящий внешний, и два внутренних. Внешний смотрит в Инет на роутер прова с реальным адресом. Видимо на нем будет реальный адрес. Один внутренний без адреса, на него все пакеты пробрасываются без изменения, второй внутренний с адресом моей локальной сети, все пакет проходят через соответствующий fairwall. NAT-ом необходимо сворачивать адреса локальной сети на внешний адрес моста. Теоритически ошибки вроде в таком желании нет, но ни одного похожего примера я не нашел.
Видимо надо строить тестовую сеть и пробовать. :(


"NAT на Bridge"
Отправлено A Clockwork Orange , 11-Ноя-04 10:13 
Вариант 1.
Сеть с двумя шлюзами.
Внешние интерфейсы FreeBSD и маршрутизатора через коммутатор (концентратор) подключаются к одной внешней сети.
1 адрес сторона провайдра,
1 адрес внешний интерфейс FreeBSD,
1 адрес внешний интерфейса маршрутизатора.
2 адреса для статической трансляции на маршрутизаторе по сервера.
Остается 1 адрес.
На маршрутизаторе настраивается статическая трансляция для двух адресов, запросы по этим адресам будут пробрасываться на сервера.
Сервера находятся в  локальной сети.
И разруливаешь внутри с маршрутизацией для серверов
Вариант 2.
Локальная сеть отдельно.
Сервера в другой локальной сети отдельно.
Остальное аналагично

3. На FreeBSD три интерфейса
-один внешний в сторону провайдера (1 внешний адрес)
-второй внутренний в сторону локальной сети.
-третий внешний в сторону серверов.
первый и третий интерфейсы создают мост.
к третьему интерфейсу поключаешь два сервера с двумя реальными адресами. (2 внешний адреса)
можешь конечно к третьему подключить еще маршрутизатор в режиме моста, если надо.

Вариант 4.
Сделать редирект на сервера непосредственно на шлюзе FreeBSD.


"NAT на Bridge"
Отправлено psj , 11-Ноя-04 10:28 
>3. На FreeBSD три интерфейса
>-один внешний в сторону провайдера (1 внешний адрес)
>-второй внутренний в сторону локальной сети.
>-третий внешний в сторону серверов.
>первый и третий интерфейсы создают мост.
>к третьему интерфейсу поключаешь два сервера с двумя реальными адресами. (2 внешний
>адреса)
>можешь конечно к третьему подключить еще маршрутизатор в режиме моста, если надо.

Третий вариант меня устраивает полностью. Вся проблема в непонимании как это сделать практически. Т.е. создать мост между двумя интерфейсами можно, где-то встречал. А вот третий как? Или нат сам будет все сворачивать и перебрасывать?


"NAT на Bridge"
Отправлено A Clockwork Orange , 11-Ноя-04 10:44 
Именно так, два интерфейса в мосту.
В правилах диверта указываешь какие адреса натить.

"NAT на Bridge"
Отправлено psj , 11-Ноя-04 10:46 
>Именно так, два интерфейса в мосту.
>В правилах диверта указываешь какие адреса натить.

А роутинг между этими двумя интерфейсами нужен или нет?


"NAT на Bridge"
Отправлено A Clockwork Orange , 11-Ноя-04 12:04 
Это мост, никакой маршрутизации, сдвух сторон от интерфейсов хосты с адресами из одной сети

"NAT на Bridge"
Отправлено alk , 11-Ноя-04 12:18 
<3. На FreeBSD три интерфейса
<-один внешний в сторону провайдера (1 внешний адрес)
<-второй внутренний в сторону локальной сети.
<-третий внешний в сторону серверов.
<первый и третий интерфейсы создают мост.
<к третьему интерфейсу поключаешь два сервера с двумя реальными <адресами. (2 внешний адреса)
<можешь конечно к третьему подключить еще маршрутизатор в режиме моста, <если надо.

<Вариант 4.
<Сделать редирект на сервера непосредственно на шлюзе FreeBSD.

вариант 5.

1 интерфейс -- провайдер
2 интерфейс -- DMZ сервера  ( редирект с 1 интерфейса )
3 интерфейс -- локальная сеть
по моему самый распространенный вариант



"NAT на Bridge"
Отправлено psj , 11-Ноя-04 13:10 
Прошу прощения, но еще раз объясните неразумному.
Значит так: 3 интерфейса.
1 - к провайдеру с реальным адресом
2 - к маршрутизатору и реальный адрес на маршрутизаторе
3 - в локальную сеть с адресом локальной сети???? Адреса с 3 на 1 сворачиваются нат-ом.
И все? или еще что-то?
Или все-таки на этой машине нат не ставится, а добавляем в локальную сеть еще одну машину - роутер и на ней поднимаем нат?

"NAT на Bridge"
Отправлено psj , 22-Ноя-04 10:39 
На выходных собрал тестовую сеть.
1 машина - FreeBSD 5.3 с 3 интерфейсами, rl0, rl1, rl2. Каждый интерфейс смотрит в свой коммутатор. В каждый коммутатор включено по рабочей станции с Win2000 или XP.
rl0 - без адреса, включен в коммутатор, к которому подключена рабочая станция 0 с адресом 10.0.0.1/24
rl1 - адрес 10.0.0.2/24, включен в коммутатор, к которому подключена рабочая станция 1 с адресом 10.0.0.3/24
rl2 - адрес 10.0.1.1/24, включен в коммутатор, к которому подключена рабочая станция 2 с адресом 10.0.1.2/24
Поднят мост, в конфигурации ядра указана опция BRIDGE, и ядро пересобрано.

В rc.conf указано:
gateway_enable="YES"
hostname="ххх.ххх.ххх.ххх.ru"
defaultrouter="10.0.0.3"
router_flags="-q"
router="/sbin/routed"
router_enable="YES"

NAT не поднимал.

После перезагрузки указываем:
sysctl net.link.ether.bridge.enable=1
sysctl net.link.ether.bridge.config=rl0,rl1

Что я хочу.
Рабочие станции 0 и 2 должны видеть рабочую станцию 1. Рабочая станция 1 должна видеть рабочие станции 0 и 2. Станции 0 и 2 могут не видеть друг друга (сие не принципиально)

Что получилось.
Станции 0 и 1 видят друг друга. Мост работает нормально.
А вот дальше ...
Станция 2 видит на мосту и 1 (10.0.0.2/24) и 2 интерфейс (10.0.1.1/24), а вот рабочую станцию 2, с адресом 10.0.1.2/24, не видит.

Подскажите, что я не так сделал?
Ни в одном мануале не нашел, что так нельзя! :)