Разобрался с проблемой в общем - был не внимателен. при создании интерфейсов в vlan'ах. Iptables отрабатывало правила на отлично, просто запутался в синтаксисе интерфейсов. При создании интерфейса чарез vconfig интерфейс будет называться vlanXXX, при создании интерфейса через /etc/init.d/networking интерфейсы можно называть как eth0.XXX так и vlanXXX. Как вы поняли проблема была в том что в правилах я писал:
iptables -t nat -A POSTROUTING -o vlan50 -s 192.168.3.0/24 -j MASQUERADE
А надо было
iptables -t nat -A POSTROUTING -o eth0.50 -s 192.168.3.0/24 -j MASQUERADE
В конце концов подняв виртуалку и отработав на ней все что мне нужно - удалось добиться желаемого результата. Всем спасибо!)