OK. So it’s not “IKEv2 does not work” but “rsa-signature authentication method does not support more than one client at a time”.
The point is that all your troubles with IPsec turn around two basic things:
- how a peer configuration to be used is chosen and how the road warrior scenario fits into that
- how several distinct clients using the same peer configuration can be distinguished from one another with IKEv1 and with IKEv2
The peer configuration to be used to process an incoming request to a given local address can only be chosen up to the remote peer’s IP address, but in road warrior case that address is unknown in advance, so a reserved value of 0.0.0.0/0 is used.
When multiple peer configurations whose local addresses match the destination address of an incoming request match the source IP address of that incoming request, the one with the most exact match = longest mask is chosen; if two matching peer configurations have the same mask length, their order of declaration decides. Which means that out of all configurations for various road warrior setups, i.e. with peer address set to 0.0.0:0/0, including the dynamic one created by L2TP server with use-ipsec=yes, only the topmost one is always used. The authentication method used by the client is only accepted or rejected after the peer configuration has been already chosen using the rules above - it does not affect the choice itself.
The consequence is that all your road warrior clients connecting to the same local address must use the same authentication method, dot. To permit several authentication methods for road warrior clients in parallel, you would need a distinct local IP address for each of the methods.
Now all the basic authentication methods (pre-shared-key, rsa-key, rsa-signature) only authenticate the peer but do not contain any means for distinguishing individual clients from one another. You can leave the remote-certificate field empty for auth-method=rsa-signature, which means that any certificate signed by a CA trusted by your Mikrotik will be accepted, but there is no mechanism which would check whether the certificate provided in the newly established connection differs from the one provided in the previously established one, so any new connection is treated as a replacement of the existing one. Nor the source address is checked as it may dynamically change for the same client.
To make Mikrotik treat the connections initiated by different clients but using the same peer configuration individually, you have to use one of
- pre-shared-key-xauth (works for both “main” and “ike2” although with IKEv2, it is not literally the xauth extension what is used)
- eap-radius (works only with IKEv2)
- rsa-signature-hybrid (works only with IKEv1)
Eap-radius requires a radius server (and the one from RouterOS’s user manager package is not sufficient), the other two use the “user” section of ipsec configuration to store the individual credentials at responder (server) side and to link the IP address to be assigned to the client and other settings for the mode-config to these credentials.
This is not a RouterOS - specific limitation, this is how IKEv1, IKEv2 and their respective extensions work.