>>>когда машина из локалки (192.168.0.10 с маской 24) посылает пакеты (напр. инет
>>>шерстим), то пакеты обрываются на правиле 2. почему? ведь правило для
>>>маски /16, а у меня сеть - /24...
>>А вы думаете что в IP пакете есть маска источника? :-)))
>зачм же тогда маски в правилах указываются?
чтобы можно было разные сети различать:)есть например, две сети, 192.168.0.1/28 и, допустим, 192.168.0.100/28.
И правила для них есть, например allow all.
А далее, например, стоит правило deny all from 192.168.0.0/24.
Тогда всем 192.168.0.х будет резаться трафик, за исключением тех адресов, что входят в перечисленные выше сети с маской /28.
Примерно понятно зачем?
Можно в диапазоне 192.168.0.0-192.168.0.255 сделать несколько сетей, а правила писать как для каждой сети отдельно, так и для всего диапазона в целом. С масками работает ipfw, он сам адреса высчитывает и примеряет к правилам, в пакетах нет сетевой маски, она там и не нужна...
Конкретно в вашем случае - правило срабатывает потому, что сеть с маской /24 является подсетью (читай - ее частью) сети с маской /16.
Напр. берем адрес 192.168.0.1 - он входит как в диапазон /24, так и в диапазон /16.
Поэтому и правила оба сработают (не одновременно, ессно).
Отчего и почему так - написано в любой нормальной книжке по сетям.