[Openswan Users]
Jacco de Leeuw
jacco2 at dds.nl
Mon Apr 3 14:56:52 CEST 2006
James Chamberlain wrote:
> Has anyone successfully connected a Linux client to a NAT'd OSX server
> running vpnd? The OSX server was just updated to 10.4.5 since should
> resolve some of the interoperability issues that I have seen others
> complain about. Has any any tried this? Most of the entries in the list
> are about the opposite connecting OSX clients to Linux servers.
I've put together some info on using Linux as a client:
http://www.jacco2.dds.nl/networking/freeswan-l2tp.html#Client
I've mainly tested it with Windows 2003 but the same procedure
should be valid for Mac OS X as well.
I've just tried to connect with Openswan 2.4.5rc6 to a Mac OS X Server
(probably running 10.4.3) and I don't think it worked with NAT-T:
"L2TP-PSK2" #1: initiating Main Mode
"L2TP-PSK2" #1: ignoring Vendor ID payload [KAME/racoon]
"L2TP-PSK2" #1: received Vendor ID payload [draft-ietf-ipsec-nat-t-ike]
method set to=110
"L2TP-PSK2" #1: enabling possible NAT-traversal with method 4
"L2TP-PSK2" #1: transition from state STATE_MAIN_I1 to state STATE_MAIN_I2
"L2TP-PSK2" #1: STATE_MAIN_I2: sent MI2, expecting MR2
"L2TP-PSK2" #1: ignoring Vendor ID payload [KAME/racoon]
"L2TP-PSK2" #1: I did not send a certificate because I do not have one.
"L2TP-PSK2" #1: NAT-Traversal: Only 0 NAT-D - Aborting NAT-Traversal negotiation
"L2TP-PSK2" #1: transition from state STATE_MAIN_I2 to state STATE_MAIN_I3
"L2TP-PSK2" #1: STATE_MAIN_I3: sent MI3, expecting MR3
"L2TP-PSK2" #1: Main mode peer ID is ID_IPV4_ADDR: 'x.x.x.x'
"L2TP-PSK2" #1: transition from state STATE_MAIN_I3 to state STATE_MAIN_I4
"L2TP-PSK2" #1: STATE_MAIN_I4: ISAKMP SA established
{auth=OAKLEY_PRESHARED_KEY cipher=oakley_3des_cbc_192 prf=oakley_sha
group=modp1024}
"L2TP-PSK2" #2: initiating Quick Mode PSK+ENCRYPT+UP {using isakmp#1}
"L2TP-PSK2" #1: ignoring informational payload, type IPSEC_INITIAL_CONTACT
"L2TP-PSK2" #1: received and ignored informational message
"L2TP-PSK2" #1: ignoring informational payload, type NO_PROPOSAL_CHOSEN
"L2TP-PSK2" #1: received and ignored informational message
"L2TP-PSK2" #1: ignoring informational payload, type NO_PROPOSAL_CHOSEN
"L2TP-PSK2" #1: received and ignored informational message
This version of Mac OS X Server does not support RFC 3947 and the client
did not send the Vendor ID of Apple's NAT-T variant
("draft-ietf-ipsec-nat-t-ike") so the NAT-T negotiation failed.
But then I added this patch:
--- nat_traversal.c.org 2006-01-04 19:57:52.000000000 +0100
+++ nat_traversal.c 2006-04-03 11:12:08.000000000 +0200
@@ -202,6 +202,7 @@
if (r) r = out_vendorid(np, outs, VID_NATT_IETF_03);
if (r) r = out_vendorid(np, outs, VID_NATT_IETF_02);
if (r) r = out_vendorid(np, outs, VID_NATT_IETF_02_N);
+ if (r) r = out_vendorid(np, outs,
VID_NATT_DRAFT_IETF_IPSEC_NAT_T_IKE);
}
if (nat_traversal_support_non_ike) {
if (r) r = out_vendorid(np, outs, VID_NATT_IETF_00);
I got a bit further because this time Openswan sent the Apple NAT-T VID:
"L2TP-PSK2" #1: initiating Main Mode
"L2TP-PSK2" #1: ignoring Vendor ID payload [KAME/racoon]
"L2TP-PSK2" #1: received Vendor ID payload [draft-ietf-ipsec-nat-t-ike] method
set to=110
"L2TP-PSK2" #1: enabling possible NAT-traversal with method 4
"L2TP-PSK2" #1: transition from state STATE_MAIN_I1 to state STATE_MAIN_I2
"L2TP-PSK2" #1: STATE_MAIN_I2: sent MI2, expecting MR2
"L2TP-PSK2" #1: ignoring Vendor ID payload [KAME/racoon]
"L2TP-PSK2" #1: I did not send a certificate because I do not have one.
"L2TP-PSK2" #1: NAT-Traversal: Result using RFC 3947 (NAT-Traversal): i am NATed
"L2TP-PSK2" #1: transition from state STATE_MAIN_I2 to state STATE_MAIN_I3
"L2TP-PSK2" #1: STATE_MAIN_I3: sent MI3, expecting MR3
"L2TP-PSK2" #1: Main mode peer ID is ID_IPV4_ADDR: 'x.x.x.x'
"L2TP-PSK2" #1: transition from state STATE_MAIN_I3 to state STATE_MAIN_I4
"L2TP-PSK2" #1: STATE_MAIN_I4: ISAKMP SA established
{auth=OAKLEY_PRESHARED_KEY cipher=oakley_3des_cbc_192 prf=oakley_sha
group=modp1024}
"L2TP-PSK2" #2: initiating Quick Mode PSK+ENCRYPT+UP {using isakmp#1}
"L2TP-PSK2" #1: ignoring informational payload, type IPSEC_INITIAL_CONTACT
"L2TP-PSK2" #1: received and ignored informational message
"L2TP-PSK2" #2: ignoring informational payload, type IPSEC_RESPONDER_LIFETIME
"L2TP-PSK2" #2: transition from state STATE_QUICK_I1 to state STATE_QUICK_I2
"L2TP-PSK2" #2: STATE_QUICK_I2: sent QI2, IPsec SA established
{ESP=>0x0d5001c5 <0x560dc080 xfrm=AES_0-HMAC_SHA1 NATD=none DPD=none}
Jacco
--
Jacco de Leeuw mailto:jacco2 at dds.nl
Zaandam, The Netherlands http://www.jacco2.dds.nl
More information about the Users
mailing list