I migrated a leap 15.6 system to slowroll. The problem I cannot solve is how to have Network Manager connect to our DHCP server and get its ipv6 address.
Where do I find the DUID and IAD?
How do I enable dhcpv6?
I tried enabling and (re)starting wickedd. (That was a winner in 15.6.) I do get ipv6 addresses; not any of the ones from the DHCP server, either static or dynamic.
Since you mentioned DUID and IAID, is your DHCPv6 server using a MAC-address reservation, or is the reservation based on the DHCPv6 DUID/IAID? Who administers the DHCPv6 server - is it your server, or is it managed by someone else?
IPv6 mostly relies on SLAAC or RA. This is the main thing people get wrong about most common ISP configuration.
Use radvdump to monitor RA prefix broadcasts, this will be helpful to verify its passed on. If you get a prefix on RA then you’re very close to being connected.
DHCPv6 is a thing on the router usually, not the client.
In the past when the DUID/IAID was changed by an upgrade (grrrrr), I could obtain the IDs by seeing which new dynamic IPs were assgined and using thhe data provided there.
This has not happened with this upgrade. Hence my query.
If “Automatic” gives you IPv6 addresses, that suggests the network is providing IPv6 via RA/SLAAC? What does the router advertisement from your router look like?
I expect IPv6 addresses in the range fd2f:4760:521f:3f3c::c0a8:45xx/128.
This is typical of what I actually get: fd2f:4760:521f:3f3c:4a11:3369:7ca0:b046/64.
I do not know where these IPs originate.
(sigh) I cannot figure how to see the system logs in the Sonicwall firewall. There a lots of other log data to view.
The issue really seems to be with this host, not the server. Other computers have no problem receiving IPv6 addresses, both dynamic and static. And there was no problem for this host before the migration.
The journal listing indicates a timeout occurred. Likely the host is blocking the DHCP6 outgoing request, for … reasons?
aside: what do I put in the placeholder “<connection>”?
I mean the connection profile name. Use nmcli connection show and you should see something like
NAME UUID TYPE DEVICE
Wired xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx ethernet enp3s0
In the above ‘Wired’ example, you can then do
nmcli connection modify "Wired" ipv6.method dhcp
nmcli connection up "Wired"
Given you say other hosts connect ok and this one doesn’t ( no DHCPv6 lease is received), a packet capture on eth0 is a very useful next step… sudo tcpdump -i eth0 -vv 'udp port 546 or 547'
If tcpdump shows the DHCPv6 “solicit” leaving eth0 but no “advertise” coming back, then the problem is with the SonicWall/DHCPv6 side. You mentioned that you’re employing DUID/IAID reservation.
If you’re not seeing anything you need to figure it out. There are also sysctl values that need to be correct for RA to propagate, especially if behind VM or container.
It would seem that the nmcli connection modify "eth0" ipv6.method dhcp command awoke DHCP6, somewhat. The DHCP6 server provided the IP and lease, tcpdump also showed success. The only part missing is that NM does not seem to care; the leased IP does show in its status list.
# nmcli connection modify eth0 ipv6.gateway 'fd2f:4760:521f:3f3c::c0a8:4501'
Error: Failed to modify connection 'eth0': ipv6.gateway: gateway cannot be set if there are no addresses configured
The DHCPv6 exchange is succeeding then. The SonicWall is replying with status-code Success and assigning fd2f:4760:521f:3f3c::c0a8:456d to your DUID/IAID.
The missing piece is the IPv6 default route. The Router Advertisement should provide that. Switch back to ipv6.method auto and check what Router Advertisement the SonicWall is sending, particularly its RA flags.
To do this, make sure you are back on auto…
sudo nmcli connection modify "eth0" ipv6.method auto
sudo nmcli connection up "eth0"
then run radvdump command as user dza suggested to inspect the flags the firewall is broadcasting… sudo radvdump eth0
The output you shared confirms that the RA is advertising a prefix and a default route, with both SLAAC and stateful DHCPv6 supported. AdvAutonomous on AdvManagedFlag on
The issue is why NetworkManager isn’t using the RA-provided default route.
Are you using this host as a router (IP forwarding turned on perhaps)? Docker or VMs in use? Please show the results from