Como solicitar dhcp (usando dhclient) em uma interface virtual (ie eth0: 1)

15

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?

CoolAJ86
fonte

Respostas:

20

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:1e não enviado eth0? eth0:1envia 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:1ainda 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" ( eth0e eth0:1) são indistinguíveis e, portanto (na perspectiva da Camada 3), o DHCPOFFER é destinado a 255.255.255.255 (porque eth0:1ainda 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).


fonte
Ótima resposta! Acho que vi respostas semelhantes nos fóruns, mas essa é muito mais clara e agora eu entendi. Parece que, se eu seguisse essas instruções, cyberciti.biz/tips/… seria capaz dhclient eth0.1de obter um DHCPOFFER.
CoolAJ86
Sim. Desde que sua infraestrutura de rede esteja configurada corretamente para VLANs. Veja Como funcionam os Vlans? .