#386094 /etc/init.d/networking restart doesn't kill dhclient when /etc/network/interfaces is set to static IP

Package:
ifupdown
Source:
ifupdown
Description:
high level tools to configure network interfaces
Submitter:
Steffan Davies
Date:
2010-11-30 20:42:07 UTC
Severity:
normal
#386094#5
Date:
2006-09-05 09:14:05 UTC
From:
To:
Package: netbase
Version: 4.25

Hi -

On a couple of etch systems we have here, some odd behaviour has been
observed:

  * the system is installed to use dhcp (for convenience)
  * /etc/network/interfaces is edited to set a static IP for the (sole)
    ethernet interface, eth0
  * /etc/init.d/networking restart is run
  * the system correctly sets up eth0
  * BUT some hours later, dhclient reconfigures the interface to DHCP

Example uname -a :
Linux kurt 2.6.16-2-686 #1 Sat Jul 15 21:59:21 UTC 2006 i686 GNU/Linux

The expected behaviour (by me - perhaps there's a good reason why this
shouldn't be so) would be for the networking init script to kill off any
lingering dhclient processes when networking is restarted.

Cheers,

Steff

#386094#12
Date:
2007-12-27 16:45:46 UTC
From:
To:
One solution to the problem you reported in
http://bugs.debian.org/386094 is to take down the interface before
editing /etc/network/interfaces, as ifupdown reads /e/n/i to figure out
what to do on ifdown. If there's no "inet dhcp" there anymore, it won't
kill off the dhcp clients....
(And yes, I agree it would be nice if ifupdown was more reliable and you
wouldn't have to know these things as a user. This would need quite a
big change in how ifupdown works AFAIK.)

HTH. HAND.

#386094#15
Date:
2007-12-27 17:13:08 UTC
From:
To:
Ifupdown could copy the configuration of an interface that is upped to a
temporary file (under /var/run/network) and use that definition (and not the
one in /e/n/i) to take it down or (at least) warn the user that the
configuration changed and some erros might occur. This might not be that easy
to implement, however.

Regards

Javier

#386094#20
Date:
2010-11-30 20:08:13 UTC
From:
To:
I'm still seeing this issue on the latest Debian Squeeze. Specifically,
I changed the interface configuration and then ran 'ifdown eth0; ifup
eth0;', which left an orphan dhclient running. In the case of restarting
all networking, it would probably be adequate to just killall dhclient,
but in the specific case of downing an interface which was previously
configured by dhcp, more careful attention may be required. Perhaps the
best solution to both would be to store the configuration used to raise
an interface and then use that same configuration to lower it even if
the system configuration has since changed.

Cheers,