Here is how to setup a front-end Virtual Machine in Google Compute Engine to allow other machines to route through it without a public IP address.

To allow the front-end VM to IP forward, run the below in command-line (or a Startup Script):

sysctl -w net.ipv4.ip_forward=1
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE

Remember to tag any virtual machines that do not have a public IP with a label like, "no-ip."

Next, create a default route within Networking->Routes:

Name: default-route


Network: default

Destination IP range:

Priority: 800

Instance Tags: no-ip

Next hop: Specify an instance

Next hop instance: The  front-end VM name