Currently a solution that works (albeit not consistently as sometimes the host box will lose internet access due to these nat rules feeding back the packets back into the rules) are using the following rules together :
ipfw add divert natd ip from any to [client ip] via en0
ipfw add divert natd ip from [client ip] to any via en0
When it does work it allows one to selectively allow a client ip access to the Internet, ideal for captive portal applications. however it's seems to be inconsistent leaving me to believe there are bugs with MacOS X's natd and/or ipfw implementation.
thanks,
djava
