Hassio - Not more IPV6 /128 address (only /64)

Hello.

I have realized that my hassio has lost the IPV6 /128 adress and therefore, I’m unable to acces to my home assistant when I’m out of home.

It was working well before (beggining april/2022) since then, they only thing I did was installing all the all updates (core, addons, etc).

Even in LAN, I’m unable to acces home assisstant through IPV6 /128 adress that was working before.

I’m still able to connect in LAN with the IPV4 and the IPV6 /64 (given by the router and also visible in Hassio) .

But when out of home, this /64 adress is not working, and IPV4 is not working because I’m behingd à CGNAT.

When I connect to hassio with SSH. the terminal is only shiwing one IPV4, and two IPV6 adress /64 (When before it was showing: one IPV4, Two IPV6 /64 + one IPV6 /128)

I have à second Raspi with raspbian and after doing a ‘ifconfig’ in terminal: it shows well one IPV4, two IP /64 address and one /128 (like hassio was doing before)

  • does anyone knows how to make that hassio self generate a IPV6 /128 adress?

  • or Does anyone know how to acces to my hassio in out of home whith an /64 address?

thanks

I don’t use IPv6 addressing, and may not be able to help, but thought I would try …

I’m not sure what you mean by IPV6/64 versus IPV6/128.

I think what you mean by: IPV6/64 (given by the router…, is that hassOS is using the SLAAC method to figure out what its network ipv6 address is (all 128bits). With the SLAAC method, your router sends out a “Router Advertisement” containing the 64 bit prefix hassOS is to use, and hassOS will derive the rest of the 64bits, usually derived from the interface’s MAC address, to form a complete 128bit address. Nevertheless the prefix is still 64 bits in length, so this would be a /64. Usually the prefix advertised by the router is a public scoped address which means it can be routed across the internet.

If you see something like FE80::blah-blah/64 then this is what is called a “Link Local” prefix, and this is only for use on your LAN (it can’t be routed to).

I am only aware of a few special addresses that use /128, so if you could, can you explain what you mean by IPV6/128?

hello!, thanks for your support and for your time and explanantions.

I’ll try to explain myself better: :grinning:

when we connect to Hassio with ssh, in the terminal there is a kind a “welcome” page. it says 'Welcome to the Home Assistant command line"…and there you get:

System information
IPv4 addresses for eth0: blah-blah
IPv6 addresses for eth0: 2a02:aaaa:bbbb:7201:2c41:xxxx:xxxx:9ab0/64, fe80::cccc:dddd:2f0b:719c/64

So here, before, I was getting another adresss: 2a02:aaaa:bbbb:7201:2bf2:yyyy:yyyy:6572/128

Same Prefix, but different suffix than the first 2a02::::::blah-blah/64

And what is strange is that the last /128 addres is the one that if I go to my router config page, that’s the one that my router hass assigned to Hassio and not the others /64.

and this /128 is the one I say that I lost since last updates.

and for instance, if I ssh my other raspberry pi. when typing ‘ifconfig’ , it has well an IPV6 -128 adress

inet6 2a02:blah-blah prefixlen 128 scopeid 0x0
inet6 fe80::bleh-bleh prefixlen 64 scopeid 0x20
inet6 2a02:bluh-bluh prefixlen 64 scopeid 0x0

  • When you ssh your hassio, do you still see that /128 IPV6 addres?
  • why Hassio is not recognising the /128 address by the router?

This is new to me, so I did a quick google on this, and what appears to be happening is that when a device gets an IPv6 address from a DHCPv6 server it shows this as a /128. When it gets a prefix from a router advertisement and derives the rest, it shows it as a /64. I don’t quite understand why it shows a DHCPv6 assigned address as a /128 and I will need to do a little more research, but it would indicate your router at one time used DHCPv6 to assign an address to your hassio.

Prior to upgrade your hassio continued to operate with its /128 address until the upgrade was performed after which it would come up and ask DHCPv6 for an address that it apparently didn’t get…or it didn’t ask for it. If your raspbery Pi is getting a DHCPv6 address, then it seems to indicate your hassio didn’t ask DHCP for an address.

With your ha cli do: network info and see if ipv6 method is set to auto.

Hello Tommy.

So following your explanation, let’s say finally that: my Hassio is not asking the DHCP IPV6 server.

I tried to Shut all IPV6 down (router + hassOS), and turn everything on again in order to make hassOS to ask for new lease (address)

from my router I had no problem to turn Off and On.

but on my HAssos I get an error.

➜ ~ nmcli connection modify “Supervisor eth0” ipv6.method “disabled”
Error: Failed to modify connection ‘Supervisor eth0’: ipv6.dns: this property is not allowed for ‘method=disabled’

anyway, I did: nmcli connection modify Example ipv6.method “auto” → no error back

And after doing an nmcli: (still no /128)
eth0: connected to Supervisor eth0
“eth0”
ethernet (smsc95xx), B8:27:EB:51:90:75, hw, mtu 1500
ip4 default, ip6 default
inet4 192.168.1.13/24
route4 0.0.0.0/0
route4 192.168.1.0/24
inet6 2a02:aaaa:bbbb:7201:2c41:cccc:dddd:9ab0/64
inet6 2a02:aaaa:bbbb:7201:8851:xxxx:yyyy:bf26/64
inet6 fe80::hhhhh:vvvvv:86a7:aede/64
route6 2a02:aaaa:bbbb:7201::/64
route6 fe80::/64
route6 ::/0

Hmm… I did the following (my Ethernet interface is named enp0s3):
nmcli con mod "Supervisor enp0s3" ipv6.method disabled
and this worked fine, as did setting it back to auto.

In your last output, I don’t see what ipv6.method is set to…
Maybe try:
nmcli con show "Supervisor eth0"
to see what ipv6.method is set to. Is it auto?

hello Tommy.

Yes It was to auto.

I did also realize that ipv6.addr-gen-mode was set stable-privacy. Then I changed to eui64, but Nothing changed

Hassio was still not generating the IPV6 128 adrress.

So I finished by contacting my ISP a requesting to roll my router back to IPV4…and tadaaa!!..everything works like a charm!!

I gave my try to IPV6, but could’t spend much time on that (familly, kids, etc)

thanks Tommy for your time and patience!!, if ther is a way to buy a coffee? :slight_smile:

we can close the thread.