¿Por qué dhclient todavía se está ejecutando cuando elijo IP estática?

15

Modifico dhcp a estático en / etc / network / interfaces (como a continuación).

# The primary network interface
auto eth0
iface eth0 inet static
netmask 255.255.0.0
address 10.10.130.128
gateway 10.10.1.1

Luego reinicie la interfaz.

$ sudo ifdown eth0; sudo ifup eth0
...
$ ifconfig
eth0      Link encap:Ethernet 
          inet addr:10.10.130.128  Bcast:10.10.255.255  Mask:255.255.0.0

Entonces la nueva dirección entra en juego.

¿Pero DHCP sigue ahí?

$ ps aux | grep dhc
root    ... dhclient3 -e IF_METRIC=100 -pf /var/run/dhclient.eth0.pid -lf /var/lib/dhcp/dhclient.eth0.leases -1 eth0

¿Eso es normal? Si no es así, ¿cómo reiniciar la interfaz en IP estática y detener DHCP al mismo tiempo?

Muchas gracias.

usuario276851
fuente

Respuestas:

22
  1. Primero tiene que apagar la interfaz (en modo dhcp) sudo ifdown eth0
  2. Luego edite la configuración nano /etc/network/interfaces

    # The primary network interface
    auto eth0
    iface eth0 inet static
    netmask 255.255.0.0
    address 10.10.130.128
    gateway 10.10.1.1
    
  3. Vuelva a colocar la interfaz sudo ifup eth0

De dhclientlo contrario no se apaga correctamente,

cloruro de polivinilo
fuente
1
Lo sentimos, pero ¿alguien puede explicar exactamente cómo difiere esto de lo que se hace en el OP aquí? He leído esto tres veces y parece que no puedo notar la diferencia.
fostandy
¿Se trata de modificar ('tocar') el archivo para que cambie la fecha? ¿Se supone que solo edite el archivo DESPUÉS de haber bajado la interfaz? Si es así, ¿cómo puedo 'deshacer' el hecho de que lo he editado antes?
fostandy
1
@Bruno: gracias por aclarar. Por curiosidad, ¿qué haces si ya has editado irrevocablemente el /etc/network/interfacesarchivo? ¿Hay alguna manera de forzar un restablecimiento a los valores predeterminados y comenzar de nuevo?
fostandy
77
Estaba desconcertado de por qué debería hacer una diferencia, pero luego un amigo inteligente lo explicó muy bien. El problema es que si el archivo se edita y luego ifdownse ejecuta, el administrador de red no sabe que debe detenerse dhclient, ya que todo lo que ve en el interfacesarchivo es una entrada estática. Después, la interfaz está inactiva, emite ifuplecturas correctas y aplica la configuración estática, pero tampoco sabe que se dhclienthabía iniciado.
paracycle
2

Tuve el mismo problema (Ubuntu 16.04). Sin embargo, esta fue una instancia en la nube y no pude bajar la interfaz tan fácilmente.

Respuesta corta: eliminé el archivo /etc/network/interfaces.d/50-cloud-init.cfgifup fue activado por ese archivo específico.

Respuesta larga: configuré la interfaz usando /etc/network/interfacesuna dirección IP estática, pero todavía encontré en el daemon.log que dhclient todavía solicitaba IP del DHCP y dhclient se inició a través de systemd. Específicamente, systemd llamó a la unidad networking.service, que llamó a ifup, que leía tanto el archivo de interfaces como el archivo 50-cloud-init.cfg. Resultando en algunos conflictos, pero sigue siendo una red funcional.

Patrick Deelman
fuente
Tuve exactamente el mismo problema, y ​​aprendí por las malas, que un archivo posterior (como 99-eth0.cfg) ¡NO estaba anulando las declaraciones anteriores! Entonces, gracias por tu aporte;)
Daywalker
1

Descubrí que esto se debía a que NetworkManager de gnome seguía ejecutándose y pensaba que estaba a cargo del dispositivo. En retrospectiva, esto debería haber sido obvio, ya que psmostró que dhclient estaba siendo lanzado por NetworkManager.

Una vez que reinicié mi sistema, el dispositivo pasó a "no administrado" en NetworkManager y dejó de intentar configurarlo. Tal vez podría haber logrado lo mismo con solo detener / reiniciar NetworkManager, no estoy seguro.

fostandy
fuente