added forward_with_snat() method (untested)