A proper way to define unnumbered interface

I’m looking for a proper way to create unnumbered interfaces in VyOS 1.3. What I currently do is creating a dummy interface with desired /32 or /128 address and then duplicate the same address to other interfaces that need to share them. However, this feels wrong since the configuration becomes error-prone and harder to maintain because of the need to keep these addresses in sync manually. When I do the same with other vendor products (Juniper and Cisco) they usually allow specifying and interface from which unnumbered addresses will be copied instead of defining them independently.

I’d like to confirm that defining addresses independently is VyOSes way and what I’m doing is the intended way.

Hello, @dtoux
If you want IP unnumbered, you need to set some GW to dummy with CIDR /24 etc., or to lo with CIDR /32. Then required to enable proxy-arp and create static routes/interface routes to each client.

Hmm, I think proxy-arp would work in the generic case and as far as I understand for IPv4 only. I intend to use unnumbered interfaces for tunnels and I have two kinds - GRE and Wireguard. I’m currently using /31 and /127 subnets for them but I would rather switch them to reduce address management overhead.

I also run OSPF and OSPFv3 for routing and each router can be reached through at least 2 paths. and we also make use of BFD. Essentially, there are use cases when I need to specify source address and interface name (bfd for example) and without explicit address on the interface services either won’t bind or traffic will go via an unintended path.

I’m thinking about abandoning this idea for now (it creates too many other issues) but wanted to confirm that there is no native way to create unnumbered interfaces?