ip addr
shows:
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
link/ether 02:6d:5e:86:29:49 brd ff:ff:ff:ff:ff:ff
inet X.X.X.X/24 brd X.X.X.255 scope global eth0
valid_lft forever preferred_lft forever
inet6 2604:X:X:X::11/64 scope global deprecated
valid_lft forever preferred_lft 0sec
inet6 fe80::X:X:X:X/64 scope link
valid_lft forever preferred_lft forever
In particular, I'm wondering about the deprecated
and preferred_lft 0sec
in there.
My syslog has this repeated over and over:
dhclient: PRC: Address 2604:X:X:X::11 depreferred.
dhclient: PRC: Address 2604:X:X:X::11 expired.
dhclient: PRC: Bound lease is devoice of active addresses. Re-initializing.
dhclient: XMT: Solicit on eth0, interval 1010ms.
dhclient: RCV: Advertise message on eth0 from ::.
dhclient: XMT: Request on eth0, interval 920ms.
dhclient: RCV: Reply message on eth0 from ::.
Then about four seconds later, it does it again. I can see the address appearing in and disappearing from the ip addr
output.
I can ping the gateway while the address is present:
64 bytes from 2604:X:X:X::1: icmp_seq=1 ttl=255 time=0.318 ms
64 bytes from 2604:X:X:X::1: icmp_seq=2 ttl=255 time=0.277 ms
64 bytes from 2604:X:X:X::1: icmp_seq=3 ttl=255 time=0.336 ms
64 bytes from 2604:X:X:X::1: icmp_seq=4 ttl=255 time=0.324 ms
ping: sendmsg: Network is unreachable
ping: sendmsg: Network is unreachable
64 bytes from 2604:X:X:X::1: icmp_seq=7 ttl=255 time=0.316 ms
64 bytes from 2604:X:X:X::1: icmp_seq=8 ttl=255 time=0.321 ms
64 bytes from 2604:X:X:X::1: icmp_seq=9 ttl=255 time=0.331 ms
64 bytes from 2604:X:X:X::1: icmp_seq=10 ttl=255 time=0.327 ms
But if I try and ping this host from the Internet, it sees
IP6 :: > ff02:1:ff00:11: ICMP6, neighbor solicitation, who has 2604:X:X:X::11, length 24
multiple times, but never sends a response. ip maddr show
does list inet6 ff02::1:ff00:11
on eth0
.
At this point I've run out of things to look for. What might the problem be? In particular, what's going on with that immediately-expiring address from DHCP (it is the correct address, btw)?
Edit: I looked at the tcpdump in Wireshark, and I see that the leases are being given with a preferred lifetime of 4s and a valid lifetime of 8s, which is consistent with the timing in the syslog.
This is actually a VM running on an OpenContrail network, but I want to rule out it simply being a Linux issue first.