[SOLVED] Can't start DHCPv6/radvd

Started by beeric, June 25, 2023, 11:44:23 PM

Previous topic - Next topic
June 25, 2023, 11:44:23 PM Last Edit: June 26, 2023, 02:53:02 AM by beeric
Hello,

Version: 23.1.10_1-amd64

Symptom: After extended downtime, IPv6 broke completely. I disabled IPv6 and everything worked. I tried to re-enable IPv6 and OPNsense UI won't let me. DHCPv6 service permanently stoppped.

Details:
I previously had IPv6 working fine. I did some extended maintenance in my network and my modem was unplugged for hours. When everything was restarted, Comcast assigned me a new IPv4 IP, and I assume they assigned me a new IPv6 too, but can't confirm.

After getting everything powered up, IPv6 wouldn't work (ping, requests, everything timed out). I followed this guide to disable IPv6: https://www.thomas-krenn.com/en/wiki/OPNsense_disable_IPv6. Afterwards, everything worked! Great, so I'll just undo everything that I did - Wrong..

Under Interfaces: [LAN], I tried to set "IPv6 Configuration Type" to both "Track Interface" or Static IP (set to ::1/128).

  • Track Interface Error: The DHCPv6 Server is active on this interface and it can be used only with a static IPv6 configuration. Please disable the DHCPv6 Server service on this interface first, then change the interface configuration.
  • Static IPv6 Error: This IPv6 address is being used by another interface or VIP.


  • The DHCPv6 service will no longer start at all.
  • The radvd service won't start from GUI, but I can manually start it from CLI with "/usr/local/etc/rc.d/radvd onestart"
  • I don't see any updates in /var/log/dhcp/latest.log when I try to start it. Maybe there's a different log for v6?
  • Perhaps the loopback interface is claiming ::1/128? "ifconfig" shows for lo0: inet6 ::1 prefixlen 128

Thoughts on how I can undo what I did and re-enable IPv6? I've tried following https://homenetworkguy.com/how-to/configure-ipv6-opnsense-with-isp-such-as-comcast-xfinity/, but obviously fail when I get to setting the IPv6 Config Type.

Progress!

From this thread: https://forum.opnsense.org/index.php?topic=12384.msg56931#msg56931
I took the steps from 3kj2w:
ifconfig lo0 inet6 ::1 delete
ifconfig lo0 inet6 fe80::1 delete


I wasn't able to Track Interface, but I was able to now set a Static IPv6 config (::1/128).
Now DHCPv6 could at least start and I could get to Services: DHCPv6: [LAN], which previously didn't show up.
Then I could uncheck "Enable DHCPv6 on this interface".
Then I could switch Interfaces: [LAN] IPv6 Configuration Type to Track Interface.

It seems there's a bug where turning off DHCPv6 doesn't modify the config files. So if you disable DHCPv6, maybe you can't re-enable it? I don't know specifics yet.. but I'm making progress.

Final Update: All is now working.  8)

Summary: If you disable IPv6 while DHCPv6 is enabled, the Web UI is bugged and won't let you configure other DHCPv6 settings because the "Enable DHCPv6 on $interface interface" box is checked. Unfortunately, this box is hidden, so you won't be able to uncheck it from UI.

Steps to resolve the issue if you've disabled IPv6 with DHCPv6 still enabled/running:

  • SSH to the machine and run "ifconfig | grep ::1". You should see a line returned, which is from the lo0 interface
  • Run these to get rid of that stuck config:
    ifconfig lo0 inet6 ::1 delete
    ifconfig lo0 inet6 fe80::1 delete
  • Now go to Interfaces: [LAN] and set "IPv6 Configuration Type to "Static IPv6"
  • Under the "Static IPv6 Configuration" block, set the IP address to ::1 and dropdown 128. Click Save
  • Now you should be able to go to Services: DHCPv6: [LAN]. Uncheck "Enable DHCPv6 server on LAN interface. Click Save". All of the prior steps were to get this checkbox to even be available in the UI.
  • Go back to Interfaces: [LAN]. Now you can set IPv6 Config Type to "Track Interface" and point it to the WAN below. I also had to check "Allow manual adjustment of DHCPv6 and Router Advertisements" (or DHCPv6 service wouldn't start again). Save again.
  • Reboot - This was crucial. Under Services: DHCPv6: [LAN], my available range had an error: No available address range for configured interface subnet size. Reboot fixed this.
  • Finally, I could go to Services: DHCPv6: [LAN] and "Enable DHCPv6 server on this interface". I set the Range from "::" to "::ffff" according to https://homenetworkguy.com/how-to/configure-ipv6-opnsense-with-isp-such-as-comcast-xfinity/
  • Click Save and validate DHCPv6 is now running as expected.

There's definitely a bug in the Web UI, because all of this should not be necessary to get in this exact order. Specifically, if you need to disable DHCPv6 service for an interface, that box needs to be available in the UI, which it's not.

Thanks @beeric.

I also ran into the same issue. Tried everything to start it again. To be honest, I think this is definately a bug in the UI and could and should be addressed.

What I did was

- enable IPV6 on WAN interface
- enable IPv6 on DMZ and LAN interface, enabled DHCPv6 on LAN
- enable not to use router advertisement, tried the settings
- disabled ipv6 again
=> issue occured.

Funny is, even if a disable and remove everything the settings are still there when I enable it again.