Comment demander une adresse DHCP (en utilisant dhclient) sur une interface virtuelle (c.-à-d. eth0:1)

Ceci semble fonctionner correctement :

dhclient eth0
ifconfig eth0:1 192.168.1.105 up

Mais pas ceci :

ifconfig eth0 192.168.1.105 up
dhclient eth0:1

Y a-t-il un moyen d’obtenir le DHCP sur une adresse virtuelle ?

Vous ne pouvez pas vraiment faire cela. Votre carte n’a qu’une seule adresse MAC mais plusieurs interfaces IP. Elles devront avoir leurs adresses assignées statiquement.

Lorsque le serveur DHCP renvoie le DHCPOFFER, comment est-il livré à eth0:1 et non à eth0 ? eth0:1 envoie un DHCPDISCOVER ou un DHCPREQUEST par diffusion. Le serveur DHCP répond avec un DHCPOFFER pour informer le client de son adresse IP. Mais comment le DHCPOFFER arrivera-t-il si eth0:1 n’a pas encore d’adresse IP ? Le serveur DHCP diffuse en retour et s’appuie sur la couche liaison pour livrer correctement la trame ethernet (avec les autres couches associées empilées dessus) à la bonne adresse MAC. Et maintenant votre périphérique a une adresse IP.

Le problème pour le DHCPOFFER est que d’un point de vue Couche 2, les deux « périphériques » (eth0 et eth0:1) sont indiscernables, et donc (d’un point de vue Couche 3) le DHCPOFFER est destiné à 255.255.255.255 (parce que eth0:1 n’a pas encore d’adresse IP).

Vous pouvez contourner cela en utilisant des VLAN. Les VLAN vous permettront de prendre le même domaine de diffusion physique et de le traiter comme plusieurs domaines de diffusion « virtuels » (d’où le nom).