克隆的Linux系统和/etc/udev/rules.d/70-persistent-net.rules

佐巴尔

我设置了一个Ubuntu系统并对其进行了正确配置,包括eth0在中进行定义/etc/network/interfaces然后,我对该系统进行了映像并将其克隆到新系统上。

当我第一次启动系统时,一切都很好,但是稍后重新启动后,我对网络配置超时感到很满意。当我登录时,我发现那eth0不可用。

我最初的研究让我尝试ifdown -aifup -a但我做了几次却没有明显效果。

研究最终将我指向/etc/udev/rules.d/70-persistent-net.rules,在那里我发现新系统的MAC地址创建了eth1。好主意,但不是我想发生的事情。

刚启动时,我发现/etc/udev/rules.d/70-persistent-net.rules现在有六个用于六个不同硬件地址的条目,由于只有一个接口,所以我觉得很奇怪。

我的问题是:我是否ifup -a以某种方式创建了要创建的新MAC地址?如果不是,是否有任何想法?我更改/etc/udev/rules.d/70-persistent-net.rules了名称以使用当前的硬件地址,eth0并且该地址似乎可以正常工作,但是我可以保证该地址在重新启动后不会再次更改吗?

你好

克隆虚拟机(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

参考

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

空的70-persistent-net.rules目录

网络接口名称:“ / var / log / dmesg”与“ /etc/udev/rules.d/70-persistent-net.rules”

为什么70-persistent-net.rules不起作用?

Ubuntu 14.04服务器:将em1更改为eth0-没有/etc/udev/rules.d/70-persistent-net.rules文件

如何在不重新启动的情况下重新生成70-persistent-net.rules?

调整配置并删除`70-persistent-net.rules`后,无法通过SSH连接到计算机。

Service Fabric,Akka.net和Persistent actor集成

netfilter-persistent和iptables故障

73.usb-net-by-mac.rules问题与net.ifnames

Persistent Volumes 和 Persistent Volume Claims 之间的关系是什么(1:1 或 1:n)

Persistent Volumes 和 Persistent Volume Chains (1:1 or 1:n) 有什么关系

“PERSISTENT_COMMAND_TIMEOUT 和 PERSISTENT_CONNECT_TIMEOUT 必须设置为 600 秒”

WordPress和flush_rules

Prometheus算子中rules和rules1.14的区别

在Snort中使用coder.rules和preproc.rules

systemd-udevd.service忽略60-net.rules

使用Servant和Persistent表示JSON中的外键关系

Yesod,Persistent和MySQL没有实例错误

在同一功能中混合Esqueleto和Persistent

/lib/udev/rules.d在哪里

http-proxy-rules和Websockets

\ intermediates \ proguard-rules \ release \ aapt_rules.txt(系统找不到指定的路径)

/etc/udev/rules.d/与/lib/udev/rules.d/-使用哪个,为什么?

伪造和.net Framework 4.6.1和系统

在 ubuntu 18.04 的某些条件下,用户配置从 70-snap.core.rules 文件中删除

是什么在Android的consumer-rules.pro和proguard-rules.pro之间的区别?

database.rules.json 和 firestore.rules 有什么区别?

\ Validator :: make($ input,$ rules)和Validator :: make($ input,$ rules)有什么区别?

MySQL错误1193:未知的系统变量'discount_advanced_rules'