A VPN can be an implementation problem due to the interactions
possible over a heterogeneous network. Authentication via IPSec
is currently limited to shared secrets or RSA signatures, but
in the future it will need to migrate to a workable
PKI certificate system.
Many commercial VPN solutions exist, as well as
open source implementations. The lack of support and documentation
for the open source efforts might limit their usefulness in
mission-critical systems, but might not affect systems that have
small numbers of users and defined hardware.