Код: Выделить всё
#!/bin/sh
fw="/sbin/ipfw -q"
inif="rl0"
outif="rl1"
inip="192.168.1.200"
outip="192.168.0.200"
innet="192.168.1.0/24"
${fw} -q -f flush
#NatIP=192.168.0.200
ipfw nat 123 config ip ${outip} log
ipfw add 10 nat 123 ip from ${innet} to any
ipfw add 20 nat 123 ip from any to ${outip}
${fw} add allow all from 192.168.1.2 to any via ${inif}
${fw} add allow all from 192.168.1.101 to any via ${inif}
${fw} add allow all from 192.168.1.5 to any via ${inif}
#${fw} add allow all from 192.168.1.134 to any via ${inif}
${fw} add allow all from 192.168.1.4 to any via ${inif}
${fw} add allow all from 192.168.1.15 to any via ${inif}
${fw} add allow all from 192.168.1.21 to any via ${inif}
........
${fw} add deny log all from ${innet} to not ${innet} via ${inif}

Если спустить правила ната в самый низ, то вообще никто никуда не ходит.
ЧТО ДЕЛАТЬ ?

Сорри если это уже обсуждалось.