Hello friends
I had talked about this on some router OS forums and it seems this isn't possible yet. I had searched here and found no thread about it, so I'm creating one.
My situation combines some tough issues together. I have 2 ISP: one uses GPON for link and PPPoE for IP connection, the other uses HFC for kink and DHCP for connection. It's not common, but both had changed my global prefix a few times, so I need the router to automatically identify when it changes and properly propagate it so that devices don't lose connectivity.
I need to have these 2 WANs under load balancing, it's not acceptable to use only 1 and the other be used only when it goes offline.
Both ISP insists to deliver a single /64 prefix. A few years ago I took months-long battles on both of them demanding to deliver at least a /60 prefix, preferably a /56 as current IPv6 protocol says. I did it under government regulator (Anatel) channel. Both kept making themselves dumb and avoiding answering. I even provided a very badly written text from government agency (NIC.br) responsible for distributing IPv6 /32 prefixes to ISPs, which basically says to follow protocol standard and /64 is optional, meaning it shouldn't be used. One of them distorted this text to claim /64 is allowed therefore they will force it on all consumers. The other claimed they are a privately owned company, and only state owned ISPs are forced to follow international protocol standards, therefore they are only forced to provide connectivity to their intranet, and if we can connect to Internet we're lucky, else it's our problem. So, yeah, for now I'm stuck on /64 prefix and there's no other ISP to hire.
What I'm using now is OpenWRT with mwan. PPPoE and DHCP connections work for both IPv4 and IPv6 (global prefix PD and router IPv6 GUA). It was tricky to configure PPPoE virtual interface to get a IPv6 connection but I made it work. I also configured interfaces to route LAN connections to both modens, because by default the router doesn't know how to route them, and now I'm able to reach modens WebUI from LAN. According to Pihole, 64% of queries are AAAA, so I'm using more IPv6 connections than IPv4.
For IPv4 load balancing works great: NAT masquerades LAN addresses to both public addresses, and mwan chooses for each connection which WAN/public address to use.
My issues come from IPv6 load balancing. odhcpd captures both WAN global prefix PD and publishes both to all devices, and all devices have tons of IPv6 addresses under both global prefixes, ULA and link-local.
This breaks router's load balancing, because devices are able to choose which address and route to use, instead of letting router's mwan do it.
As far as I had studied, the simples solution would be use NPTv6, so that global prefixes are masqueraded on my LAN and replaced by a single prefix. This way devices would be unable to choose which route to use, and router would be able to replace local prefix to its chosen global prefix.
But NPTv6 is still a draft. OpenWRT doesn't support it whatsoever. pfSense and opnSense support it, but only with static global prefix and only 1. They don't support multi-WAN for NPTv6, and when the global prefix changes, we must notice it and manually update the config.
And this local prefix would need to be in global range, because if not, devices OS would understand there's no public IPv6 available and would use IPv4 instead. I have no idea how to solve that.
Because of the /64 prefix issue, I'm also unable to use VLAN. I guess NPTv6 would also solve it, because I could use a /60 local prefix and multiple subnets for each VLAN, and have NPTv6 translate all subnets to the same /64 global prefix.
For now I'm sticking on OpenWRT and letting devices use IPv6 and choose routes themselves.
I had talked about this on some router OS forums and it seems this isn't possible yet. I had searched here and found no thread about it, so I'm creating one.
My situation combines some tough issues together. I have 2 ISP: one uses GPON for link and PPPoE for IP connection, the other uses HFC for kink and DHCP for connection. It's not common, but both had changed my global prefix a few times, so I need the router to automatically identify when it changes and properly propagate it so that devices don't lose connectivity.
I need to have these 2 WANs under load balancing, it's not acceptable to use only 1 and the other be used only when it goes offline.
Both ISP insists to deliver a single /64 prefix. A few years ago I took months-long battles on both of them demanding to deliver at least a /60 prefix, preferably a /56 as current IPv6 protocol says. I did it under government regulator (Anatel) channel. Both kept making themselves dumb and avoiding answering. I even provided a very badly written text from government agency (NIC.br) responsible for distributing IPv6 /32 prefixes to ISPs, which basically says to follow protocol standard and /64 is optional, meaning it shouldn't be used. One of them distorted this text to claim /64 is allowed therefore they will force it on all consumers. The other claimed they are a privately owned company, and only state owned ISPs are forced to follow international protocol standards, therefore they are only forced to provide connectivity to their intranet, and if we can connect to Internet we're lucky, else it's our problem. So, yeah, for now I'm stuck on /64 prefix and there's no other ISP to hire.
What I'm using now is OpenWRT with mwan. PPPoE and DHCP connections work for both IPv4 and IPv6 (global prefix PD and router IPv6 GUA). It was tricky to configure PPPoE virtual interface to get a IPv6 connection but I made it work. I also configured interfaces to route LAN connections to both modens, because by default the router doesn't know how to route them, and now I'm able to reach modens WebUI from LAN. According to Pihole, 64% of queries are AAAA, so I'm using more IPv6 connections than IPv4.
For IPv4 load balancing works great: NAT masquerades LAN addresses to both public addresses, and mwan chooses for each connection which WAN/public address to use.
My issues come from IPv6 load balancing. odhcpd captures both WAN global prefix PD and publishes both to all devices, and all devices have tons of IPv6 addresses under both global prefixes, ULA and link-local.
This breaks router's load balancing, because devices are able to choose which address and route to use, instead of letting router's mwan do it.
As far as I had studied, the simples solution would be use NPTv6, so that global prefixes are masqueraded on my LAN and replaced by a single prefix. This way devices would be unable to choose which route to use, and router would be able to replace local prefix to its chosen global prefix.
But NPTv6 is still a draft. OpenWRT doesn't support it whatsoever. pfSense and opnSense support it, but only with static global prefix and only 1. They don't support multi-WAN for NPTv6, and when the global prefix changes, we must notice it and manually update the config.
And this local prefix would need to be in global range, because if not, devices OS would understand there's no public IPv6 available and would use IPv4 instead. I have no idea how to solve that.
Because of the /64 prefix issue, I'm also unable to use VLAN. I guess NPTv6 would also solve it, because I could use a /60 local prefix and multiple subnets for each VLAN, and have NPTv6 translate all subnets to the same /64 global prefix.
For now I'm sticking on OpenWRT and letting devices use IPv6 and choose routes themselves.