克隆虚拟机(VM)时,我有时会在CentOS下遇到同样的问题。问题源于原始VM在该文件中放置了条目以设置以太网设备eth0
。
样本.rules文件
# This file was automatically generated by the /lib/udev/write_net_rules
# program, run by the persistent-net-generator.rules rules file.
#
# You can modify it, as long as you keep each rule on a single
# line, and change only the value of the NAME= key.
# net device () (custom name provided by external tool)
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="54:52:00:ff:ff:dd", ATTR{type}=="1", KERNEL=="eth*", NAME="eth0"
当您克隆第一个VM时,该问题变得很丑陋,这会导致在某些虚拟化技术(例如KVM)下创建新的MAC地址。当引导克隆的VM并通过将其视为新的以太网设备时,将自动检测到此新的MAC地址/lib/udev/write_net_rules
,因此将第二项添加到上述文件中。
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="54:52:00:ff:ff:de", ATTR{type}=="1", KERNEL=="eth*", NAME="eth1"
我通常70-persistent-net.rules
在编辑器中打开此文件,然后简单地合并各行,以便将新的MAC地址分配给eth0
设备并重新启动。
...
# net device () (custom name provided by external tool)
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="54:52:00:ff:ff:de", ATTR{type}=="1", KERNEL=="eth*", NAME="eth0"
编辑#1
OP通过以下新信息来跟踪问题。
项目1:嗯。就我而言,这是行不通的,因为我正在运行具有与Mac地址相关联的Flex许可证的软件。不断变化的地址使所述软件无用。
@Zobal-我对Flex熟悉。由于它是VM,因此您可以更改VM的MAC(在VM软件中-VirtualBox,KVM等)。
注意: Flex是Flexera提供的许可技术。他们曾经被称为GlobeTrotter软件。该技术使软件可以绑定到物理主机,也可以将许可证从中央服务器作为“令牌”进行管理,客户端可以在一段时间内签出令牌。许可证通常与主机绑定,并且该主机通常由一个唯一的编号标识,您可以使用命令找到该唯一编号hostid
。
例如:
$ hostid
a8c0c801
第2项:就我而言,它不是VM。我已经将一个物理系统克隆到另一个物理系统上。
我对此答复:那么,您唯一的选择是将新系统的MAC地址更改为与另一个系统的MAC地址相同。意识到这两个系统不能存在于同一网络中,否则它们将相互冲突。同样,Flex许可通常不使用MAC,它们使用通过命令可识别的数字hostid
!
参考文献