我正在使用 VMWare Player。当运行 CentOS (Linux) 6.5 的映像启动时,VMWare Player 会动态(可能使用 DHCP)为该映像分配一个 IP 地址。我假设子网上的 IP 地址是由 VMWare 软件本身分配的,而不是由 Linux 分配的。
在任何映像首次启动之前,根据观察,我假设该映像实际上没有 IP 地址。观察此情况的一种方法是复制已启动的 VMWare 映像,然后在同一工作站(安装 VMWare Player 的工作站)上启动复制的映像。
如何在 Linux 中为图像重新分配 IP 地址(动态或静态)?如果有办法做到这一点,我假设有一个步骤可以重新启动所有服务(重新启动)。
答案1
我对 VMWare Player 不是特别熟悉,但大多数 DHCP 服务器都会从池中分配 IP 地址,并缓存它们分配的地址以及相应的 MAC 地址。如果某台机器稍后启动并请求 IP 地址,则会查找其 MAC 地址,如果匹配,则返回相应的地址,否则将从池中获取新地址。未使用的条目会在超时(即所谓的租用时间)后被删除。
虚拟机具有带 MAC 地址的网络接口。这些通常是随机生成的。复制虚拟机时,会为接口分配一个新的 MAC 地址,以避免网络冲突。这就是为什么 VMWare 会在您导入虚拟机时询问您是否复制或移动了虚拟机;如果您说您复制了它,则 MAC 地址会更改,如果您移动了它,则不会更改。
我不知道 VMWare Player 中的 DHCP 服务器的可配置性如何。我猜这是一个封闭的系统,你几乎无能为力。也许有人可以证明我的说法是对是错。
答案2
IP 地址的分配方式取决于虚拟机 (VM) 的设置方式。如果您将其设置为 Bridged,则您的客户操作系统 (我假设是 CentOS) 将通过 DHCP 请求 IP 地址,方式与主机操作系统相同,否则客户机可以手动设置 IP 地址。如果您将其设置为 NAT,它将获得一个与您的本地网络不同的随机私有 DHCP 地址 (请参阅 Nathan C 的评论)。VMWare Player 实际上与为客户操作系统分配 IP 关系不大。
简而言之,您到底需要做什么?释放并更新 IP?还是其他什么?顺便说一句,需要关闭虚拟机才能调整网络设置。