I am looking for some help getting IPv6 configured properly on a Fedora 27 system. I have one system which was installed fresh with Fedora 27, that system is working properly, it receives both IPv4 and IPv6 addresses assigned by my router (running latest LEDE release). I have a second system which receives the expected IPv4 address but does not receive an IPv6 address.
I notice that on the working system NetworkManager shows two instances of dhcp client: $ systemctl status NetworkManager ● NetworkManager.service - Network Manager Loaded: loaded (/usr/lib/systemd/system/NetworkManager.service; enabled; vendor preset: enabled) ... CGroup: /system.slice/NetworkManager.service ├─10930 /usr/sbin/NetworkManager --no-daemon ├─10991 /sbin/dhclient -d -q -sf /usr/libexec/nm-dhcp-helper -pf /var/run/dhclient-enp0s25.pid -lf /var/lib/Netwo └─11106 /sbin/dhclient -d -q -6 -N -sf /usr/libexec/nm-dhcp-helper -pf /var/run/dhclient6-enp0s25.pid -lf /var/li
On the system with no working IPv6 address the second entry which begins "/sbin/dhclient -d -q -6" is not present: CGroup: /system.slice/NetworkManager.service ├─9804 /usr/sbin/NetworkManager --no-daemon ├─9872 /sbin/dhclient -d -q -sf /usr/libexec/nm-dhcp-helper -pf /var/run/dhclient-enp3s4f0.pid -lf /var/lib/Netwo └─9875 /sbin/dhclient -d -q -sf /usr/libexec/nm-dhcp-helper -pf /var/run/dhclient-enp3s4f1.pid -lf /var/lib/Netwo
(In both cases the dhclient arguments are truncated, ran off the edge of my terminal)
This is from the ifcfg file for the primary interface, it seems to have the correct IPv6 settings, at least I do not see anything obviously different than the working system:
# IPv4 settings BOOTPROTO=dhcp # Not sure this is needed, doc says PPP only DEFROUTE=yes IPV4_FAILURE_FATAL=yes PEERDNS=yes PEERROUTES=yes
# IPv6 settings IPV6INIT=yes IPV6_AUTOCONF=yes IPV6_DEFROUTE=yes IPV6_FAILURE_FATAL=no #IPV6_ADDR_GEN_MODE=stable-privacy #IPV6_PRIVACY=rfc3041 #IPV6_PRIVACY_PREFER_PUBLIC_IP=yes IPV6_PEERDNS=yes IPV6_PEERROUTES=yes DHCPV6C=yes
# Firewall settings ZONE=FedoraWorkstation
One thing odd that I note in the messages file:
NetworkManager[9804]: <warn> [1520343008.2540] dhcp6 (enp3s4f1): request timed out NetworkManager[9804]: <info> [1520343008.2542] dhcp6 (enp3s4f1): state changed unknown -> timeout NetworkManager[9804]: <info> [1520343008.2638] dhcp6 (enp3s4f1): canceled DHCP transaction, DHCP client pid 9916 NetworkManager[9804]: <info> [1520343008.2638] dhcp6 (enp3s4f1): state changed timeout -> done
enp3s4f1 is a secondary interface, I may not have the DHCPv6 server setup correctly to hand out addresses on that interface. I see no dhcp6 messages for enp3s4f0. Is there a bug that would cause dhcp6 client to stop if the first interface timed out rather than moving on to the next interface?
thanks for any help, Chris C
On 03/07/18 03:50, Chris Caudle wrote:
I am looking for some help getting IPv6 configured properly on a Fedora 27 system. I have one system which was installed fresh with Fedora 27, that system is working properly, it receives both IPv4 and IPv6 addresses assigned by my router (running latest LEDE release). I have a second system which receives the expected IPv4 address but does not receive an IPv6 address.
I notice that on the working system NetworkManager shows two instances of dhcp client:
Some of questions.
What desktop are you using? The NetworkManager GUI displays are a bit different between KDE and GNOME.
Are you using the GUI to configure the interfaces or doing it manually?
I think the problem is that in your config file you have both
IPV6_AUTOCONF=yes
and
DHCPV6C=yes
I don't use DHCP for IPv6 in my network since Android devices can't use it. So, I manually configure IPv6 for systems where I want a "short" IPv6 address and they are "servers". For the other systems I just let them use the IPv6 native auto-discovery do its things.
I believe with both of those parameters defined the IPV6_AUTOCONF takes precedence and will prevent the dhcp-client from starting.
FWIW, using the GUI on KDE I could not force my config files to have both of those defined with "yes".
Could be the case that AUTOCONF and DHCPv6 are mutually exclusive now. I have a CentOS 7.4 machine which seems to be running correctly with both IPV6_AUTOCONF=yes and DHCPV6C=yes, but that distribution has dhclient provided by dhclient-4.2.5-58.el7.centos.1 and Fedora 27 is using rhclient from dhcp-client-4.3.6-9.fc27. Could be changed behavior between 4.2 and 4.3 of dhclient.
Against that hypothesis is that the dhclient did log that it was requesting on the second interface, which has the same settings in the ifcfg file. I'll try some different settings tonight. I'm pretty sure that the current version of the file was hand edited, I have used nmcli and nmtui in the past. I just edited the connection with nmtui and it did use only the autoconf directive, not the dhcp, so I will see if that worked. It did not just from restarting NetworkManager, I will have to try later bringing the interface down all the way and restarting. I am connected over that network via ssh currently so I can't easily shut it down.
thanks, Chris C
On 03/07/18 07:04, Chris Caudle wrote:
Could be the case that AUTOCONF and DHCPv6 are mutually exclusive now. I have a CentOS 7.4 machine which seems to be running correctly with both IPV6_AUTOCONF=yes and DHCPV6C=yes, but that distribution has dhclient provided by dhclient-4.2.5-58.el7.centos.1 and Fedora 27 is using rhclient from dhcp-client-4.3.6-9.fc27. Could be changed behavior between 4.2 and 4.3 of dhclient.
Against that hypothesis is that the dhclient did log that it was requesting on the second interface, which has the same settings in the ifcfg file. I'll try some different settings tonight. I'm pretty sure that the current version of the file was hand edited, I have used nmcli and nmtui in the past. I just edited the connection with nmtui and it did use only the autoconf directive, not the dhcp, so I will see if that worked. It did not just from restarting NetworkManager, I will have to try later bringing the interface down all the way and restarting. I am connected over that network via ssh currently so I can't easily shut it down.
OK.
Just one thing to note. Auto-Configuration, also known as stateless, will only work if the router is configured to supply "router advertisements"
FWIW, I do think a network can have both. Just not sure if a client can define both. I would be concerned with inconsistent addresses being assigned.
I've just not been able to test it since I only have one router on my system and it can only be configured for "stateless" or "stateful (dhcp)" operation.
On 03/07/18 07:04, Chris Caudle wrote:
Could be the case that AUTOCONF and DHCPv6 are mutually exclusive now. I have a CentOS 7.4 machine which seems to be running correctly with both IPV6_AUTOCONF=yes and DHCPV6C=yes, but that distribution has dhclient provided by dhclient-4.2.5-58.el7.centos.1 and Fedora 27 is using rhclient from dhcp-client-4.3.6-9.fc27. Could be changed behavior between 4.2 and 4.3 of dhclient.
Against that hypothesis is that the dhclient did log that it was requesting on the second interface, which has the same settings in the ifcfg file. I'll try some different settings tonight. I'm pretty sure that the current version of the file was hand edited, I have used nmcli and nmtui in the past. I just edited the connection with nmtui and it did use only the autoconf directive, not the dhcp, so I will see if that worked. It did not just from restarting NetworkManager, I will have to try later bringing the interface down all the way and restarting. I am connected over that network via ssh currently so I can't easily shut it down.
FWIW, I manually added DHCPV6C=yes to a config file on a VM. As I mentioned, my router can only support one address assignment method at a time and it is configured for "stateless".
With that said, the only message that appears in the journal is...
Mar 07 11:02:24 f27k.greshko.com NetworkManager[811]: <info> [1520391744.1479] dhcp-init: Using DHCP client 'dhclient'
There is no indication from the status of NetworkManager that /sbin/dhclient was ever started and it isn't running.
So, if your router is configured for "stateful (dhcp)" it is possible it won't simultaneously support "stateless". Therefore I would try...
IPV6_AUTOCONF=no DHCPV6C=yes
On 03/07/18 11:16, Ed Greshko wrote:
On 03/07/18 07:04, Chris Caudle wrote:
Could be the case that AUTOCONF and DHCPv6 are mutually exclusive now. I have a CentOS 7.4 machine which seems to be running correctly with both IPV6_AUTOCONF=yes and DHCPV6C=yes, but that distribution has dhclient provided by dhclient-4.2.5-58.el7.centos.1 and Fedora 27 is using rhclient from dhcp-client-4.3.6-9.fc27. Could be changed behavior between 4.2 and 4.3 of dhclient.
Against that hypothesis is that the dhclient did log that it was requesting on the second interface, which has the same settings in the ifcfg file. I'll try some different settings tonight. I'm pretty sure that the current version of the file was hand edited, I have used nmcli and nmtui in the past. I just edited the connection with nmtui and it did use only the autoconf directive, not the dhcp, so I will see if that worked. It did not just from restarting NetworkManager, I will have to try later bringing the interface down all the way and restarting. I am connected over that network via ssh currently so I can't easily shut it down.
FWIW, I manually added DHCPV6C=yes to a config file on a VM. As I mentioned, my router can only support one address assignment method at a time and it is configured for "stateless".
With that said, the only message that appears in the journal is...
Mar 07 11:02:24 f27k.greshko.com NetworkManager[811]: <info> [1520391744.1479] dhcp-init: Using DHCP client 'dhclient'
There is no indication from the status of NetworkManager that /sbin/dhclient was ever started and it isn't running.
So, if your router is configured for "stateful (dhcp)" it is possible it won't simultaneously support "stateless". Therefore I would try...
IPV6_AUTOCONF=no DHCPV6C=yes
Oh, for completeness I went back to my VM and configured my interface with
IPV6_AUTOCONF=no DHCPV6C=yes
And this is running....
/sbin/dhclient -d -q -6
But I have no global IPv6 address since there is no dhcpv6 server available.
On 03/07/18 11:23, Ed Greshko wrote:
And this is running....
/sbin/dhclient -d -q -6
Ah, Hah!
After a time that process exited. And this did show up in the journal.
Mar 07 11:20:37 f27gq.greshko.com NetworkManager[740]: <info> [1520392837.1581] dhcp6 (enp0s3): state changed unknown -> timeout Mar 07 11:20:37 f27gq.greshko.com NetworkManager[740]: <info> [1520392837.1606] dhcp6 (enp0s3): canceled DHCP transaction, DHCP client pid 1074 Mar 07 11:20:37 f27gq.greshko.com NetworkManager[740]: <info> [1520392837.1606] dhcp6 (enp0s3): state changed timeout -> done
So, it would seem that communication between your system and the DHCP server is the source of the problem.
(Sorry for the fragmentation. I'm doing a poor job of multitasking this morning)