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

Исходное сообщение
"NAT и маршрутизатор на FreeBSD"

Отправлено User_03 , 24-Дек-04 10:06 
Есть сервер FreeBSD, который имел два интерфейса: один локальная сеть (первая), второй - сторонняя сеть, в которую с помощью natd ходят компы локалки.
Добавил еще один интерфейс (вторая локальная сеть). Цель - мне нужно, чтобы компы первой локальной сети видели компы во второй локальной сети и при этом NAT на стороннюю сеть работал в обычном режиме. Сейчас пинг с компа в первой сети на вторую сеть не проходит, все затыкается на интерфейсе FreeBSD, смотрящим во вторую локалку. В ipfw передача пакетов по всем интерфейсам разрешена. Интуитивно чувствую, что виновать NAT, который дивертит все что нужно и что не нужно, как быть в этой ситуации? Строка диверта в ipfw add divert natd all from any to any via int1

Содержание

Сообщения в этом обсуждении
"NAT и маршрутизатор на FreeBSD"
Отправлено MoHaX , 24-Дек-04 10:38 
Трудно сказать в чём проблема, без всего скрипта файрволла... Чисто теоретически, если пакет попадает хоть под одно правило ipfw, то все остальные он уже не проходит.... Поэтому попробуй поставь перед правилами с дивертом правила разрешающие хождения из одной сети в другую... Соотвественно пакет натыкаясь на эти правила пройдёт туда куда надо не доходя до правила с дивертом...



"NAT и маршрутизатор на FreeBSD"
Отправлено User_03 , 24-Дек-04 10:52 
>Трудно сказать в чём проблема, без всего скрипта файрволла... Чисто теоретически, если
>пакет попадает хоть под одно правило ipfw, то все остальные он
>уже не проходит.... Поэтому попробуй поставь перед правилами с дивертом правила
>разрешающие хождения из одной сети в другую... Соотвественно пакет натыкаясь на
>эти правила пройдёт туда куда надо не доходя до правила с
>дивертом...

А как должны эти правила примерно выглядеть, не подскажешь?
И еще - что прописывать как defaultgateway? Сейчас прописан шлюз сторонней сетки, но маршрут к нему можно и статикой прописать, поскольку адреса там 10.*



"NAT и маршрутизатор на FreeBSD"
Отправлено MoHaX , 24-Дек-04 11:08 
192.168.1.0/24 - сеть 1
192.168.2.0/24 - сеть 2

ipfw add pass all from 192.168.1.0/24 to 192.168.2.0/24
ipfw add pass all from 192.168.2.0/24 to 192.168.1.0/24

В обоих сетках шлюзом должен быть айпишник смотрящий в эту сеть со стороны FreeBSD.


"NAT и маршрутизатор на FreeBSD"
Отправлено User_03 , 24-Дек-04 11:53 
>192.168.1.0/24 - сеть 1
>192.168.2.0/24 - сеть 2
>
>ipfw add pass all from 192.168.1.0/24 to 192.168.2.0/24
>ipfw add pass all from 192.168.2.0/24 to 192.168.1.0/24
>
>В обоих сетках шлюзом должен быть айпишник смотрящий в эту сеть со
>стороны FreeBSD.


А на FreeBSD какой должен быть шлюз? Это играет роль?


"NAT и маршрутизатор на FreeBSD"
Отправлено MoHaX , 24-Дек-04 11:58 
>А на FreeBSD какой должен быть шлюз? Это играет роль?
Должен быть тот, который тебе провайдер дал. Чтобы инет работал. Для работы двух твоих локальных сеток это шлюз по барабану. На фре вообще ничего касательно маршрутизации менятьне надо... Как было так пусть и будет.



"NAT и маршрутизатор на FreeBSD"
Отправлено User_03 , 24-Дек-04 12:02 
>>А на FreeBSD какой должен быть шлюз? Это играет роль?
>Должен быть тот, который тебе провайдер дал. Чтобы инет работал. Для работы
>двух твоих локальных сеток это шлюз по барабану. На фре вообще
>ничего касательно маршрутизации менятьне надо... Как было так пусть и будет.
>

Сомнения возникают вот почему, не совсем мне понятно, достаточно ли
gateway_enable="YES" в rc.conf для полноценной маршрутизации. Я где-то читал, что демон routed надо ставить для работы протоколов маршрутизации.


"NAT и маршрутизатор на FreeBSD"
Отправлено MoHaX , 24-Дек-04 12:12 
>Сомнения возникают вот почему, не совсем мне понятно, достаточно ли
>gateway_enable="YES" в rc.conf для полноценной маршрутизации. Я где-то читал, что демон routed
>надо ставить для работы протоколов маршрутизации.

Да какие сомнения, если у тебя сетка в инет ходит. Это как раз и есть маршрутизация, тока с трансляцией адресов. ;)


"NAT и маршрутизатор на FreeBSD"
Отправлено User_03 , 24-Дек-04 12:19 
>>Сомнения возникают вот почему, не совсем мне понятно, достаточно ли
>>gateway_enable="YES" в rc.conf для полноценной маршрутизации. Я где-то читал, что демон routed
>>надо ставить для работы протоколов маршрутизации.
>
>Да какие сомнения, если у тебя сетка в инет ходит. Это как
>раз и есть маршрутизация, тока с трансляцией адресов. ;)


Не получается, пинг так и не идет.

add pass all from 192.168.1.0/24 to 192.168.2.0/24
add pass all from 192.168.2.0/24 to 192.168.1.0/24

Причем на первое правило пакеты проходят, т.е. из моей сети в другую. А ответа нет (второе правило 0). И что интересно, вместо 4 пакетов (ping) на первое правило идет 8 пакетов. Совсем запутался...



"NAT и маршрутизатор на FreeBSD"
Отправлено Mr.Link , 24-Дек-04 12:44 
смотри в сторону man route

"NAT и маршрутизатор на FreeBSD"
Отправлено MoHaX , 24-Дек-04 13:11 
Покажи чего netstat -rn кажет.



"NAT и маршрутизатор на FreeBSD"
Отправлено _makc_ , 24-Дек-04 14:57 
>Строка диверта в ipfw add divert natd all
>from any to any via int1
А интерфейс "int1" случаем у тебя ни в локалку смотрит? Если так, меняй на имя того который к провайдеру смотрит. Проверь, чтобы в настройках NATа тоже было указано имя провайдерского интерфейса.

Дефаулт гетевэй = адрес шлюза который провайдер тебе дал.
Применяется тогда, когда фря незнает, где находится адрес назначения. Т.е. адреса в твоих сетках она знает - вычисляются по адресам интерфейсов и маскам, а все остальные (читай интернетовские) она пересылает туды.

В твоих сетях блоки адресов разные? Т.е. может у тебя в одной сетке 192.168.0.0/16 и в другой тоже. У них должны быть указанны корректно маски сети! (чтобы блок IP адресов из другой сети не поподал в маску данной сети! т.к. в этом случае пакет не будет направлен на шлюз (твою фрю), а будет считатся локальным - у тебя же фря настроена как шлюз, а не как мост) Какое у тебя распределение IP адресов?