我正在使用LXD容器运行最新的Ubuntu(16.10)。容器配置有桥接网络,它们从DHCP服务器接收自己的IP地址。我已使用以下内容对其进行了配置:
lxc profile device add default eth0 nic nictype = bridged parent = br0
lxc network attach br0
现在,我需要为每个容器手动设置硬件地址(MAC),因此它们相应的静态IP永远不会改变。但是,我很难用lxc这样做。我只是将它们设置在相应的/ etc / network / interfaces中,还是有更好的(lxd / lxc)方式呢?
答案 0 :(得分:3)
每个容器将保留与首次启动时相同的MAC地址。要获得它的价值:
lxc config show container_name
or, more precise
lxc config get container_name volatile.NIC_NAME.hwaddr
当你必须在/ var / lib / lxc / container_name / config中手动设置它时,这与纯lxc的情况不同。
但是,如果你真的需要使用自己的一组MAC地址(假设eth0是容器的nic):
lxc config set container_name volatile.eth0.hwaddr yo:ur:ma:ca:dd:ress
答案 1 :(得分:0)
这是在 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**
注意最后一行。这就是我添加的内容 - 这似乎可以保持 MAC 地址不变。