4

I was noticing Network Manager and nm-applet were taking a lot of CPU, and in the process of inspecting it, I ran ip a. There were thousands of temporary addresses associated with my Ethernet device. To give an idea, here's a word count:

ip a | wc
  23128  120541 1537623

Here's a small (redacted) excerpt. I took this today, and the output is much shorter (after 3 hours uptime, ip a amounts to approximately 2700 lines). There aren't many people using the network today.

2: enp2s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
    link/ether (MAC) brd ff:ff:ff:ff:ff:ff
    inet 10.*.*.*/16 brd 10.*.255.255 scope global dynamic noprefixroute enp2s0
       valid_lft 6533sec preferred_lft 6533sec
    inet6 fd9d:*******/128 scope global noprefixroute 
       valid_lft forever preferred_lft forever
    inet6 fd6d:*******/64 scope global temporary dynamic 
       valid_lft 7122sec preferred_lft 1722sec
    inet6 fd6d:*******/64 scope global dynamic mngtmpaddr noprefixroute

    (several lines skipped)

    inet6 fd9d:*******/64 scope global temporary deprecated dynamic 
       valid_lft 4593sec preferred_lft 0sec

As soon as I plug in the Ethernet cable, Network Manager stars registering temporary IPv6 addresses, at an approximate rate of 2 addresses per second.

daemon.log shows multiple messages akin to the following

Feb 15 17:12:36 pulga nm-dispatcher: req:18 'dhcp6-change' [enp2s0]: new request (1 scripts)
Feb 15 17:12:36 pulga nm-dispatcher: req:18 'dhcp6-change' [enp2s0]: start running ordered scripts...

But they stop after a while.

On the other hand, syslog is littered with messages like the following:

Feb 15 17:12:51 pulga kernel: [  639.006713] IPv6: ipv6_create_tempaddr: retry temporary address regeneration

I also keep getting a duplicate IP warning in messages when connected to our wireless network. Is this unrelated, or does it suggest something wrong with our network configuration?

Feb 15 17:13:49 pulga kernel: [  696.702519] IPv6: wlp3s0: IPv6 duplicate address fd9d:*:*::* used by e0:d5:*:*:*:* detected!
Feb 15 17:13:49 pulga NetworkManager[693]: <info>  [1550265229.6930] device (wlp3s0): ipv6: duplicate address check failed for the fd9d:*:*::*/128 lft forever pref forever lifetime 668-0[*****,*****] dev 3 flags permanent,noprefixroute,tentative,0x8 src kernel address
  • Can you show a sample of what is showing in ip a? – Michael Hampton Feb 16 at 1:16
  • I added a small excerpt. – giusti Feb 17 at 18:11
  • Now can you remove the unnecessary asterisks? – Michael Hampton Feb 17 at 19:01
  • Could you explain why they are unnecessary? I don't want to share real addresses. I can tell you however that they are all unique. – giusti Feb 17 at 19:24
  • It's only necessary to obscure potentially sensitive information. ULAs might qualify sometimes, but RFC1918 addresses and MAC addresses are pretty much never sensitive. – Michael Hampton Feb 17 at 19:32
3

You might have misconfigured router(s) handing down conflicting IPv6 automatic addresses.

Disable IPv6 as a temporary measure, and have a friendly chat with the network admistrator/helpdesk services of the network you are using.

To disable IPv6 on runtime do:

sudo  sysctl -w net.ipv6.conf.all.disable_ipv6=1
sudo  sysctl -w net.ipv6.conf.default.disable_ipv6=1

You might also take advantage of the reduced background noise, after applying these instructions in the system, to try to debug a little further the problem.

For listening to IPv6 packets, even after disabling the service in the kernel, you can do:

sudo tcpdump -i eth0 -vv ip6

For disabling it upon boot, permanently, you add to /etc/sysctl.conf these lines:

net.ipv6.conf.all.disable_ipv6=1
net.ipv6.conf.default.disable_ipv6=1

Beware that depending on the distribution, that disabling IPv6 can break the odd service (xinetd, postfix or Apache in some cases), however you will notice the services won't start and the fixes are usually fairly trivial (and easily googable).

  • Thank you. I have been meaning to disable IPv6 for a while, but I thought it would be much more complicated. How can I make these changes permanent? – giusti Feb 15 at 22:01
  • related: github.com/ipython/ipython/issues/5802 ; I had it running in a VM of mine with IPv4 only, so it is possible. however the Jupyter part was set up by the interested professor. – Rui F Ribeiro Feb 15 at 23:20

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.