lxd(ubuntu 16.10)容器mac地址

lxd(ubuntu 16.10)容器mac地址,ubuntu,containers,lxc,lxd,Ubuntu,Containers,Lxc,Lxd,我正在用LXD容器运行最新的Ubuntu(16.10)。容器配置了桥接网络,它们从DHCP服务器接收自己的IP地址。我已将其配置为以下内容: lxc配置文件设备添加默认eth0 nic nictype=bridged parent=br0 lxc网络连接br0 现在,我需要为每个容器手动设置硬件地址(MAC),这样它们对应的静态IP就不会改变。然而,我很难用lxc做到这一点。我只是在相应的/etc/network/interfaces中设置它们,还是有更好的(lxd/lxc)方法 每个容器将保持

我正在用LXD容器运行最新的Ubuntu(16.10)。容器配置了桥接网络,它们从DHCP服务器接收自己的IP地址。我已将其配置为以下内容:

lxc配置文件设备添加默认eth0 nic nictype=bridged parent=br0

lxc网络连接br0


现在,我需要为每个容器手动设置硬件地址(MAC),这样它们对应的静态IP就不会改变。然而,我很难用lxc做到这一点。我只是在相应的/etc/network/interfaces中设置它们,还是有更好的(lxd/lxc)方法

每个容器将保持与第一次启动时相同的MAC地址。要获得其价值,请执行以下操作:

lxc config show container_name
  or, more precise
lxc config get container_name volatile.NIC_NAME.hwaddr
这与纯lxc的情况不同,当时您必须在/var/lib/lxc/container_name/config中手动设置它

但是,如果您确实需要使用自己的MAC地址集(假设eth0是容器的nic):


下面是在Centos 7.8上对我起作用的内容。我认为这是一个发行版不可知的解决方案,因此可能最具弹性

在容器目录(/var/lib/lxc/)中,按如下方式编辑配置文件:

Template used to create this container: /usr/share/lxc/templates/lxc-download # Parameters passed to the template: # For additional config options, please look at lxc.container.conf(5) # Distribution configuration lxc.include = /usr/share/lxc/config/ubuntu.common.conf lxc.arch = linux64 # Container specific configuration lxc.rootfs = /var/lib/lxc/web0/rootfs lxc.utsname = web0 # Network configuration lxc.network.type = veth lxc.network.flags = up lxc.network.link = virbr0 **lxc.network.hwaddr = 6a:d4:d2:a7:9b:4e** 用于创建此容器的模板:/usr/share/lxc/templates/lxc下载 #传递到模板的参数: #有关其他配置选项,请查看lxc.container.conf(5) #分布配置 lxc.include=/usr/share/lxc/config/ubuntu.common.conf lxc.arch=linux64 #特定于容器的配置 lxc.rootfs=/var/lib/lxc/web0/rootfs lxc.utsname=web0 #网络配置 lxc.network.type=veth lxc.network.flags=向上 lxc.network.link=virbr0 **lxc.network.hwaddr=6a:d4:d2:a7:9b:4e**
注意最后一行。这就是我添加的内容——这似乎保持了MAC地址不变。

“纯lxc”?那是没有lxd的lxc吗?你知道最新版本是否仍然如此吗?@KenSharp命令
lxc
表明它适用于lxc 2.x及以上版本(即使用LXD)。LXC1.x使用
LXC-*
命令。可以将其设置为默认地址吗?例如,如果我想将所有新容器的hwaddr更改为12:34:56:xx:xx:xx Template used to create this container: /usr/share/lxc/templates/lxc-download # Parameters passed to the template: # For additional config options, please look at lxc.container.conf(5) # Distribution configuration lxc.include = /usr/share/lxc/config/ubuntu.common.conf lxc.arch = linux64 # Container specific configuration lxc.rootfs = /var/lib/lxc/web0/rootfs lxc.utsname = web0 # Network configuration lxc.network.type = veth lxc.network.flags = up lxc.network.link = virbr0 **lxc.network.hwaddr = 6a:d4:d2:a7:9b:4e**