Stefan Seyfried <seife+obs@b1-systems.com>
[vpnc.git] / nortel.txt
blob851b4eaa6a9fb06c623c94c07e68fb7c834648e3
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
8 concentrator.
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
25     an attribute
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,
33   instead of a pull.
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
42 and send patches.
44 Matt
45 ----------------
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
60    REQUEST."
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.
65 Thanks.
66 ----
67 Volodymyr Buell
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;
82 #else
84         if (ap->af != isakmp_attr_16 || ap->u.attr_16 != 0)
85           reject = ISAKMP_N_ATTRIBUTES_NOT_SUPPORTED;
86 #endif
89 /Zingo Andersen