>навскидку:
>50 divert считает исходящий+входящий на внешнем интерфейсесогласен
>910 allow udp from any to any dst-port 80 считает как минимум дважды
считает вообще непонятно что - все что идет на 80 порт в любом направлении
>3022 allow tcp from 10.200.111.2 to any считает не только исходящий интернет,
>но и локальный исходящий трафик, например в сторону 10.200.115.2
верно, если хочешь считать чисто с локального адреса на внешку то
1) либо в начале блока правил зарезать хождение с локалных адресов на локальные
типа deny from 10.0.0.0/16 to 10.0.0.0/16
2) либо в самом правиле укажи вместо any что то типа not ...
3022 allow tcp from 10.200.111.2 to not 10.0.0.0/16
>3023 allow tcp from any to 10.200.111.2 аналогично предыдущему
согласен
>кроме того, правила 3022-3023 и 3026-3027 отрабатывают дважды,- после диверта на внешнем
>интерфейсе и потом ещё раз на внутреннем.
>
>Резюме: если хотите доверять счётчикам ipfw,- чётко указывайте интерфейс в правиле, чтобы трафик не считался дважды
соглясен
1)ОЧЕНЬ рекомендую всегда как можно четче формулировать правила, во-первых гораздо легче будет восприниматся другими людми то что ты хотел сказать конкретным правилом, во-вторых самому понятней. Те как минимум один их from/to не должен быть any, обязаьелно указываем интерфейс и по возможности направление. ([in/out] via)
2) для подсчета лучше всегда пользоватся отдельными count правилами вставляя их перед всеми аналогичными allow/deny
3) Для подсчета советую юзать ipa (см порты). Прога коректно обрабатывает переполнение счетчиков и вообще весьма удобна.
Из общих соображений: структура правил фаервола count правилами
0 skipto 6 any to any via oif
1 allow from not 10.0.0.0/16 to 10.0.0.0/16 out via iif
2 count from 10.0.0.1 to not 10.0.0.0/16 in via iif
3 count from 10.0.0.1 to not 10.0.0.0/16 in via iif
4 count from 10.0.0.1 to not 10.0.0.0/16 in via iif
5 allow from 10.0.0.0/16 to not 10.0.0.0/16 in via iif
6 divert via oif
7 allow from oip to any out via oif
8 count from not 10.0.0.0/16 to 10.0.0.1 in via oif
9 count from not 10.0.0.0/16 to 10.0.0.1 in via oif
10 count from not 10.0.0.0/16 to 10.0.0.1 in via oif
11 allow from not 10.0.0.0/16 to 10.0.0.0/16 in via oif