on the Windows 7 VM, ICS (Internet Connection Sharing) will probably work:
ICS and VPN connections
If you create a virtual private network (VPN) connection on your host
computer to a corporate network and then enable ICS on that
connection, all Internet traffic is routed to the corporate network
and all of the computers on your home network can access the
corporate network. If you don't enable ICS on the VPN connection,
other computers won't have access to the Internet or corporate
network while the VPN connection is active on the host computer.
With your setup (and in the above paragraph's context), the Windows 7 VM would be the host.
On the Ubuntu system (which would be considered a "host" in a VM context), something like this could work:
Disable networking
sudo /etc/init.d/networking stop
Give the client a static IP address
sudo ip addr add 192.168.0.100/24 dev eth0
This IP address can be anything within the gateway's private IP range.
Configure routing
sudo ip route add default via 192.168.0.1
See https://help.ubuntu.com/community/Internet/ConnectionSharing for more info.
In the above scenario, Ubuntu would be the ICS client, Windows 7 the ICS server (or "gateway").
Also, are you sure that connecting to the VPN on Linux isn't an option? http://kb.juniper.net/InfoCenter/index?page=content&id=KB25230 seems to suggest that Juniper does have a Linux VPN client. And even if your company is using some kind of different proprietary software to get people connected to the VPN, chances are that software will run in Wine. Also https://serverfault.com/questions/363061/how-to-connect-to-a-juniper-vpn-from-linux might be relevant to this.