Hi all,

I'm running OpenBSD 5.8-stable. The ipsec.conf manpage indicates that if no
srcid is present in an automatic keying IKE statement, then the value in the
identification should be the host IP address, and be an IP address type. I've
found this to be incorrect; if no srcid is specified, my system makes the type
in the identification payload an FQDN, and sets the value to the machine's
hostname. In order to pass just the IP address (and be an IP address type), I
had to explicity set srcid to the IP address in the ike statement.

Moving on, I am troubleshooting an issue where I'm able to connect a Macbook
running OS X to a remote access VPN service (L2TP + IPsec) I pay for, but my
seemingly identically-configured OpenBSD 5.8-stable workstation cannot
connect. Specifically the IPsec negotiation fails. The failure occurs in the
very beginning of the phase 2 negotiation, when the OpenBSD system sends the
first Quick Mode message with its ID payloads. The remote peer always responds
to this message with an "INVALID ID RECEIVED" notification, despite the ID
payloads being identical to what my OS X system sends.

After decrypting the IKE exchange from both my OpenBSD system and my OS X
system, while I find the identification payload in the first quick mode
message to be the same, I actually discovered a difference in the final
segment of the main mode Identity Protection phase:

In 3rd and final exchange in IKE phase 1 (Identity protection, main mode):
  *isakmpd appends an "INITIAL-CONTACT" Notification payload to the end of its
message
  *The Identification payload contains zero-values for the port and protocol
ID

This is in contrast to my Mac OS X system which does not include the
notification payload, and in the ID payload, it indicates a protocol of UDP
and port 500. To be fair, the IETF IPSec DoI for ISAKMP actually does indicate
that both the behavior of my Mac and of OpenBSD are acceptable. That being the
case, these are the only meaningful differences I've been able to identify
between OS X and OpenBSD, and ultimately I'd really like to be able to connect
to the VPN.

Does anybody know if there are any settings I can use to modify the behavior
of isakmpd to be in line with what OS X does? I would greatly value any input.
I have to say, decrypting the IKE exchange from OS X was a fairly annoying and
tedius process. I love how with isakmpd I can just pass it the -L parameter
and it will automatically dump a capture of the decrypted exchange.


Warm regards,
Andrew

Reply via email to