是否有可能只为本地主机设置DHCP服务器?

我有一个快速的问题。 我有一堆在Ubuntu服务器上运行的虚拟机(VMWare Workstation),并且发现VMWare NAT(DHCP)服务是不可靠和缓慢的。 我必须使用NAT而不是桥接,因为我没有足够的静态IP为所有的虚拟机。

是否可以将Linux主机(Ubuntu)设置为DHCP服务器,但仅限于本地虚拟机?

服务器有2个网卡,所以如果我设置eth0是一个静态IP,它连接到外部工作,eth1来侦听DHCP。 现在,我想如果我不想要DHCP广播我只是不连接到eth1电缆,并build立虚拟机连接到eth1的DHCP地址。 那样DHCP不会通过我的networking广播,而是在那个接口上进行监听。

这个设置是否工作?

编辑

来宾虚拟机必须使用NAT或DHCP,因为服务器位于不提供DHCP的数据中心,而我们没有足够的静态IP。

谢谢。

我相信你可以使用iptables来阻止来自其他机器的任何传入DHCP请求,但另一种select是设置你的DHCP服务器,只要有足够的空间来提供虚拟机,虚拟机应该为每个虚拟机设置保留。 这样,即使服务器碰巧收到请求,也不会有其他可以分发的地址。

如果你只需要简单的DHCP服务器,我会build议使用dnsmasq( http://thekelleys.org.uk/dnsmasq/doc.html )。 它是一个强大的DNS转发器,但带有集成的DHCP服务器。 我不确定是否可以完全禁用DNS部分,但是如果问题存在,则可以在不同的端口上configuration它。

configurationDHCP是一个configuration选项(–dhcp-range),它与更高级的function相同。

根据我的经验,在NAT环境下使用Virtualbox 4.x时,Virtualbox在主机内部创build一个虚拟networking,它拥有自己的IP范围和虚拟机所在的网关(网关是具有静态IP的主机)。 所有外部访问都是通过与任何物理适配器和电缆分开的虚拟networking适配器上的NAT'ing网关。

因此,在知道内部NATnetworking细节的Virtualbox下,可以禁用Virtualbox DHCP服务器,并在虚拟networking中提供自己的服务。

除非专门路由,例如通过VPN隧道,否则DHCP不会穿越网关外部。

我不能具体评论VMWare,但我认为它的工作方式类似。

如果成功,您将需要确保提供DHCP的VM提供与主机相同的networking详细信息,否则您将无法通过networking访问它们。 但是,对于VMWare的一点经验,如果您的networking访问松动,您应该有一个可用的控制台会话来configurationDHCP计算机。