Isso parece funcionar bem:
dhclient eth0
ifconfig eth0:1 192.168.1.105 up
Mas não é isso:
ifconfig eth0 192.168.1.105 up
dhclient eth0:1
Existe alguma maneira de obter dhcp em um endereço virtual?
Você realmente não pode fazer isso. Seu cartão possui apenas um endereço MAC, mas várias interfaces IP. Eles precisam ter seus endereços atribuídos estaticamente.
Quando o servidor DHCP envia de volta o DHCPOFFER, como ele é entregue eth0:1
e não enviado eth0
? eth0:1
envia um DHCPDISCOVER ou um DHCPREQUEST transmitindo. O servidor DHCP responde com um DHCPOFFER para informar o cliente sobre seu endereço IP. Mas como o DHCPOFFER chegará se eth0:1
ainda não tiver um endereço IP? O servidor DHCP transmite de volta e depende da camada de link para entregar corretamente o quadro Ethernet (com as outras camadas associadas empilhadas sobre ele) no endereço MAC correto. E agora seu dispositivo tem um endereço IP.
O problema para o DHCPOFFER é que, na perspectiva da Camada 2, os dois "dispositivos" ( eth0
e eth0:1
) são indistinguíveis e, portanto (na perspectiva da Camada 3), o DHCPOFFER é destinado a 255.255.255.255 (porque eth0:1
ainda não possui um Endereço de IP).
Você pode contornar isso usando VLANs. As VLANs permitirão que você pegue o mesmo domínio de transmissão física e trate-o como vários domínios de transmissão "virtuais" (daí o nome).
dhclient eth0.1
de obter um DHCPOFFER.