Nextcloudpi IPv6 problems


I have downloaded and put it on the SD Card of my raspberry pi. Reaching my Router via IPv4 from the outside is not on option (DualStack Lite). Unfortunately IPv6 does not seem to work on the raspberry pi:
$ ifconfig | grep inet 6 outputs nothing.
$ sudo ip addr add aaaa:aaaa:aaaa:aaaa:cccc:cccc:cccc:cccc/64 dev eth0 outputs:
RTNETLINK answers: Operation not supported
$ host returns the correct ipv6 addres of google
$ ping6 2a00:1450:4002:802::200e outputs:
ping: socket: Address family not supported by protocol
The raspberry pi is connected via ethernet to the router. On other devices that are connected to the same router, IPv6 works just fine.

I would be thankful if anyone could help me to make IPv6 working again.

Hi, did you configure a firewall? For IPv6 ICMP needs to be allowed and should not be blocked by firewalls.
Devices receive their IPv6 address via Router Advertisement (ICMP), not via DHCP like with IPv4.

Not sure if your other devices in your network are Unix as well. You could compare your settings with them.
If not:

  • make sure your router properly advertises IPv6 addresses in your network
  • ICMPv6 is not blocked for your raspi

Be aware that the first 4 blocks are the network part of the address which comes from the router (actually ISP, but router forwards and advertises this network address).

The command would be:

ifconfig | grep inet6

without blank. Does not the rpi get the address from the router via dhcp? Anyway, this is not a nextcloud problem.

Afaik I did not configure a firewall.
Some of the other devices in the network are also Linux and IPv6 works just fine on them.
I think that this is a problem with the raspberry and not with the router, because ifconfig does not list a IPv6 Address on loopback.
The output of the following commands are also interesting:
$ sudo dmesg | grep v6 outputs nothing
$ cat /proc/net/if_inet6
cat: /proc/net/if_inet6: No such file or directory
$ lsmod | grep v6 outputs nothing
$ modprobe ipv6
modprobe: ERROR: …/libkmod/libkmod.c:586 kmod_search_moddep() could not open moddep file ‘/lib/modules/4.14.50-v7+/modules.dep.bin’
modprobe: FATAL: Module ipv6 not found in directory /lib/modules/4.14.50-v7+

Is it possible that the kernel of the raspberry pi image comes without IPv6 support?

PS: I’m not sure wheter this has something to do with the problem, but sudo dmesg outputs:

[    1.984837] smsc95xx 1-1.1:1.0 eth0: register 'smsc95xx' at usb-3f980000.usb-1.1, smsc95xx USB 2.0 Ethernet, b8:27:eb:05:b0:cf
[    2.071659] Under-voltage detected! (0x00050005)
[    2.649595] systemd[1]: [/lib/systemd/system/redis-server.service:14] Unknown lvalue 'RunTimeDirectory' in section 'Service'
[    2.706122] systemd[1]: nfs-blkmap.service: Cannot add dependency job, ignoring: Unit nfs-blkmap.service is masked.

Normally Linux should support ipv6 out of the box, unless it is disabled on purpose.
In your logs, there is an under-voltage detected. It might be unrelated but I have seen so strange behaviour on systems with these messages that I recommend to start to fix this (put more powerful usb power supply, use external power supply for external disk, …).

1 Like

Changing to a more powerful usb power supply did not remove the “undervolate detected” warning.

grep -irn “ipv6” /var/log return a lot of warnings that end with:
warning: inet_protocols: disabling IPv6 name/address support: Address family not supported by protocol

sudo dmesg | grep v6 returns nothing