Esto parece que funciona bien:
dhclient eth0
ifconfig eth0:1 192.168.1.105 up
Pero no esto:
ifconfig eth0 192.168.1.105 up
dhclient eth0:1
¿Hay alguna forma de obtener dhcp en una dirección virtual?
Realmente no puedes hacer esto. Su tarjeta solo tiene una dirección MAC pero múltiples interfaces IP. Deberán tener sus direcciones asignadas estáticamente.
Cuando el servidor DHCP envía el DHCPOFFER, ¿cómo se entrega eth0:1
y no se envía eth0
? eth0:1
envía un DHCPDISCOVER o un DHCPREQUEST mediante difusión. El servidor DHCP responde con un DHCPOFFER para informar al cliente de su dirección IP. Pero, ¿cómo llegará el DHCPOFFER si eth0:1
aún no tiene una dirección IP? El servidor DHCP transmite y confía en la capa de enlace para entregar correctamente el marco de Ethernet (con las otras capas asociadas apiladas encima) a la dirección MAC correcta. Y ahora su dispositivo tiene una dirección IP.
El problema para el DHCPOFFER es que desde una perspectiva de Capa 2 los dos "dispositivos" ( eth0
y eth0:1
) son indistinguibles, por lo que (desde una perspectiva de Capa 3) el DHCPOFFER está destinado a 255.255.255.255 (porque eth0:1
aún no tiene un Dirección IP).
Puede solucionar esto utilizando las VLAN. Las VLAN le permitirán tomar el mismo dominio de transmisión físico y tratarlo como múltiples dominios de transmisión "virtuales" (de ahí el nombre).
dhclient eth0.1
para obtener un DHCPOFFER.