Just for record, как грится...
я тут сейчас ради интереса игрался с setfib в ipfw и выяснил, что на проходе OUT эта конструкция не влияет на трафик
У nuclight'a было обьяснение про то как трафику проходящему через рутер, на основе таблицы маршрутизачии, назначается, через какой сетевой интерфейс он должен быть отослан и на какой рутер. Так вот, я не знаю всей кухни, но выходит, что если делать setfib на проходе IN то позже на проходе OUT эта метка учитывается системой и в соответствии с ней назначаются сетевой интерфейс и рутер. А если сделать setfib на проходе OUT (когда сетевой интерфейс и рутер уже были назначенны перед этим) то система не станет еще раз пересчитывать параметры передачи как при fwd - она не учитывает, что мы поставили новую метку setfib. Вот такие пироги. Поэтому-то мой пример у kpp не заработал тогда...
---
Чем отличаются команды
setfib 1 netstat -rn
и
setfib -1 netstat -rn
Ничем. Почитайте man setfib - можно применять обе формы.
Что происходит при
ipfw add setfib 1 ip from ...
К пакету прикрепляется внутренняя метка, увидев которую, система понимает, что для расчета маршрута для передачи пакета, надо использовать информацию не из таблици маршрутизации по-умолчанию, а брать ту таблицу, чей номер указан в setfib.
Как использовать новые таблицы маршрутизации?
Дофига применений. Джайлы например можно вешать на отдельные таблицы маршрутизации. Можно разделять трафик проходящий через рутер на несколько потоков и направлять через разных провайдеров (вручную или динамически). Применений море.