<div dir="ltr"><div class="gmail-msg-body gmail-P_wpofO gmail-iy_A gmail-mq_AS"><div class="gmail-jb_0 gmail-X_6MGW gmail-N_6Fd5"><div><div dir="ltr">Hi List,</div><div dir="ltr"><br></div><div dir="ltr"><div>- strongswan version 5.5.3<br>- I have to use kernel_libipsec (because of Openssl FIPS validated crypto).<br>- Must support local traffic selector does not include any local IP addr.<br><br>Expand on the last bullet:<br>- Peer's IP addr is 192.168.0.2, remote traffic selector <a href="http://172.16.0.0/24">172.16.0.0/24</a><br>- My node has only 1 interface (not counting ipsec0). IP addr is 192.168.0.1<br>- Local traffic selector <a href="http://10.1.1.0/24">10.1.1.0/24</a><br>- My node has static route <a href="http://10.1.1.0/24">10.1.1.0/24</a> via 192.168.0.254, which is a router.<br>- Router 192.168.0.254 has static route for <a href="http://172.16.0.0/24">172.16.0.0/24</a> via my node.<br><br>When try to bring up tunnel, I get this log:<br>- charon: 12[KNL] getting a local address in traffic selector <a href="http://10.1.1.0/24">10.1.1.0/24</a><br>- charon: 12[KNL] no local address found in traffic selector <a href="http://10.1.1.0/24">10.1.1.0/24</a><br>- charon: 12[KNL] error installing route with policy <a href="http://10.1.1.0/24">10.1.1.0/24</a> === <a href="http://172.16.0.0/24">172.16.0.0/24</a><br>- charon: 12[IKE] unable to install IPsec policies (SPD) in kernel<br>- charon: 12[IKE] failed to establish CHILD_SA, keeping IKE_SA<br><br><div>Is there any way to workaround this no local address problem?</div><div dir="ltr"><br></div>I tried cheating in kernel_libipsec_ipsec.c<br>Ignore the failure from get_address_by_ts() and make up local address by:<br>src_ip = host_create_from_string("192.168.0.1", 0);<br><br>It does fool kernel_libipsec to install this route:<br><a href="http://172.16.0.0/24">172.16.0.0/24</a> dev ipsec0 proto static src 192.168.0.1<br><br>But the route does not capture any packets into ipsec0.<br>So end up the tunnel only work one way, from peer to my node to <a href="http://10.1.1.0/24">10.1.1.0/24</a> network.<br><div>Return packets from <a href="http://10.1.1.0/24">10.1.1.0/24</a> network stop at my node, cannot get back to peer.</div><div><br></div><div dir="ltr">Lastly, <span>in some setup I may have a second interface like 192.168.2.1 and corresponding router 192.168.2.254.</span></div><div dir="ltr"><span>Then the solution need to be smart enough to pick interface 1 or 2.</span></div><div dir="ltr"><span></span><br></div><div dir="ltr">Kind regards</div><div dir="ltr">Simon<br></div></div><div><br></div></div></div></div></div></div>