Page MenuHomeVyOS Platform

ipsec site-to-site: Support binding multiple tunnels to one VTI, customizing local and remote traffic selectors
Open, LowPublicFEATURE REQUEST

Description

Now that we use XFRM under the hood, there is no technical constraint that a single tunnel must map to a single VTI (XFRM) interface. It is perfectly possible to bind multiple tunnels to one interface, either for redundancy or to reduce administrative overhead with several tunnels each configured with non-overlapping traffic selectors.

Scope of work:

  1. Allow the local and remote traffic selectors to be configured when VTI is in use. This may have value on its own, e.g. if users want to change the default of all IPv4 and IPv6 traffic.
  2. Modify ipsec hooks that translate tunnel up/down into interface up/down to logically handle multiple tunnels bound to one interface.

Details

Version
-
Is it a breaking change?
Perfectly compatible

Event Timeline

lucasec created this object in space S1 VyOS Public.
dmbaturin edited projects, added VyOS Rolling; removed Restricted Project.Oct 14 2024, 10:53 AM
dmbaturin changed Is it a breaking change? from Unspecified (possibly destroys the router) to Perfectly compatible.
dmbaturin changed Issue type from Unspecified (please specify) to improvement.
syncer moved this task from Need Triage to Backlog - Feature Requests on the VyOS Rolling board.
syncer changed the subtype of this task from "Task" to "Feature Request".

Allow the local and remote traffic selectors to be configured when VTI is in use

PR https://github.com/vyos/vyos-1x/pull/4446 for T7343

set vpn ipsec site-to-site peer P1 vti traffic-selector local prefix 0.0.0.0/0
set vpn ipsec site-to-site peer P1 vti traffic-selector local prefix :/0
set vpn ipsec site-to-site peer P1 vti traffic-selector remote prefix 192.0.2.0/24

Took a look at the PR... nice.

edit: Was going to say we could expand this to cover remote-access, but it looks like the remote-access local traffic selector is already customizable via set vpn ipsec remote-access connection <conn> local prefix <prefix>. There may be some value in re-factoring to make the two CLIs consistent though.