IPsec is a manditory part of IPv6 (the next generation of the Internet Protocol) and is widely deployed in IPv4 (what people currently run on the Internet). IPsec consists of three protocols: AH 'Authentication Header', which provides packet-level authentication, ESP, 'Encapsulation Security Payload', which provide encryption and authentication, and IKE, 'Internet Key Exchange', which negoatiates connection keys and parameters. In conjunction with IPsec, one must also deploy DNSSEC enabled DNS servers to publish public keys (the current version of BIND supports DNSSEC).
Port-forwarding does, in a certain sense, the 'inverse' of masquerading: it allows outsiders to see one specific service (port) on an internal machine, without 'seeing' any other internal machines (or ports on that machine). Again, the service machine can be somewhat more lightly protected, as the firewall offers the first line of defense.
What is the relevance to VPN's? Simple: The VPN server (or client) can be placed behind the firewall, offering the traditional controls that a firewall offers, while adding VPN functionality to the network. Unfortunately, this cannot be done with all VPN technologies, due to the fact that some encryption systems encrypt the parts of the packet that a firewall needs to be able to modify.
NAT is built into all modern Linux kernels by default, and is configured by the 'ipchains' or 'iptables' utilities. There are also other, alternate NAT technologies, reviewed on the Port Forwarding page.
Pro's and Con's:
See also:
Using PPP over SSH is a low-tech, simple, reliable solution, but a bit crufty. On the plus side, its easy to understand and relatively easy to deploy. On the downside, it can have severe lag/performance problems on slow links, and can cause heartache on dead links: this is because the underlying transport protocol is not aware of the traffic above it, and can't effectively manage it. For example, ICMP (ping) packets are not dropped, but are rather stored indefinitely, waiting for the link to come back up. When the link comes back up, your (day old?) ping packets come flooding across it.