[strongSwan] Ballpark number of users and Load balancing

kgardenia42 kgardenia42 at googlemail.com
Wed Oct 10 14:29:06 CEST 2012


On Wed, Oct 10, 2012 at 9:23 AM, Richard Andrews
<richard.andrews at symstream.com> wrote:
> The biggest bottleneck I've found around number of users involves the
> peer lookup at IKE authentication time. If you configure static traffic
> selectors for each individual peer (as I do) then it's a linear search
> across the set of KNOWN possible peer IDs.

by "selector", I assume you mean "conn foo", "conn bar" etc?

If so then I don't do that.  I have all peer ids hanging off one
selector.  I use client certs to autenticate the clients.  I allow
anyone who has a verified client cert to access the VPN.  Is this a
valid configuration?  Why would I have many selectors?  Would this
just be to lock it down to specific users?

I am using the Wiki configuration for IOS clients:
    http://wiki.strongswan.org/projects/strongswan/wiki/IOS_%28Apple%29

Pretty much verbatim.  Is there any compelling options I can use here
to tune the performance for handling a lot of clients?

> I run 5000 clients with 1024b RSA pubkey auth on a 1GB VM guest of a
> 2GHz core i5 machine and peer lookup is around 200ms on average. There
> are ways to minimise authentications and bring load down. There's
> potential to make this faster if I read the code correctly.

Can you give me some pointers/keywords to search for wrt. minimizing
authentications?

I understand that the "esp" setting dictates the level of encryption
on data connections.   Is the default reasonable or should I go for a
cheaper cipher?  What do people normally do?  BTW - my tunneled data
is SSL so I'm happy to use a less strong cipher if that might help
scalability.

> Traffic encryption/decryption is done by the kernel so strongswan has
> limited impact on this.

Good to know.

> Hope this helps

Yes it does.

>
> If the clients are under your control, maybe you could load balance at
> provisioning time by specifying one of the gateway peer addresses at
> random to each new client (or based on smallest client base). Clients
> would stick forever but the load would be split.

Yes I considered that..  Good thought.
Thanks!

>
>
> On Wed, 2012-10-10 at 00:35 +0100, kgardenia42 wrote:
>> Hi,
>>
>> I am using strongswan for mobile clients.
>>
>> Can anyone give me a rough idea of how many clients I can expect (say)
>> an Amazon EC2 large instance to handle.  I searched for benchmarks but
>> found varying/contrasting results.  I found the integrated load test
>> tool docs and intend to run this tomorrow but I am not sure to what
>> extent it emulates *real* users.
>>
>> Does anyone have a ballpark figure for real life users?  I realize it
>> depends on usage but I just am looking for a rough "I won't quote you"
>> ballpark.  Should I roughly expect hundreds?  Or thousands?  Or tens
>> of thousands even?
>>
>> Secondly, I am investigating load balancing possibilities. Ideally I
>> would like a pool of (say) 4 strong-swans all of which can share a
>> load.  I'm not sure if sharing load would mean user stickiness or some
>> shared state across nodes but source ip stickiness would be acceptable
>> I guess.
>>
>> I read this post:
>>     http://www.mail-archive.com/users@lists.strongswan.org/msg03427.html
>>
>> As I see it the second option is not suitable for my use-case.  Right?
>>   The first option sounds rather involved. Will this even work in a
>> cloud (EC2) environment where the LAN IPs are not under my control
>> (unless perhaps VPC).  I'm happy to go down this road if it is the
>> "right thing to do".  Just wanted to see if there were any other
>> approaches to this.
>>
>> Would a traditional load balancer with source address stickiness be a
>> viable solution?  Or is this a flawed approach?
>>
>> Thanks!
>>
>> _______________________________________________
>> Users mailing list
>> Users at lists.strongswan.org
>> https://lists.strongswan.org/mailman/listinfo/users
>




More information about the Users mailing list