8.8. 生成新唯一 MAC 地址


在某些情况下,您需要为 guest 虚拟机生成一个新的和唯一的 MAC 地址。写入时没有可用的命令行工具生成新的 MAC 地址。以下提供的脚本可为您的 guest 虚拟机生成一个新的 MAC 地址。将脚本 在 guest 虚拟机上保存为 macgen.py。现在,您可以使用 ./macgen.py 运行脚本,它会生成新的 MAC 地址。输出示例类似如下:
$ ./macgen.py
00:16:3e:20:b0:11
#!/usr/bin/python
# macgen.py script to generate a MAC address for guest virtual machines
#
import random
#
def randomMAC():
	mac = [ 0x00, 0x16, 0x3e,
		random.randint(0x00, 0x7f),
		random.randint(0x00, 0xff),
		random.randint(0x00, 0xff) ]
	return ':'.join(map(lambda x: "%02x" % x, mac))
#
print randomMAC()

8.8.1. 为 guest 虚拟机生成新 MAC 的另一个方法

您还可以使用 python-virtinst 的内置模块生成一个新的 MAC 地址和 UUID,以便在客户机虚拟机配置文件中使用:
# echo  'import virtinst.util ; print\
 virtinst.util.uuidToString(virtinst.util.randomUUID())' | python
# echo  'import virtinst.util ; print virtinst.util.randomMAC()' | python
以上脚本也可以作为脚本文件实施,如下所示。
#!/usr/bin/env python
#  -*- mode: python; -*-
print ""
print "New UUID:"
import virtinst.util ; print virtinst.util.uuidToString(virtinst.util.randomUUID())
print "New MAC:"
import virtinst.util ; print virtinst.util.randomMAC()
print ""
Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

© 2024 Red Hat, Inc.