Очень удобно разграничивать доступ. Так как трафик четко делится на входящий и исходящий на каждом интерфейсе (2 интерфейса = 4 направления), то в секционных настройках можно не указывать направление и интерфейс, ибо в секцию попадают уже четко отсортированные по этим значениям пакеты.
Содрано отсюда:
http://www.opennet.ru/openforum/vsluhforumID10/2785.html${ipfw} add 1000 skipto 10000 ip from any to any in recv rl0
${ipfw} add 1100 skipto 20000 ip from any to any out xmit rl0
${ipfw} add 1200 skipto 30000 ip from any to any in recv wi0
${ipfw} add 1300 skipto 40000 ip from any to any out xmit wi0
${ipfw} add 2000 deny log ip from any to any
#internal-in
${ipfw} add 10000 count ip from any to any
#здесь можно ограничить лишний трафик из локалки
${ipfw} add 19000 allow ip from any to any
#internal-out
${ipfw} add 20000 count ip from any to any
#здесь можно ограничить лишний трафик в локалку
${ipfw} add 29000 allow ip from any to any
#external-in
${ipfw} add 30000 count ip from any to any
# тут запрещаем все лишнее на входе
${ipfw} add 38000 divert natd ip from any to any
${ipfw} add 39000 allow ip from any to any
#external-out
${ipfw} add 40000 count ip from any to any
# тут запрещаем все лишнее на выходе
${ipfw} add 48000 divert natd ip from any to any
${ipfw} add 49000 allow ip from any to any
${ipfw} add 65000 deny log ip from any to any
----------------------------------------
-----------------------
А теперь пример на основе данного шаблона
${ipfw} add 1000 skipto 10000 ip from any to any in recv rl0
${ipfw} add 1100 skipto 20000 ip from any to any out xmit rl0
${ipfw} add 1200 skipto 30000 ip from any to any in recv wi0
${ipfw} add 1300 skipto 40000 ip from any to any out xmit wi0
${ipfw} add 2000 deny log ip from any to any
#internal-in
${ipfw} add 10000 count ip from any to any
${ipfw} add 19000 allow ip from any to any
#internal-out
${ipfw} add 20000 count ip from any to any
${ipfw} add 29000 allow ip from any to any
#external-in
${ipfw} add 30000 count ip from any to any
${ipfw} add 36000 deny ip from any to not 10.0.0.66
${ipfw} add 38000 divert natd ip from any to any
${ipfw} add 39000 allow ip from any to any
#external-out
${ipfw} add 40000 count ip from any to any
${ipfw} add 48000 divert natd ip from any to any
${ipfw} add 49000 allow ip from any to any
${ipfw} add 65000 deny log ip from any to any
2. (добавил второе правило в твой набор правил)
${ipfw} add divert natd ip from 192.168.1.0/24 to any via wi0
${ipfw} add deny ip from any to not 10.0.0.66 in recv wi0
${ipfw} add divert natd ip from any to 10.0.0.66
${ipfw} add allow ip from me to 10.0.0.0/24 via wi0
${ipfw} add allow ip from 192.168.1.0/24 to any via rl0
${ipfw} add allow ip from any to 192.168.1.0/24
(запрещать те пакеты из внешней сети, что беспокоят, надо ДО ДИВЕРТА иначе после их не отличить от нормальных )