>[оверквотинг удален]
>создавал целые файлы, громоздкие, невъебенно защищённые, однако же перелопаченные впоследствии и оптимизированные
>несколько раз
>в выходные на работе тусовался, в конце рабочего дня оставался до 9-10,
>потому что мне нужно было вкурить ipfw
>и я таки выкурил это ipfw основательно, так, что могу теперь вслепую
>создать свод правил фактически любой сложности и элегантные. с полным пониманием
>куда и чего пойдёт и не пойдёт, который будет выпускать своих
>куда надо, и не впускать чужих куда не надо.
>однако ж, ввиду моего немноголетнего отнюдь опыта и ограниченного кол-ва настроенных серверов,
>остаются ещё некоторые пробелы, которые я желаю закрыть. Итак, вкратце и на пальцах:
ipfw использует два вида набора правил: статические и динамические. Статические являются постоянными и имеют вид (простейший случай):
ipfw add 100 allow tcp from any to me 25
ipfw add 200 allow tcp from me 25 to any
Эти два правила позволяют проходить трафику к нашему серверу по 25 порту и от нашего сервера с 25-го порта к кому угодно.
Если посмотреть вывод ipfw show, то в правилах можно увидеть количество "попаданий" в это правило и количество байт:
00100 32 63478 allow tcp from any to me 25
00200 32 42448 allow tcp from me 25 to any
Динамические правила создаются условиями keep-state и limit в правилах, причём динамические правила имеют двухстороннюю направленность. Т.е. если мы перепишем предыдущие два правила в "динамическом ключе", то получим одно правило:
ipfw add 100 allow tcp from any to me 25 keep-state
Т.о. пакет, приходящий на наш сервер на 25 порт создаёт динамическое правило, которое мы увидим при выводе ipfw -d show:
00100 605 26957 (145s) STATE tcp x.x.x.x 59165 <-> y.y.y.y 25
Здесь, 00100 - номер правила, 605 - количество пакетов, прошедших через это правило, 26957 - количество байт, 145s - оставшееся время, после которого (при отсутствии трафика) правило будет удалено, остальное понятно из контекста.
Соответственно, если имеется правило
00050 0 0 check-state
то оно и будет проверять, существует ли правило в динамической таблице, после чего пакет будет обработан динамическим правилом с обновлением счетчиков в нём.
Вкратце как-то так. И для того, чтобы это понять, не нужно 3 недели тупо курить ipfw, достаточно просто немного подумать. Что именно Вам непонятно - остаётся загадкой.