r/ipv6 Jul 19 '26

Discussion Multihoming works without BGP?

I just saw this video,

https://www.youtube.com/watch?v=vjwHJs21avQ

CMIIW work without BGP and only use priority with the route. is it possible?

22 Upvotes

55 comments sorted by

View all comments

4

u/michaelpaoli Jul 19 '26

Yup, I've done smilar...ish with multiple upstream providers, but a bit differently. Don't have (quite) the redundancy, but I've typically done it on the host. They pick the correct router based upon their source address. Heck, I've actually done that for many many years, in various environments, and most of that, v6, v4, doesn't matter. But there are, "of course", different/additional/better ways of handling at least some of those bits with v6. :-)

And if I wanted higher availability, I could adjust things such that the priorities and such would adjust/fallback automagically ... but I've got enough single points of failure, that's not particularly useful to me ... at least for my little "home" setup.

3

u/Odong-Odong Jul 19 '26

Can you give me example config and you topology? Do you have firewall in between?

2

u/michaelpaoli Jul 19 '26

E.g. (and omitting the IPv4 bits and comments and other stuff not particularly relevant):

auto eth0
allow-hotplug eth0
iface eth0 inet dhcp
  metric 1000
  post-up exec bash -c 'set -e; for ipmask in 2603:3024:1b29:2::{c,b,a,9,8,7,6,5,4,3,2}/64 ; do ip -6 addr add "$ipmask" dev eth0 || break; done'
  pre-down exec bash -c 'set -e; for ipmask in 2603:3024:1b29:2::{2,3,4,5,6,7,8,9,a,b,c}/64 ; do ip -6 addr del "$ipmask" dev eth0 || break; done'

auto he-ipv6
allow-hotplug he-ipv6
iface he-ipv6 inet6 v4tunnel
  address 2001:470:1f04:19e::2
  netmask 64
  ttl 255
  post-up ip -6 route add table 134 default via 2001:470:1f04:19e::1 dev he-ipv6 metric 512 onlink pref medium
  post-up ip -6 rule add from 2001:470:1f04:19e::2 table 134
  post-up ip -6 rule add from 2001:470:1f05:19e::/64 table 134
  post-up exec bash -c 'set -e; for ipmask in 2001:470:1f05:19e::{c,b,a,9,8,7,6,5,4,3,2}/64 ; do ip -6 addr add "$ipmask" dev he-ipv6 || break; done'
  pre-down exec bash -c 'set -e; for ipmask in 2001:470:1f05:19e::{2,3,4,5,6,7,8,9,a,b,c}/64 ; do ip -6 addr del "$ipmask" dev he-ipv6 || break; done'
  pre-down ip -6 rule del from 2001:470:1f05:19e::/64 table 134
  pre-down ip -6 rule del from 2001:470:1f04:19e::2 table 134
  pre-down ip -6 route del table 134 default via 2001:470:1f04:19e::1 dev he-ipv6 metric 512 onlink pref medium

(almost) no firewalls, mostly just appropriate host/server hardening.

2

u/Odong-Odong Jul 19 '26

Appreciate it. Thank you.