Your NAT firewall rule is OK but by default ubuntu is not forwarding packets so you need to enable that with:
echo 1 > /proc/sys/net/ipv4/ip_forward
To make it automatic, you can use a script like this (save in /etc/init.d/your-script):
#!/bin/sh
# turn ip_forward on/off
case "$1" in
'start')
echo 1 > /proc/sys/net/ipv4/ip_forward
;;
'stop')
echo 0 > /proc/sys/net/ipv4/ip_forward
;;
*)
echo "Usage: $0 { start | stop }"
;;
esac
exit 0
And make it executable and run on boot with:
sudo chmod +x /etc/init.d/your-script
sudo update-rc.d your-script defaults
To enable: sudo /etc/init.d/your-script start and sudo /etc/init.d/your-script stop to disable.
UPDATE:
As Paul commented, if you prefer, to make it permanent (or if you feel comfortable editing the conf file to turn this feature on/off) you can modify /etc/sysctl.conf and uncomment the line with net.ipv4.ip_forward=1 to enable and comment out to disable.