如何在虚拟接口(例如eth0:1)上请求dhcp(使用dhclient)


15

这似乎工作正常:

dhclient eth0
ifconfig eth0:1 192.168.1.105 up

但这不是:

ifconfig eth0 192.168.1.105 up
dhclient eth0:1

有什么办法可以在虚拟地址上获取dhcp?

Answers:


20

你真的不能做到这一点。您的卡只有一个MAC地址,但有多个IP接口。他们将需要静态分配地址。

当DHCP服务器发回DHCPOFFER时,它如何传递给eth0:1或不传递给DHCPOFFER eth0eth0:1通过广播发送DHCPDISCOVER或DHCPREQUEST。DHCP服务器以DHCPOFFER响应,以将其IP地址通知客户端。但是,如果eth0:1还没有IP地址,DHCPOFFER将如何到达?DHCP服务器进行广播并依靠链路层将以太网帧(其他相关层堆叠在其上)正确传送到正确的MAC地址。现在,您的设备有了IP地址。

DHCPOFFER的问题在于,从第2层的角度来看,这两个“设备”(eth0eth0:1)是无法区分的,因此(从第3层的角度来看)DHCPOFFER的目标地址是255.255.255.255(因为eth0:1尚无IP地址)。

您可以使用VLAN解决此问题。VLAN将允许您采用相同的物理广播域,并将其视为多个“虚拟”广播域(因此而得名)。


好答案!我想我在论坛上也看到了类似的答案,但是这个答案更清晰了,我现在明白了。看来,如果我遵循这些说明cyberciti.biz/tips / ...,那么我将能够dhclient eth0.1获得DHCPOFFER。
CoolAJ86 2011年

是的 只要为VLAN正确设置了网络基础结构即可。请参阅Vlans如何工作?
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.