Plus d'eth0 en dhcp

Bonjour,

je post ici parce que j’ai un problème d’ip avec un linux embarqué (dérivé de Debian).
Quand je suis en IP fixe, il n’y a pas de soucis. Ensuite, je pense en dhcp et la, plus rien. Je tape la commande /etc/init.d/networking restart, je n’est de eth0

[quote]sam9-l9260:~# ifconfig

lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
UP LOOPBACK RUNNING MTU:16436 Metric:1
RX packets:17475 errors:0 dropped:0 overruns:0 frame:0
TX packets:17475 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:1170475 (1.1 MiB) TX bytes:1170475 (1.1 MiB)[/quote]

Le fichier interfaces :

[quote]auto lo
iface lo inet loopback

auto eth0
iface eth0 inet dhcp[/quote]

Voila, donc si vous avez une idée du pourquoi ça marche pas merci de me la donner :slightly_smiling:.

Bonne journée.

Salut,
As-tu essayé les commandes suivantes :
ifconfig eth0 inet down
ifconfig eth0 inet up dhcp

Pour les premières commandes, j’ai de nouveau une ip mais c’est celle que j’avais quand j’étais en ip fixe, elle n’a pas était délivré par le serveur.

Pour la dernière ça donne ça :

[quote]sam9-l9260:~# ifconfig eth0 inet up dhcp
eth0: link up (100/Full)
dhcp: Host name lookup failure
ifconfig: `–help’ gives usage information.[/quote]

“Embarqué”, ça veut souvent dire avec des trucs en moins. Il y a bien au moins un client DHCP que Debian puisse utiliser comme dhclient ou dhclient3 (paquet dhcp3-client, par défaut dans Debian), pump, dhcpcd ou udhcpc (liste dans man interfaces) ?

Il y a des messages d’erreur ?

PS concernant le forum : il est préférable de mettre les résultats de commandes dans des blocs de code plutôt que dans des blocs de citation (quote).

Oui, il y a bien dhclient.

Vu ce que renvoi la commande d’activation de l’interface on irait que tu as bel et bien un problème avec le DHCP.
Quel est le matériel qui est serveur DHCP ?
Est-il activé ?
Est-ce qu’il répond aux requêtes uniquement de certaines adresses MAC ou à toutes les adresses ?

Non, ta commande “ifconfig eth0 inet up dhcp” est sans queue ni tête, normal qu’elle provoque une erreur. En gros la syntaxe d’ifconfig attend une adresse IP au lieu de “dhcp”, donc il essaie de faire une résolution du nom “dhcp” en adresse mais évidemment ça ne marche pas. Pour tester manuellement, c’est plutôt :

ifconfig eth0 up
dhclient eth0

Bien vu. :smt005

Je lis attentivement les messages d’erreur, môa. :stuck_out_tongue:

dhclient il connait pas … :

[quote]sam9-l9260:~# dhclient eth0
-bash: dhclient: command not found[/quote]

j’ai pourtant bien un fichier dhclient.conf par exemple, je me suis donc dis qu’il était installé … visiblement non.

Et avec dhclient3 ? Sinon, le paquet a peut-être été installé puis désinstallé mais pas purgé, et seuls les fichiers de configuration restent.

Non plus, la seule commande dhclient est dhclient-script …

N’ayant pas apt-get, je l’installe comment dhclient?

Essaye avec pump pour voir mais je soupconne l’absence d’un client dhcp…

Tu peux récupérer le binaire pump et l’installer dans /sbin. Cela devrait suffire (je crois que ifupdown teste si pump ou dhclient est présent).

Il connait pas pump non plus, je peux le trouver ou le binaire de pump ?

Sinon dans sbin j’ai bien dhclient qui est un lien vers dhclient3 qui lui est introuvable …

Si il n’y est pas, pourquoi ne pas l’installer?

edit:
ah pas apt-get. Oulà.

Comme je l’ai écrit plus haut Les clients DHCP supportés par ifupdown sont mentionnés dans man interfaces.
Il faut quand même satisfaire les dépendances, le paquet pump dépend de libpopt0 donc il faut vérifier que cette bibliothèque est installée (/lib/libpopt.so.0).
Si dpkg est disponible, il reste possible d’installer des paquets .deb manuellement.

Hum, tu peux trouver le paquet ici: http://packages.debian.org/lenny/dhcp3-client
Tu peux éventuellement faire la chose suivante:

  1. Tu charges le paquet sous /tmp
  2. mkdir /tmp/gre
  3. cd /tmp/gre
  4. dpkg-deb -x …/dhcp3-client_3.1.1-6+lenny3_i386.deb .
  5. tar czf …/dhcp.tgz etc sbin

et tu déplies ton archive sur ta machine embarquée. Si tu as conservé l’arborescence debian (/var/lib/dpkg/…) installe le paquet par dpkg -i.

A ceci près que par la méthode dpkg-deb les scripts de pré- et post-installation du paquet ne seront pas exécutés, avec le risque de rendre le paquet non fonctionnel.

Oui, j’ai regardé ce que fait le script d’installation, il se contente de voir si on vient d’une version dhclient2 d’une part (je présume que ça n’est pas le cas) et crée le fichier

/var/lib/dhcp3/dhclient.leases

Un simple

mkdir -p var/lib/dhcp3/ ; touch var/lib/dhcp3/dhclient.leases

suffit. Mais il y a des chances que ce fichier existe, le lien signale une installation antérieure, d’où ma suggestion d’un bête dépliage…

Attention, dhcp3-client dépend - entre autres - du paquet dhcp3-common qui contient l’exécutable omshell. D’après sa page de manuel, c’est un shell qui permet d’interagir avec le client DHCP dhclient3 ou le serveur DHCP dhcpd3, mais je ne sais pas s’il est indispensable.