DHCP lease renewing but not being assigned to device



He folks,

I'm having some trouble with a Fedora 25 machine using NetworkManager.
The DHCP lease from my ISP expires after two hours, and when it
happens my internet goes down. The device is still up, but it shows no
IP address.

It looks like dhclient attempted to renew the lease (the lease file
shows two (or maybe four?) leases) but the device has no inet4
address. All the leases showed my current and correct IP address.
Other than the dates, there's no real difference between them.

The info below was captured when it was in the "bad" state, where I
had no ip address. "nmcli con up enp5s0" fixes it.

Below I've included the time in UTC (to correlate with leases), the
lease file, the state of the device according to ip, the device
configuration in /etc/sysconfig, and the contents of "nmcli connection
show enp5s0", some additional logging, software versions, etc.

It's a headless server, there's no graphical desktop running.
Everything should be controlled by NetworkManager.

Could anyone please suggest something to stop this from happening, or
some additional places I could look for the root cause?

Thanks,
Adam


$ cat /etc/fedora-release
Fedora release 25 (Twenty Five)

$ rpm -qa | grep NetworkManager
NetworkManager-1.4.4-4.fc25.x86_64
NetworkManager-libnm-1.4.4-4.fc25.x86_64
NetworkManager-tui-1.4.4-4.fc25.x86_64
NetworkManager-vpnc-1.2.4-1.fc25.x86_64
NetworkManager-team-1.4.4-4.fc25.x86_64


$ date -u
UTC Mon May  8 15:53:01 UTC 2017

$ ip add show enp5s0:

enp5s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel
state UP group default qlen 1000
    link/ether 80:ee:73:77:d1:ad brd ff:ff:ff:ff:ff:ff
    inet6 fe80::b9a0:1e03:a05b:4bd5/64 scope link
       valid_lft forever preferred_lft forever

$ cat /var/lib/NetworkManager/dhclient-b34d4f03-56b4-4597-a454-57bd4f7b4f3d-enp5s0.lease
default-duid "\000\004l\025DS\375xG\301\24301o\312e\022\253";
lease {
  interface "enp5s0";
  fixed-address <my public IP>;
  option subnet-mask 255.255.255.0;
  option dhcp-lease-time 7200;
  option routers <my ISPs gateway>;
  option dhcp-message-type 5;
  option dhcp-server-identifier <my ISPs gateway>;
  option domain-name-servers <my ISPs DNS servers>;
  option domain-name "<my ISPs domain name>";
  renew 1 2017/05/08 14:34:14;
  rebind 1 2017/05/08 15:31:23;
  expire 1 2017/05/08 15:46:23;
}
lease {
  interface "enp5s0";
  fixed-address <my public IP>;
  option subnet-mask 255.255.255.0;
  option routers <my ISPs gateway>;
  option dhcp-lease-time 7200;
  option dhcp-message-type 5;
  option domain-name-servers <my ISPs DNS servers>;
  option dhcp-server-identifier <my ISPs gateway>;
  option domain-name "<my ISPs domain name>";
  renew 1 2017/05/08 14:38:18;
  rebind 1 2017/05/08 15:37:01;
  expire 1 2017/05/08 15:52:01;
}
lease {
  interface "enp5s0";
  fixed-address <my public IP>;
  option subnet-mask 255.255.255.0;
  option routers <my ISPs gateway>;
  option dhcp-lease-time 7200;
  option dhcp-message-type 5;
  option domain-name-servers <my ISPs DNS servers>;
  option dhcp-server-identifier <my ISPs gateway>;
  option domain-name "<my ISPs domain name>";
  renew 1 2017/05/08 15:33:09;
  rebind 1 2017/05/08 16:23:18;
  expire 1 2017/05/08 16:38:18;
}
lease {
  interface "enp5s0";
  fixed-address <my public IP>;
  option subnet-mask 255.255.255.0;
  option routers <my ISPs gateway>;
  option dhcp-lease-time 7200;
  option dhcp-message-type 5;
  option domain-name-servers <my ISPs DNS servers>;
  option dhcp-server-identifier <my ISPs gateway>;
  option domain-name "<my ISPs domain name>";
  renew 1 2017/05/08 16:26:14;
  rebind 1 2017/05/08 17:18:09;
  expire 1 2017/05/08 17:33:09;
}

