If you have a dynamic environment, I'd say the bes...
# netmaker
u
If you have a dynamic environment, I'd say the best way to manage it would be to do it all from within Go, configuring Linux routes and iptables using the go netlink package, and configuring Windows routes and such using similar go packages