[CentOS] CentOS 7, NM, and IPv6

Thu Jul 13 09:08:41 UTC 2017
Fabian Arrotin <arrfab at centos.org>

On 12/07/17 16:13, m.roth at 5-cent.us wrote:
> Hi, folks,
> 
>    I and the other admin here have just been assigned a mission... here's
> what's happening: only very recently - the last week? our CentOS 7
> boxes, or at least some of them, will lose their IPv6 addresses, and
> not get it back.
> 
>    1. We're running dibbler on the same box that serves DHCP.
>    2. It's been working for many months.
>    3. The lease file remains in place.
>    4. It appears to try, several times, and then give up - as our
>        manager puts it, "I to renew the lease", "Here it is","Nope,
>        don't like that, try again", and eventually, after 4 or 5 or
>        so tries, gives up.
> 
>    One very show-stopping result of this is that NFS starts timing out.
> 
>    So: has anyone else seen this behaviour recently, and does anyone have
> some idea of what might be going on here?
> 
>        mark
> 

I admit that I'm a big fan of either static ipv6 or then just
slaac/radvd for automatic addr assignement.

But I was faced once with that dibbler problem, but don't know how the
dibbler daemon was configured (nor how it's configured at your side either).

From the discussion I had with the DC support people (online.net,
hosting company in France) they wanted me to use a dibbler client, which
I didn't want to, and they wanted me to specific the DUID that dibbler
at the server side would use to recognize the dhclient request.

So here is what I did (worth knowing that ipv6.method is set to 'ignore'
from a NM PoV) :

create the /etc/dhcp/dhclient.d/dhclient6.conf :
interface "eth0" {
   send dhcp6.client-id my:long:duid:id:that:dibbler:wants:bla:etc ;
}

And then "plumb" it in a NetworkManager dispatcher.d script (I *really*
like dispatcher.d script as you can take action when some interface are
up/down, etc ....):

/etc/NetworkManager/dispatcher.d/99-ipv6-online.sh :

#!/bin/bash
IF=$1
STATUS=$2

if [[ "$IF" = "eth0" && "$STATUS" = "up" ]] ; then
  logger "IF $IF status changed to $STATUS"
  sleep 10
  logger launching ipv6 client for $IF
  /usr/sbin/dhclient -cf /etc/dhcp/dhclient.d/dhclient6.conf -6 -P -v
eth0 -nw

fi

YMMV but I hope that it will help you

PS : never looked at this again but maybe NM has now a way to specify
that directly ?


-- 
Fabian Arrotin
The CentOS Project | http://www.centos.org
gpg key: 56BEC54E | twitter: @arrfab

-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 198 bytes
Desc: OpenPGP digital signature
URL: <http://lists.centos.org/pipermail/centos/attachments/20170713/7b7b386d/attachment-0005.sig>