$ cat /etc/sysconfig/network-scripts/ifcfg-enp5s0
HWADDR=<MAC>
TYPE=Ethernet
BOOTPROTO=dhcp
DNS1=<DNS 1>
DNS2=<DNS 2>
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV4_ROUTE_METRIC=100
IPV4_DNS_PRIORITY=100
IPV6INIT=yes
IPV6_AUTOCONF=no
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=stable-privacy
IPV6_DNS_PRIORITY=100
NAME=enp5s0
UUID=b34d4f03-56b4-4597-a454-57bd4f7b4f3d
DEVICE=enp5s0
ONBOOT=yes
ZONE=public
PEERDNS=yes
PEERROUTES=yes

$ nmcli sho con enp50

connection.id:                          enp5s0
connection.uuid:                        b34d4f03-56b4-4597-a454-57bd4f7b4f3d
connection.stable-id:                   --
connection.interface-name:              enp5s0
connection.type:                        802-3-ethernet
connection.autoconnect:                 yes
connection.autoconnect-priority:        0
connection.timestamp:                   1494258511
connection.read-only:                   no
connection.permissions:
connection.zone:                        public
connection.master:                      --
connection.slave-type:                  --
connection.autoconnect-slaves:          -1 (default)
connection.secondaries:
connection.gateway-ping-timeout:        0
connection.metered:                     unknown
connection.lldp:                        -1 (default)
802-3-ethernet.port:                    --
802-3-ethernet.speed:                   0
802-3-ethernet.duplex:                  --
802-3-ethernet.auto-negotiate:          yes
802-3-ethernet.mac-address:             <My MAC>
802-3-ethernet.cloned-mac-address:      --
802-3-ethernet.generate-mac-address-mask:--
802-3-ethernet.mac-address-blacklist:
802-3-ethernet.mtu:                     auto
802-3-ethernet.s390-subchannels:
802-3-ethernet.s390-nettype:            --
802-3-ethernet.s390-options:
802-3-ethernet.wake-on-lan:             1 (default)
802-3-ethernet.wake-on-lan-password:    --
ipv4.method:                            auto
ipv4.dns:                               <my ISPs DNS servers>
ipv4.dns-search:
ipv4.dns-options:                       (default)
ipv4.dns-priority:                      100
ipv4.addresses:
ipv4.gateway:                           --
ipv4.routes:                            { ip = <route 1>/32, nh =
<route 2>, mt = 100 }
ipv4.route-metric:                      100
ipv4.ignore-auto-routes:                no
ipv4.ignore-auto-dns:                   no
ipv4.dhcp-client-id:                    --
ipv4.dhcp-timeout:                      0
ipv4.dhcp-send-hostname:                yes
ipv4.dhcp-hostname:                     --
ipv4.dhcp-fqdn:                         --
ipv4.never-default:                     no
ipv4.may-fail:                          yes
ipv4.dad-timeout:                       -1 (default)
ipv6.method:                            link-local
ipv6.dns:
ipv6.dns-search:
ipv6.dns-options:                       (default)
ipv6.dns-priority:                      100
ipv6.addresses:
ipv6.gateway:                           --
ipv6.routes:
ipv6.route-metric:                      -1
ipv6.ignore-auto-routes:                no
ipv6.ignore-auto-dns:                   no
ipv6.never-default:                     no
ipv6.may-fail:                          yes
ipv6.ip6-privacy:                       -1 (unknown)
ipv6.addr-gen-mode:                     stable-privacy
ipv6.dhcp-send-hostname:                yes
ipv6.dhcp-hostname:                     --
ipv6.token:                             --
GENERAL.NAME:                           enp5s0
GENERAL.UUID:                           b34d4f03-56b4-4597-a454-57bd4f7b4f3d
GENERAL.DEVICES:                        enp5s0
GENERAL.STATE:                          activated
GENERAL.DEFAULT:                        yes
GENERAL.DEFAULT6:                       no
GENERAL.VPN:                            no
GENERAL.ZONE:                           public
GENERAL.DBUS-PATH:
/org/freedesktop/NetworkManager/ActiveConnection/34
GENERAL.CON-PATH:
/org/freedesktop/NetworkManager/Settings/0
GENERAL.SPEC-OBJECT:                    /
GENERAL.MASTER-PATH:                    --
DHCP4.OPTION[1]:                        requested_routers = 1
DHCP4.OPTION[2]:                        requested_domain_search = 1
DHCP4.OPTION[3]:                        requested_time_offset = 1
DHCP4.OPTION[4]:                        requested_domain_name = 1
DHCP4.OPTION[5]:
requested_rfc3442_classless_static_routes = 1
DHCP4.OPTION[6]:                        requested_classless_static_routes = 1
DHCP4.OPTION[7]:                        dhcp_server_identifier = <my
ISPs gateway>
DHCP4.OPTION[8]:                        requested_wpad = 1
DHCP4.OPTION[9]:                        requested_broadcast_address = 1
DHCP4.OPTION[10]:                       next_server = 0.0.0.0
DHCP4.OPTION[11]:                       broadcast_address = <my public
broadcast address>
DHCP4.OPTION[12]:                       requested_interface_mtu = 1
DHCP4.OPTION[13]:                       requested_subnet_mask = 1
DHCP4.OPTION[14]:                       routers = <my ISPs gateway>
DHCP4.OPTION[15]:                       dhcp_message_type = 5
DHCP4.OPTION[16]:                       ip_address = <my ISPs gateway>26
DHCP4.OPTION[17]:                       requested_static_routes = 1
DHCP4.OPTION[18]:                       expiry = 1494264789
DHCP4.OPTION[19]:                       requested_domain_name_servers = 1
DHCP4.OPTION[20]:                       requested_nis_servers = 1
DHCP4.OPTION[21]:                       requested_ntp_servers = 1
DHCP4.OPTION[22]:                       domain_name = <my ISPs domain name>
DHCP4.OPTION[23]:                       dhcp_lease_time = 7200
DHCP4.OPTION[24]:                       domain_name_servers = <my ISPs
DNS servers>
DHCP4.OPTION[25]:                       requested_ms_classless_static_routes = 1
DHCP4.OPTION[26]:                       subnet_mask = 255.255.255.0
DHCP4.OPTION[27]:                       network_number = <my public subnet>
DHCP4.OPTION[28]:                       requested_host_name = 1
DHCP4.OPTION[29]:                       requested_nis_domain = 1
IP6.ADDRESS[1]:                         fe80::b9a0:1e03:a05b:4bd5/64

