привет всем!у меня вопрос больше спортивного характера. есть локальная сеть 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, видимо где-то упустил