>я вот тут нарыл _два_ файервола ipf and ipfw
>что когда использовать, как они взаимодействуют (как использовать вместе?, что обрабатывается первым?)
ipf, затем ipfw. Была такая тема в unix.bsd, поищи на google
>что лучше? (если ето корректный вопрос)
Тоже вот озадачивался. Материалов мало, гуру видать уже достали, посему они молчат :).
На основании имеющихся данных пришел к следующим выводам:
ipfw идет как де-факто под FreeBSD с готовыми базовыми настройками. Большенство BSDшников используют именно его.
ipf более классический и отточенный продукт, есть под Linux, идет как де-факто под Net/Open BSD, так что на мой взгляд его изучение дает большую универсальность.
По поводу гибкости/производительности к однозначному мнению не пришел. Чтоб адекватно сравнивать, нужно сначала изучить и оттестить оба самому :).
>я заметил что ipnat удобнее чем ipfw_divert+natd.
Так оно и есть. К тому же ipnat интегрирован в ядро, а natd внешний демон, так что скорее всего ipnat быстрее, хотя сам не тестировал.
>может ли ipf ограничивать скорость трафика?
Встроенными средствами нет. Но можно использовать пакет AltQ.
Итак, если обобщить:
Если важно быстро запустить систему в работу или необходим простой траффик шейпер - изучай ipfw+natd+dummynet. Много документации и примеров, в том числе и на русском.
Если есть время на освоение, то связка ipf+ipnat кажется мне более "основательной".
Если необходимо продвинутое управление траффиком - ставь AltQ. На данный момент идет отдельно с патчем к ядру, но по слухам скоро будет включен в релиз. Работает и с ipfw и с ipf.
Есть куча всякого фака/дока по данному вопросу. Могу причесать и выслать.