интернет в локалке будет раздаваться по vpn? Если нет то задача становиться очень простой
на линуксе необходимо подключить инет, затем в iptables прописать несколько правил типа
$IFINET - интефейс который смотрит наружу
$IFLOC - интерфейс который смотрит в локалку
iptables -t nat -A POSTROUTING -s 192.168.0./24 -o $IFINET -j SNAT --to-source 78.x.x.x
iptables -A FORWARD -i $IFLOC -m state --state NEW,RELATED,ESTABLISHED -j ACCEPT
iptables -A FORWARD -i $IFINET -m state --state RELATED,ESTABLISHED -j ACCEPT
при этом не забудьте
добавить/раскомментировать в файле /etc/sysctl.conf строчку net.ipv4.ip_forward = 1