DHCPREQUEST alors que je suis en static !

Bonjour,

J’ai une Debian Lenny x64 en adresse IP fixe. J’ai installé dhcp3-server et configuré un scope dhcp qui fonctionne très bien pour toutes les machines de la maison. Mais mon serveur lui-même, qui est en statique, fait des request, et de manière aléatoire, change d’adresse IP. Or, je ne comprends pas à quel moment il fait un DHCPREQUEST puisqu’il est configuré en fixe. Tout d’un coup, il se retrouve avec l’adresse .150 qui est la dernière du scope…

Bien sûr, la mac address référencée est bien celle de mon serveur.

Voici le contenu du fichier interfaces:

[code]# The loopback network interface
auto lo
iface lo inet loopback

The primary network interface

auto eth0
iface eth0 inet static
address 172.30.47.250
netmask 255.255.255.0
gateway 172.30.47.1
broadcast 172.30.47.255
[/code]

Voici le contenu du fichier dhcpd.conf

[code]ddns-update-style none;

option domain-name-servers 172.30.47.1,8.8.8.8;

default-lease-time 86400;
max-lease-time 604800;

authoritative;

subnet 172.30.47.0 netmask 255.255.255.0 {
range 172.30.47.50 172.30.47.150;
option subnet-mask 255.255.255.0;
option broadcast-address 172.30.47.255;
option routers 172.30.47.1;
option nntp-server 129.132.2.21;
option domain-name “mondomain.com”;
}
[/code]

Et voici ce qu’il se passe dans syslog toutes les 15 secondes:

Aug 22 21:52:43 earth dhclient: DHCPREQUEST of 172.30.47.150 on eth0 to 255.255.255.255 port 67
Aug 22 21:52:43 earth dhcpd: DHCPREQUEST for 172.30.47.150 from e0:cb:4e:df:8d:a9 (earth) via eth0
Aug 22 21:52:43 earth dhcpd: DHCPACK on 172.30.47.150 to e0:cb:4e:df:8d:a9 (earth) via eth0

Je ne sais plus où regardé. Pour moi, il est totalement incongru et improbable que celà arrive du moment que je suis en inet static… le client DHCP ne devrait même pas entrer en ligne de compte o_0

Si qqun à une piste …

Apparemment le client DHCP dhclient alias dhclient3 tourne sur la machine, tu peux le confirmer en affichant la liste des processus par exemple avec ps aux ou top. Connaissant son PID, tu peux l’arrêter avec kill.

Alors pourquoi alors que eth0 est configurée en statique ?
Il y a peut-être un autre système de gestion du réseau du style network-manager qui fait sa cuisine dans son coin sans tenir compte de /etc/network/interfaces.

Ou bien si eth0 était configurée en DHCP, puis tu as modifié /etc/network/interfaces pour passer eth0 en statique sans l’arrêter avant, le client DHCP n’est pas arrêté et continue à tourner si la machine n’a pas été redémarrée depuis puisque le système de gestion du réseau a “oublié” que l’interface était auparavant en DHCP (le fichier d’état /etc/network/run/ifstate ne contient que la liste des interfaces activées, pas comment elles ont été configurées).

Sinon, je ne vois pas.

Merci pour ta réponse.

En effet:

Par contre, je me suis brouté. C’est pas une debian lenny, c’est une ubuntu. Parce que Lenny ne supportait pas mon file system ext4 existant.

Mais bon, c’est pas très différent.

Impossible de trouver si un network manager est installé. Mais le package “network-manager” lui ne l’est pas.

Y a-t-il un moyen de tracer ce qui lance le client dhcp ?

Si tu poses cette question, je suppose que ma deuxième hypothèse tombe à l’eau et que le client DHCP revient après un reboot.
Tu peux essayer de regarder le PID du processus parent (PPID) s’il existe encore (différent de 1). ps -Af l’affiche.

Sinon, c’est pas trop mon rayon, alors je bricolerai un “détournement” :

  • renommer /sbin/dhclient3 en /sbin/dhclient3-original
  • créer un script shell /sbin/dhclient3 qui enregistre la liste des processus (avec ps -Af) dans un fichier
  • redémarrer la machine
  • analyser le fichier résultat, la chaîne des PPID permettra peut-être de remonter jusqu’au responsable.

C’est du bricolage, mais j’ai pas mieux.

En faisant :

ça te donne un arbre des processus. Tu devrais voir lequel a lancé dhcpclient. :wink:

$ pstreeC’est moins complet mais du coup on le repère mieux… c’est “dhcdbd” le coupable… :079

Mais doit y’avoir network-manager aussi… :unamused: :

$ apt-cache show dhcdbd (...) Description: D-Bus interface to the ISC DHCP client dhcdbd provides a D-Bus interface to dhclient, the DHCP client from ISC, so applications such as NetworkManager can query and control dhclient. This allows an application-neutral interface for such operations.

@PascalHambourg: J’adooooooore ton “bricolage”… :007 … si si… chuis sérieux…

édit: héhé :mrgreen: … c’est bien network-manager visiblement…

$ apt-cache show network-manager (...) Depends: (...), dhcdbd(...)Un petit:$ apt-cache policy network-managerça donne quoi? :unamused:

:006

Ben en fait, le problème s’est résolu tout seul :frowning:

Y a un script qui s’appelle “network-interface” dans /etc/init.d

J’ai fait un network-interface status… puis network-interface restart

Les deux m’ont donné la même erreur:

status: Unknown parameter: INTERFACE

Et depuis, le problème est résolu. Alors, c’est clair, ce script est dans les choux, et je sais meme pas à quoi il sert. Mais du coup, mon probèlme a disparu. Même après un reboot… o_0

Les voies de l’informatique sont impénétrables.

Merci en tous cas à tous de vous être creuser les méninges quand meme.

Pour répondre à la question d’arborescence, j’ai bien sûr regarder, et il n’y avait pas de process parent pour dhclient.

Merci de relire les règles du forum : viewtopic.php?p=280153&f=7#p280153

et notamment celle-ci :