[Openswan dev] Losing shared phase1
Paul Wouters
paul at xelerance.com
Mon Oct 25 22:07:37 EDT 2010
On Mon, 25 Oct 2010, D. Hugh Redelmeier wrote:
> The ISAKMP SA will belong to net1 or net2, depending on which got
> initiated first.
But it would be nice if it could somehow be marked/remembered as shared, so
we can keep it when we are deleting an (arbitrary) phase2 that just happened
to have been the first to initiate and thus getting the phase1.
> My recollection is that the phase 2 will only go away (be deleted) if
> it belongs to net1.
Correct.
> I would have expected (based on very fuzzy memory) that an IKE SA
> would be negotiated whenever needed. Perhaps sending delete isn't
> considered a need.
But that would be even worse with more nets. In our case we were doing 500
phase2s to one phase1 for benchmarking. And we'd start them using:
for i in `seq 1 500` do
ipsec auto --up conn$i
done
Then we do the same tearing down, but then the receiving end only gets 1 Delete/Notify
because conn1 would have the phase1. If this would cause another phase1 to establish,
just to send a delete, that would be extremely bad, and result in 499 new ike
negotiations just to send Delete's.
> | Question: Should we not keep the phase1 around on the first delete?
>
> I don't think so. Just create an IKE SA if and when needed.
That would be fine for bringing up new things, just not as good for sending notifications
about delete.
> It is possible that the IKEv2 standard mandates another model.
I think that part remains pretty similar.
> | I guess this can be difficult to determine. Perhaps that's why it was not
> | implemented?
>
> No.
Okay. So what if we would just let the phase1 linger if there was a request to --down
a tunnel, but we have shared it with another phase2?
There are more reasons this is important too. Imagine NAT-T keep alives no longer being
send because there is no phase1.
Paul
More information about the Dev
mailing list