1 [vpnc-devel] vpnc with Nortel Contivity
3 Matt Chapman <matthewc@cse.unsw.edu.au>
4 Thu Jun 9 21:51:50 CEST 2005
7 I've managed to get vpnc working with a Nortel Contivity VPN
10 Basically the differences are:
12 * The group name and password are pre-transformed:
13 key_id = SHA1(group_name)
14 shared_key = HMAC_SHA1(group_name, SHA1(group_password))
16 * The XAUTH implementation follows
17 draft-ietf-ipsec-isakmp-xauth-02.txt (whereas CISCO uses a
18 later version). Specifically:
19 - the encoding of the proposal is not defined in that spec,
20 and Nortel does it differently
21 - the XAUTH attributes have different numerical values
22 (which overlap with Mode-Config, argh)
23 - success/failure are encoded as Mode-Config message types
24 5/6 (or sometimes as an ISAKMP notify?) rather than in
26 - the concentrator always sends 0 in XAUTH_TYPE and the
27 client may have to return a different value (xauth-02 is
28 not clear on whether this is allowed, it is not
29 clarified until xauth-05). In my case I'm using an
30 ActivCard token for which I have to specify 5 (SecurID).
32 * Mode-Config is done as a push, i.e. the server sends SET,
35 * The concentrator wants to be the initiator in phase 2
36 quick mode, so we have to support being a responder.
38 Thus the changes are fairly intrusive - phase 1 is common
39 but XAUTH/Mode-Config/phase 2 diverge.
41 If people are interested, I can clean up what I've done
46 I've tried to connect to my corporate VPN, but the only message I got was:
48 vpnc: xauth packet unsupported: ATTRIBUTES_NOT_SUPPORTED
50 Problem was found in xauth_type. In my case request attribute "xauth_type" consisted 5 as value. There is quick
51 fix for this issue below. But...
53 In the chapter 6.2 of the draft-beaulieu-ike-xauth-02.txt we can read:
55 "XAUTH-TYPE - The type of extended authentication requested whose
56 values are described in the next section. This is an optional
57 attribute for the ISAKMP_CFG_REQUEST and ISAKMP_CFG_REPLY messages.
58 If the XAUTH-TYPE is not present, then it is assumed to be Generic.
59 The XAUTH-TYPE in a REPLY MUST be identical to the XAUTH-TYPE in the
62 So I think the better way is to send reply with the same xauth_type value as in request. But I can't test it
63 because our server always use 5 and never 0.
69 ------------ This ended up in the folowin patch
70 if (ap->af != isakmp_attr_16 || !(ap->u.attr_16 == 0 || ap->u.attr_16 == 5))
71 reject = ISAKMP_N_ATTRIBUTES_NOT_SUPPORTED;
72 xauth_type_requested = ap->u.attr_16;
73 ----------------------
75 This patch didn't work in my NortelVPN setup I mad a buildflag of until a proper fix can be made
76 so please set NORTELVPN_XAUTHTYPE_AS_REQUEST flag to vpnc.c to get this
78 #ifdef NORTELVPN_XAUTHTYPE_AS_REQUEST
79 if (ap->af != isakmp_attr_16 || !(ap->u.attr_16 == 0 || ap->u.attr_16 == 5))
80 reject = ISAKMP_N_ATTRIBUTES_NOT_SUPPORTED;
81 xauth_type_requested = ap->u.attr_16;
84 if (ap->af != isakmp_attr_16 || ap->u.attr_16 != 0)
85 reject = ISAKMP_N_ATTRIBUTES_NOT_SUPPORTED;