[strongSwan] IKE_SA reauth failed with dual link.
Alexis Salinas
asalinas at sierrawireless.com
Tue Jul 15 01:41:40 CEST 2014
Hello all,
I have 2 gateways running "Linux strongSwan U4.3.5/K2.6.32-526" configured for IKEv2, net-to-net with MOBIKE enabled.
Gateway-A, the initiator, has 2 links. Gateway-B the responder, has only one link. These are the IP addresses.
gateway-A_link1 = 172.19.78.72
gateway-A_link2 = 10.5.102.102
gateway-B_link1 = 192.168.10.10
Gateway-A uses both links, alternatively, as "default link" (depending of its location). MOBIKE works beautifully when switching links. Gateway-A can only reach gateway-B using the default route.
The problem I'm observing is that if IKE_SA is established on one of gateway-A's link and the link switches before IKE_REAUTH starts, StrongSwan tries (and fails) to initiate the new IKE_SA using the IP address of the initial link.
It doesn't matter which link starts, it happens regarding of the direction of the link switch.
I also tested another machine in place of gateway-A, running Linux strongSwan U5.1.2/K3.4.11-527, with the same result.
Here is an example. The tunnel initially established while gateway-A_link2 was the default route. Default route changed at around 16:00, making gateway-A_link1 the default route.
Jul 7 16:22:34 gateway-A charon: 09[IKE] queueing IKE_REAUTH task
Jul 7 16:22:34 gateway-A charon: 09[IKE] activating new tasks
Jul 7 16:22:34 gateway-A charon: 09[IKE] activating IKE_REAUTH task
Jul 7 16:22:34 gateway-A charon: 09[IKE] deleting IKE_SA Net-Net[1] between 172.19.78.72[gateway-A]...192.168.10.10[gateway-B]
Jul 7 16:22:34 gateway-A charon: 09[IKE] IKE_SA Net-Net[1] state change: ESTABLISHED => DELETING
Jul 7 16:22:34 gateway-A charon: 09[IKE] sending DELETE for IKE_SA Net-Net[1]
Jul 7 16:22:34 gateway-A charon: 09[NET] sending packet: from 172.19.78.72[4500] to 192.168.10.10[4500]
Jul 7 16:22:34 gateway-A charon: 05[NET] sending packet: from 172.19.78.72[4500] to 192.168.10.10[4500]
Jul 7 16:22:34 gateway-A charon: 06[NET] received packet: from 192.168.10.10[4500] to 172.19.78.72[4500]
Jul 7 16:22:34 gateway-A charon: 06[NET] waiting for data on raw sockets
Jul 7 16:22:34 gateway-A charon: 08[NET] received packet: from 192.168.10.10[4500] to 172.19.78.72[4500]
Jul 7 16:22:34 gateway-A charon: 08[IKE] IKE_SA deleted
Jul 7 16:22:34 gateway-A charon: 08[IKE] queueing IKE_INIT task
Jul 7 16:22:34 gateway-A charon: 08[IKE] queueing IKE_NATD task
Jul 7 16:22:34 gateway-A charon: 08[IKE] queueing IKE_CERT_PRE task
Jul 7 16:22:34 gateway-A charon: 08[IKE] queueing IKE_AUTHENTICATE task
Jul 7 16:22:34 gateway-A charon: 08[IKE] queueing IKE_CERT_POST task
Jul 7 16:22:34 gateway-A charon: 08[IKE] queueing IKE_CONFIG task
Jul 7 16:22:34 gateway-A charon: 08[IKE] queueing IKE_AUTH_LIFETIME task
Jul 7 16:22:34 gateway-A charon: 08[IKE] queueing IKE_MOBIKE task
Jul 7 16:22:34 gateway-A charon: 08[IKE] queueing CHILD_CREATE task
Jul 7 16:22:34 gateway-A charon: 08[IKE] activating new tasks
Jul 7 16:22:34 gateway-A charon: 08[IKE] activating IKE_INIT task
Jul 7 16:22:34 gateway-A charon: 08[IKE] activating IKE_NATD task
Jul 7 16:22:34 gateway-A charon: 08[IKE] activating IKE_CERT_PRE task
Jul 7 16:22:34 gateway-A charon: 08[IKE] activating IKE_AUTHENTICATE task
Jul 7 16:22:35 gateway-A charon: 08[IKE] activating IKE_CERT_POST task
Jul 7 16:22:35 gateway-A charon: 08[IKE] activating IKE_CONFIG task
Jul 7 16:22:35 gateway-A charon: 08[IKE] activating CHILD_CREATE task
Jul 7 16:22:35 gateway-A charon: 08[IKE] activating IKE_AUTH_LIFETIME task
Jul 7 16:22:35 gateway-A charon: 08[IKE] activating IKE_MOBIKE task
Jul 7 16:22:35 gateway-A charon: 08[IKE] initiating IKE_SA Net-Net[2] to 192.168.10.10
Jul 7 16:22:35 gateway-A charon: 08[IKE] IKE_SA Net-Net[2] state change: CREATED => CONNECTING
Jul 7 16:22:35 gateway-A charon: 08[NET] sending packet: from 10.5.102.102[500] to 192.168.10.10[500]
Jul 7 16:22:35 gateway-A charon: 05[NET] sending packet: from 10.5.102.102[500] to 192.168.10.10[500]
Jul 7 16:22:35 gateway-A charon: 05[NET] error writing to socket: Operation not permitted
Jul 7 16:22:35 gateway-A charon: 08[IKE] queueing CHILD_CREATE task
Jul 7 16:22:35 gateway-A charon: 08[IKE] delaying task initiation, exchange in progress
Jul 7 16:22:35 gateway-A charon: 08[IKE] IKE_SA Net-Net[1] state change: DELETING => DESTROYING
Jul 7 16:22:39 gateway-A charon: 08[IKE] retransmit 1 of request with message ID 0
Jul 7 16:22:39 gateway-A charon: 08[NET] sending packet: from 10.5.102.102[500] to 192.168.10.10[500]
Jul 7 16:22:39 gateway-A charon: 05[NET] sending packet: from 10.5.102.102[500] to 192.168.10.10[500]
Jul 7 16:22:39 gateway-A charon: 05[NET] error writing to socket: Operation not permitted
Jul 7 16:22:46 gateway-A charon: 09[IKE] retransmit 2 of request with message ID 0
Jul 7 16:22:46 gateway-A charon: 09[NET] sending packet: from 10.5.102.102[500] to 192.168.10.10[500]
Jul 7 16:22:46 gateway-A charon: 05[NET] sending packet: from 10.5.102.102[500] to 192.168.10.10[500]
Jul 7 16:22:46 gateway-A charon: 05[NET] error writing to socket: Operation not permitted
Jul 7 16:22:59 gateway-A charon: 09[IKE] retransmit 3 of request with message ID 0
Jul 7 16:22:59 gateway-A charon: 09[NET] sending packet: from 10.5.102.102[500] to 192.168.10.10[500]
Jul 7 16:22:59 gateway-A charon: 05[NET] sending packet: from 10.5.102.102[500] to 192.168.10.10[500]
Jul 7 16:22:59 gateway-A charon: 05[NET] error writing to socket: Operation not permitted
Jul 7 16:23:22 gateway-A charon: 09[IKE] retransmit 4 of request with message ID 0
Jul 7 16:23:22 gateway-A charon: 09[NET] sending packet: from 10.5.102.102[500] to 192.168.10.10[500]
Jul 7 16:23:22 gateway-A charon: 05[NET] sending packet: from 10.5.102.102[500] to 192.168.10.10[500]
Jul 7 16:23:22 gateway-A charon: 05[NET] error writing to socket: Operation not permitted
Jul 7 16:24:04 gateway-A charon: 08[IKE] retransmit 5 of request with message ID 0
Jul 7 16:24:04 gateway-A charon: 08[NET] sending packet: from 10.5.102.102[500] to 192.168.10.10[500]
Jul 7 16:24:04 gateway-A charon: 05[NET] sending packet: from 10.5.102.102[500] to 192.168.10.10[500]
Jul 7 16:24:04 gateway-A charon: 05[NET] error writing to socket: Operation not permitted
Jul 7 16:24:42 gateway-A charon: 01[IKE] destroying IKE_SA in state CONNECTING without notification
Jul 7 16:24:42 gateway-A charon: 01[IKE] IKE_SA Net-Net[2] state change: CONNECTING => DESTROYING
Jul 7 16:24:44 gateway-A charon: 06[NET] waiting for data on raw sockets
Is this a known problem? Is there a setting I can use to correct this behaviour, r work around it? How does charon figure out which of the 2 links it uses to start the new IKE_SA?
Thank in advanced for you help.
Alexis.
More information about the Users
mailing list