<div dir="ltr">I'm trying to setup route-based tunnel using an xfrm interface, but it's not clear to me on how to link the policy to the interface?<div><br></div><div>This is my ipsec.conf of router1 (currently lab based setup) </div><div><br></div><div>conn router2<br>    fragmentation=yes<br>    dpdaction=restart<br>    ike=aes256-sha256-modp2048<br>    esp=aes256-sha256-modp2048<br>    keyingtries=%forever<br>    leftid=192.168.100.101<br>    leftauth=secret<br>    rightauth=secret<br>    leftsubnet=<a href="http://192.168.101.0/24">192.168.101.0/24</a><br>    keyexchange=ikev2<br>    right=192.168.100.102<br>    rightsubnet=<a href="http://192.168.102.0/24">192.168.102.0/24</a><br>    auto=start<br><br></div><div>This is how I'm creating the interface using iproute2</div><div><br></div><div>ip link add ipsec2 type xfrm dev eth0 if_id 0xff02<br>sysctl -w net.ipv4.conf.ipsec2.disable_policy=1<br>ip link set ipsec2 up<br>ip route add <a href="http://192.168.102.0/24">192.168.102.0/24</a> dev ipsec2 metric 10<br><br></div><div>The tunnel is working and I can ping the other side. But it's not using the route-based interface, it's using policy based. If I delete the static route, I can still ping the other network.</div><div><br></div><div>In the RouteBasedVPN wiki, for vti devices you need to add the mask. For xfrm devices it says "No awkward configuration via GRE keys and XFRM marks. Instead, a new identifier (XFRM interface ID) links policies and SAs with XFRM interfaces." but doesn't further specify how. If I add the mask=0xff02 to the connection in ipsec.conf, the tunnel is still brought up, but I can't send any data over it.</div><div><br></div><div>Any idea what I am missing?</div><div><br></div><div>Thanks!</div><div><br></div></div>