logoalt Hacker News

simoncion • last Thursday at 9:27 PM • 2 replies • view on HN

> How can you do multiple WAN uplinks with IPv6 without NAT?

Advertise the addresses offered by the primary uplink, then retire those addresses [0] and advertise the secondary when the primary fails. Or are you talking about load balancing, which is its own thing? Either way, this situation is inherently not boring, so the way you solve it is going to be quite a bit more complex -regardless of IP protocol version- than the very boring single-upstream situation.

> How do you prevent your printer on IPv6 from breaking when your Internet connection goes down?

I'll flip this around on you:

How do you prevent your printer from "breaking" when its ISP-provided DHCP lease on its globally-routable IPv4 address expires? How about when the ISP refuses to renew the lease on the printer's current globally-routable IPv4 address and forces it to get a new one?

Obviously, you use the ISP-assigned globally-routable IPv4 address and also assign an RFC 1918 address to the printer.

How to solve this with IPv6? Use ULAs! They're the equivalent of 1918 space in the IPv6 world. Just like in IPv4, IPv6 globally-routable addresses are for global communication and can be used for LAN-local communication. And -just like 1918 addresses- ULAs are for LAN-local communication. Just like with IPv4, if you can't control the addresses that you get from your upstream provider, and/or if your router is set up to retire your upstream provider's delegated address space when your upstream link goes down, then you use ULAs. [1]

I know that OpenWRT has a setting in LuCi to enable advertisement of a ULA prefix, and fifteen seconds of searching revealed that at least some Linksys combination router/APs seem to just generate and advertise a ULA prefix by default. [2]

So, if you're not configuring your LAN this way and upstream provider renumbering is getting in your way, then you really should bother to.

[0] ...by advertising their valid lifetime as zero seconds...

[1] ...or if you happen to like to be able to assign fixed IP addresses to certain pieces of hardware...

[2] <https://support.linksys.com/kb/article/3744-en/>


Replies

andix • last Thursday at 9:36 PM

> Use ULAs

Isn't that the default for modern routers? They just generate a random ULA during setup and assign it.

Random ULAs are also great for LAN-to-LAN VPNs, because there aren't any private IP overlaps. Everyone setting up their LAN on 192.168.0.x makes it quite a mess on IPv4.

➕ show 2 replies
cyberax • last Thursday at 9:40 PM

OK, do you _think_ my questions were that easy?

> Advertise the addresses offered by the primary uplink, then retire those addresses

Prefix withdrawal doesn't work reliably on Android. And neither is it required to work, btw. Neither does this solution allow for load balancing, as all traffic will just go through one connection.

Bonus points: triangular routing to your local NAS through the router.

> How do you prevent your printer from "breaking" when its ISP-provided DHCP lease on its globally-routable IPv4 address expires? How about when the ISP refuses to renew the lease on the printer's current globally-routable IPv4 address and forces it to get a new one?

Printers get an RFC1918 address and don't care about global connectivity.

> How to solve this with IPv6? Use ULAs! They're the equivalent of 1918 space in the IPv6 world.

They're not. IPv6 is nothing like IPv4 operationally. Back to my challenge, ULA will NOT work.

The scenario is very simple: the printer gets a ULA prefix and a GUA prefix. Your computer also gets a GUA and a ULA from the same router.

So far so good.

Now the uplink goes down, and the router withdraws the prefix. The printer sees the withdrawal and removes its GUA address. Your computer misses it, and still has the GUA and the ULA addresses.

Whoops. The printing is now broken somehow. Why?

➕ show 1 reply