This is my compendium of VPN resources

Last Updated: Thu Aug 30 14:01:33 PDT 2001

This work sponsored by Sera Systems and Protectix. If you need BSD-based VPN servers or general BSD servers, please check out Sera Systems, and if you are interested in Firewall and VPN appliances or embedded Linux, check out Protectix.

I just got a Nokia IP440 running CheckPoint 4.1 to communicate reliably with an OpenBSD 2.9/isakmpd VPN. I also have two OpenBSD 2.9/isakmpd's with one of the endpoints behind a NAT to work reliably.

I currently have multiple Road Warrior SafeNet clients communicating with an Isakmpd Gateway, authenticating with digital certificates. The concentrator is also communicating with other gateways.

Here is what I have working, in progress, planned, and evaluated.

Scripts to create ca, certs, local cert, pkcs12 files

  My usual sequence of commands is:
    $ ./make-ca
    $ ./make-local vpn.protectix.com
    $ ./make-cert mobile.protectix.com

  The scripts as they stand use FQDN as the identifier.  Modifying them to
  use IP is trivial.  I typically only put the FQDN in the name field of the
  certificate and leave the other items blank.  One could automate this with
  a 'here' document.

  The pkcs12 format is needed by the SafeNet client.  It is basically a bag
  containing both the certificate and the private key.

vpn.manual is an example of how to get two OpenBSD boxes talking with manual keying.

rc.vpn is an example of how to start OpenBSD VPN manually.

The version of isakmpd that ships with OpenBSD 2.8 has some bugs that make it difficult to work with. These should be fine in OpenBSD 2.9. Until that version is available, here is a text file on how to upgrade the isakmpd and do several other things to patch it up.

My goal is to have these categories filled in as people have needs for that configuration and contribute their files. The file name convention is:

FileType-LocalDaemon-LocalOS-LocalTerminationType-LocalAddress
  -RemoteDaemon-RemoteOS-RemoteTerminationType-RemoteAddress
  -Identification

Where FileType is Log or Conf
Where LocalDaemon is isakmpd, Win2kIPSec, KAME, FreeSWAN, SafeNet, PGPNet, etc
Where LocalOS is OpenBSD, NetBSD, FreeBSD, Linux, Win2k, Win98, MacOS, etc
Where LocalTerminationType is Client or Gateway
Where RemoteAddress is FixedIP or RoadWarrior
Where RemoteDaemon is similar to Local Daemon
Where RemoteOS is similar to Local OS
Where RemoteTermination Type is similar to Local Termination Type
Where RemoteAddress is similar to Local Address
Where Identification is SharedSecrets or Certificates

Note, it doesn't make sense for most Windows Clients to specify that they are a Gateway or for both termination types to be Clients.

Eventually, once enough information is aggregated, a VPN config-o-matic set of scripts can be made to automatically generate config files and show example logs.

OpenBSD/isakmpd VPN Gateway to:

  • WORKING: Fixed IP Nokia IP440 Gateway running CheckPoint 4.1 sp3
  • BROKEN: Fixed IP FreeS/WAN Gateway, using shared secrets

    While this should work, I had lots of problems with X sessions hanging and vi sessions locking up. Also incoming connections would often freeze while delivering mail, etc.

  • UNTESTED: Road Warrior FreeS/WAN Gateway, using shared secrets
  • UNSUPPORTED: Fixed IP FreeS/WAN Gateway, using x.509 certificates
  • UNSUPPORTED: Road Warrior FreeS/WAN Gateway, using x.509 certificates
  • UNTESTED: Fixed IP FreeS/WAN Clients, using shared secrets
  • UNTESTED: Road Warrior FreeS/WAN Clients, using shared secrets
  • UNSUPPORTED: Fixed IP FreeS/WAN Clients, using x.509 certificates
  • UNSUPPORTED: Road Warrior FreeS/WAN Clients, using x.509 certificates
  • WORKING: Fixed IP OpenBSD/isakmpd Gateway, using shared secrets
  • UNTESTED: Road Warrior OpenBSD/isakmpd Gateway, using shared secrets
  • UNTESTED: Fixed IP OpenBSD/isakmpd Gateway, using x.509 certificates
  • UNTESTED: Road Warrior OpenBSD/isakmpd Gateway, using x.509 certificates
  • UNTESTED: Fixed IP OpenBSD/isakmpd Clients, using shared secrets
  • UNTESTED: Road Warrior OpenBSD/isakmpd Clients, using shared secrets
  • UNTESTED: Fixed IP OpenBSD/isakmpd Clients, using x.509 certificates
  • UNTESTED: Road Warrior OpenBSD/isakmpd Clients, using x.509 certificates
  • Fixed IP OpenBSD/isakmpd VPN Client to:

    Online Resources