Все сильно будет зависеть от того, что за тип vpn используется и какая ОС.
На машине, где запущен vpn клиент, должна быть поддержка NAT (в linux есть 'из каропки', в windows это называется internet sharing но полноценная поддержка только в серверных ревизиях, а на десктопах сильно кастрированная, для этого народ ставит сторонний софт, тут не подскажу), в виртуальной машине нужно установить машину как шлюз по умолчанию ip адрес этого vpn...
Само собой и машина с vpn и виртуальная машина должны быть в одной локальной сети (она может отличаться от сети vpn, точнее должна, иначе если vpn клиент уже объединяет сети, то шлюз нужно прописывать тот что удаленный), если хост машина виртуалки уже находится в локальной сети с vpn то достаточно сеть виртуальной машины настроить как сетевой мост к ней.
Это будет работать с обоими типами vpn (как point-to-point так и ethernet), но point-to-point не будет транслировать броадкасты и мультикасты (что то типа dhcp или windows сети netbios и или к примеру некоторые виды мультимедиа трансляций) и не ip протоколы.