<html xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns:m="http://schemas.microsoft.com/office/2004/12/omml" xmlns="http://www.w3.org/TR/REC-html40">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<meta name="Generator" content="Microsoft Word 15 (filtered medium)">
<style><!--
/* Font Definitions */
@font-face
{font-family:"Cambria Math";
panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
{font-family:DengXian;
panose-1:2 1 6 0 3 1 1 1 1 1;}
@font-face
{font-family:Calibri;
panose-1:2 15 5 2 2 2 4 3 2 4;}
@font-face
{font-family:"\@DengXian";
panose-1:2 1 6 0 3 1 1 1 1 1;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
{margin:0cm;
margin-bottom:.0001pt;
font-size:11.0pt;
font-family:"Calibri",sans-serif;
mso-fareast-language:EN-US;}
a:link, span.MsoHyperlink
{mso-style-priority:99;
color:#0563C1;
text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
{mso-style-priority:99;
color:#954F72;
text-decoration:underline;}
p.msonormal0, li.msonormal0, div.msonormal0
{mso-style-name:msonormal;
mso-margin-top-alt:auto;
margin-right:0cm;
mso-margin-bottom-alt:auto;
margin-left:0cm;
font-size:12.0pt;
font-family:"Times New Roman",serif;}
span.E-MailFormatvorlage18
{mso-style-type:personal;
font-family:"Calibri",sans-serif;
color:windowtext;}
span.E-MailFormatvorlage19
{mso-style-type:personal-reply;
font-family:"Arial",sans-serif;
color:#1F497D;}
.MsoChpDefault
{mso-style-type:export-only;
font-size:10.0pt;}
@page WordSection1
{size:612.0pt 792.0pt;
margin:70.85pt 70.85pt 2.0cm 70.85pt;}
div.WordSection1
{page:WordSection1;}
--></style><!--[if gte mso 9]><xml>
<o:shapedefaults v:ext="edit" spidmax="1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext="edit">
<o:idmap v:ext="edit" data="1" />
</o:shapelayout></xml><![endif]-->
</head>
<body lang="DE" link="#0563C1" vlink="#954F72">
<div class="WordSection1">
<p class="MsoNormal">Hi, <o:p></o:p></p>
<p class="MsoNormal">we are facing the following problem: <o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">We are using a Strongswan-Client (Initiator, details below) to open up a Tunnel with reauthentication enabled and make_before_break=yes.
<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">After opening up a tunnel initially, we see local (clients) ip routes as follows (as expected):
<o:p></o:p></p>
<p class="MsoNormal">ip route list table 220<o:p></o:p></p>
<p class="MsoNormal">10.0.0.0/8 via 146.185.113.17 dev eth0 proto static src 10.23.7.205<o:p></o:p></p>
<p class="MsoNormal">188.144.0.0/15 via 146.185.113.17 dev eth0 proto static src 10.23.7.205<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">During reauthentication with make_before_break: <o:p></o:p></p>
<p class="MsoNormal">As long as we receive the same virtual IP everything is fine, the ip routes are kept and traffic still can flow through this tunnel.
<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">But once we receive a different virtual IP from the responder, the ipsec still says „tunnel is active“, but the old ip routes get deleted and no new ones are set up.
<o:p></o:p></p>
<p class="MsoNormal">So, ip route table 220 is empty and hence no traffic will flow through this still active tunnel.
<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">Please note, once we disable make_before_break (which is not an option for us), everything runs smooth, even with new virtual IPs during reauthentication.
<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">Any idea ? <o:p></o:p></p>
<p class="MsoNormal">Thanks for your help !<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">BR, Alex. <o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal"><u>Clients OS</u>: <o:p></o:p></p>
<p class="MsoNormal">Linux gtegklvk04067 4.4.114-94.14-default #1 SMP Mon Feb 19 14:46:07 UTC 2018 (14c5f0f) x86_64 x86_64 x86_64 GNU/Linux<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal"><u>Strongswan Clients Version</u>: <o:p></o:p></p>
<p class="MsoNormal">Linux strongSwan U5.5.3-20180605_3/K4.4.114-94.14-default<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal"><u>ipsec.conf<o:p></o:p></u></p>
<p class="MsoNormal"># basic configuration<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">config setup<o:p></o:p></p>
<p class="MsoNormal"> charondebug="cfg 2, dmn 2, ike 2, net 9, job -1"<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">conn %default<o:p></o:p></p>
<p class="MsoNormal"> keyexchange=ikev2<o:p></o:p></p>
<p class="MsoNormal"> ike=aes256-sha256-modp2048,aes256-sha1-modp2048!<o:p></o:p></p>
<p class="MsoNormal"> esp=aes256-sha256-modp2048,aes256-sha1-modp2048!<o:p></o:p></p>
<p class="MsoNormal"> dpdaction=clear<o:p></o:p></p>
<p class="MsoNormal"> dpddelay=300s<o:p></o:p></p>
<p class="MsoNormal"> rightid=%any<o:p></o:p></p>
<p class="MsoNormal"> leftcert=my.C_NK_VPN.pem<o:p></o:p></p>
<p class="MsoNormal"> leftsourceip=%config<o:p></o:p></p>
<p class="MsoNormal"> forceencaps=yes<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">conn RU1_TI_1<o:p></o:p></p>
<p class="MsoNormal"> right=146.185.113.4<o:p></o:p></p>
<p class="MsoNormal"> rightsubnet=10.0.0.0/8,188.144.0.0/15<o:p></o:p></p>
<p class="MsoNormal"> lifetime=5m <o:p></o:p></p>
<p class="MsoNormal"> ikelifetime=2m <o:p></o:p></p>
<p class="MsoNormal"> margintime=1m<o:p></o:p></p>
<p class="MsoNormal"> rekeyfuzz=0%<o:p></o:p></p>
<p class="MsoNormal"> auto=add<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal"><u>strongswan.conf<o:p></o:p></u></p>
<p class="MsoNormal">charon {<o:p></o:p></p>
<p class="MsoNormal"> make_before_break = yes<o:p></o:p></p>
<p class="MsoNormal"> hash_and_url = no<o:p></o:p></p>
<p class="MsoNormal"> load_modular = yes<o:p></o:p></p>
<p class="MsoNormal"> plugins {<o:p></o:p></p>
<p class="MsoNormal"> include strongswan.d/charon/*.conf<o:p></o:p></p>
<p class="MsoNormal"> }<o:p></o:p></p>
<p class="MsoNormal">}<o:p></o:p></p>
<p class="MsoNormal">include strongswan.d/*.conf<o:p></o:p></p>
</div>
</body>
</html>