I forgot to get journalctl output for that exact time, but they all
look about the same. Here's an example:

May 08 20:51:47 <my host name> dhclient[20294]: DHCPREQUEST on enp5s0
to <my ISPs gateway> port 67 (xid=0x23d50d70)
May 08 20:51:47 <my host name> dhclient[20294]: DHCPACK from <my ISPs
gateway> (xid=0x23d50d70)
May 08 20:51:47 <my host name> NetworkManager[605]: <info>
[1494291107.5327] dhcp4 (enp5s0):   address <my external IP>
May 08 20:51:47 <my host name> NetworkManager[605]: <info>
[1494291107.5333] dhcp4 (enp5s0):   plen 24 (255.255.255.0)
May 08 20:51:47 <my host name> NetworkManager[605]: <info>
[1494291107.5333] dhcp4 (enp5s0):   gateway <my ISPs gateway>
May 08 20:51:47 <my host name> NetworkManager[605]: <info>
[1494291107.5333] dhcp4 (enp5s0):   server identifier <my ISPs
gateway>
May 08 20:51:47 <my host name> NetworkManager[605]: <info>
[1494291107.5334] dhcp4 (enp5s0):   lease time 7200
May 08 20:51:47 <my host name> NetworkManager[605]: <info>
[1494291107.5334] dhcp4 (enp5s0):   nameserver '71.252.0.12'
May 08 20:51:47 <my host name> NetworkManager[605]: <info>
[1494291107.5334] dhcp4 (enp5s0):   nameserver '71.242.0.12'
May 08 20:51:47 <my host name> NetworkManager[605]: <info>
[1494291107.5334] dhcp4 (enp5s0):   domain name '<my ISP>'
May 08 20:51:47 <my host name> NetworkManager[605]: <info>
[1494291107.5334] dhcp4 (enp5s0): state changed bound -> bound
May 08 20:51:47 <my host name> dhclient[20294]: bound to <my external
IP> -- renewal in 3267 seconds.


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]