Re: dhclient adding second address to desktop with static IP



On Fri, 9 Aug 2019 at 15:04, Thomas Haller <thaller redhat com> wrote:

On Fri, 2019-08-09 at 14:43 +0100, Mike Fleetwood wrote:

I fixed this earlier this morning.  I stopped the systemd managed
NetworkManager service.  Even with the service stopped dhclient was
still running in the control group managed by systemd.  Manually
killed
dhclient [1].
(Rethorical question, how is that even allowed?  Surely the point of
systemd using CGroups is so that it can identify all processes for a
service, which it did, and that when stopping a service it ensures
all
processes stop or are killed, but it didn't).

Then I manually removed the unwanted DHCP assigned IP address again
and
restarted the NetworkManager servers.  No dhclient running this time
[2].

Hi,

your reply here is not very clear (regarding my earlier question), but
I presume that you earlier only modified the profile without further
action.

No I didn't do anything to activate the profile.  I didn't know it was
even necessary.  I've been learning about NM as this thread progresses.

Prior to starting this thread I did use the Network Connections GUI app
to view the current configuration.  It was set for static IP addressing.
I did press save anyway, which I assume would have changed and activated
the profile but must not have.

Thanks for your help,
Mike


Note that there is a difference between a connection profile and a
(what NetworkManager calls) a device.

A profile is just a a bunch of settings that describe how to configure
a device. You see that in `nmcli connection show`, and that is what
what the commands under `nmcli connection` operate on.

A device is what you see in `nmcli device`, and (in case of most device
types like ethernet) corresponds to what you see in `ip link show`. A
device is subject to be configured by NetworkManager: by "activating" a
connection profile.


If you only modify a profile that is currently active, then these
changes don't take effect immediately. Commonly you need to re-activate
the profile first, like `nmcli connection up $PROFILE`.


Rebooting you machine would work too... but reboot is certainly not the
suggested way. Instead, just reactive the profile.



[1] Stopped NetworkManager, but dhclient still running.  Killed it.

When you stop the NetworkManager service it aims to leave all devices
up. The purpose is so that you can restart/update the service without
disconnecting yourself from the network.

Optimally, restarting NetworkManager should be seamless and you
shouldn't even notice. Hence, restart NetworkManager is never the right
approach to have some changes (to a profile) to take effect, because
NeworkManager tries *not* to do any changes.

You should (almost) never be required to restart NetworkManager.
Of course, you may restart to update the service or change certain
configuration options in NetworkManager.conf that cannot be reloaded
via `systemctl reload NetworkManager.service`. But usually it's the
wrong thing to do.


Systemd doesn't kill dhclient because

  # systemctl cat NetworkManager.service | grep KillMode
  KillMode=process



best,
Thomas


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