Да зачем вторую сетевуху. пусть сделает через диверт на подобие той конфигурации, ктр я привел выше.
смысл там в том, что пакеты, удовлетворяющие правилам 100 200 "прыгают" через подсчет, удовлетворяющие правилам 300 400 500 просто до 600 правила не доходят ибо прекращают свое движение по цепочке правил (man ipfw).
кста, правило 200 (было проверено, работает) должно выглядить так:
ipfw add 200 skipto 999 ip from 10.0.0.0/8 to 192.168.0.0/24.
конечно, в случае с интерфейсом tun (предполагаю, что адрес выдается динамически) конструкция для NATа вида
divert natd from $ip to any