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

Исходное сообщение
"как правильно строить сеть?"

Отправлено Артур , 12-Сен-09 22:43 
привет всем!

у меня вопрос больше спортивного характера. есть локальная сеть 192.168.0.0/24, в ней шлюз: vr0 192.168.0.13/24, смотрит в хаб с клиентами - rl0 192.168.1.13/24, смотрит в адсл модем 192.168.1.1/24, который роутой без всяких PPPoE и т.п.;

щас под рукой такой конфигурации нет, но ifconfig примерно такой:
vr0: inet 192.168.0.13 netmask 0xffffff00 broadcast 192.168.0.255
rl0: inet 192.168.1.13 netmask 0xffffff00 broadcast 192.168.0.255

на шлюзе (FreeBSD > 5.0) поднят natd, простейший фаервол (по сути только диверт 8668 via rl0), все нормально работает - клиенты ходят в интернет.

но если хотя бы на одном из интерфейсов шлюза укоротить маску, например до /16, то шлюз тут же перестает работать (симптом - клиенты не могут ходить и в интернет и в модем). я для себя уяснил, что раз подсети разные, то их адреса тоже должны быть разными, т.е. в правильном случае это 192.168.0. и 192.168.1.; если у обеих укоротить маску, то адреса подсетей оказываются одинаковыми. но эта стройная конструкция у меня в голове рушится, если укоротить маску только у одного интерфейса.

нерабочая конфигурация 1:
vr0: inet 192.168.0.13 netmask 0xffff0000 broadcast 192.168.255.255
rl0: inet 192.168.1.13 netmask 0xffffff00 broadcast 192.168.0.255
нерабочая конфигурация 2:
vr0: inet 192.168.0.13 netmask 0xffffff00 broadcast 192.168.0.255
rl0: inet 192.168.1.13 netmask 0xffff0000 broadcast 192.168.255.255
нерабочая конфигурация 3:
vr0: inet 192.168.0.13 netmask 0xffff0000 broadcast 192.168.255.255
rl0: inet 192.168.1.13 netmask 0xffff0000 broadcast 192.168.255.255

собственно вопрос: каков принципиальный алгоритм работы роутера в разрезе вышеописанных параметров, т.е. когда он будет роутить пакет, а когда считает, что этого делать не надо ? если у кого-то есть информация поделитесь плиз ссылкой, а то у меня это из головы никак не выходит.. ну или просто на пальцах покажите, если там немного :)

ps: туториалы говорят делай так и вот так, но теории не дают. читал бсдовый хандбук, читал ман routed, видимо где-то упустил


Содержание

Сообщения в этом обсуждении
"как правильно строить сеть?"
Отправлено sk , 13-Сен-09 00:11 
>[оверквотинг удален]
>rl0: inet 192.168.1.13 netmask 0xffff0000 broadcast 192.168.255.255
>
>собственно вопрос: каков принципиальный алгоритм работы роутера в разрезе вышеописанных параметров, т.е.
>когда он будет роутить пакет, а когда считает, что этого делать
>не надо ? если у кого-то есть информация поделитесь плиз ссылкой,
>а то у меня это из головы никак не выходит.. ну
>или просто на пальцах покажите, если там немного :)
>
>ps: туториалы говорят делай так и вот так, но теории не дают.
>читал бсдовый хандбук, читал ман routed, видимо где-то упустил

Во всех трех случая ваш роутер, правильно роутить пакеты не будет так, для примера
рассмотрим первый вариант:
IP-адреса сети 192.168.0.X содержатся в сети 192.168.X.X. Поэтому когда пакет отправленный из сети 192.168.X.X. на IP-адрес из сети 192.168.0.X, то интерфейс "смотрящий" в сеть 192.168.X.X не переправит пакет в сеть 192.168.0.X так, как считает, что адресат принадлежит сети 192.168.X.X. Второй случай аналогичный. Третий случай вам домашние задание :)


"как правильно строить сеть?"
Отправлено Артур , 13-Сен-09 05:36 
то есть другими словами, все интерфейсы, которые участвуют в роутинге, должны иметь разные подсети (это скорее равнозначные высказывания). у меня еще созрела мысль про хаб: он ведь рассылает входящий пакет по всем линкам; если роутер в моих 3х случаях будет роутить пакеты, а оба интерфейса шлюза будут воткнуты в один хаб, то получится что шлюз будет дублировать эти пакеты, а в 3-ем случае вообще сам себе войнушку устроит. оттого и не роутит.

все сходится -- ребенок не наш !!!
спасибо, что разжевали мои сомнения :)