当前位置: 首页 > 知识库问答 >
问题:

lxd(ubuntu 16.10)容器mac地址

周墨一
2023-03-14

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

lxc配置文件设备添加默认eth0 nictype=桥接父=br0

LXC网络连接br0

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

共有2个答案

柴琨
2023-03-14

这是在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地址不变。

牛华皓
2023-03-14

每个容器将保持与首次启动时相同的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):

lxc config set container_name volatile.eth0.hwaddr yo:ur:ma:ca:dd:ress
 类似资料:
  • 使用Xvfb在LXD容器(ubuntu: 16.04)内运行GUI应用程序并在容器内执行以下命令很容易: 我的目标是在不登录的情况下执行上述命令,并在启动容器时自动执行(lxc start)。 我试图在“/etc/init.d/myscript”中创建一个脚本,并使其可执行。但没有机会,它没有工作(链接)。 另外,当我尝试执行

  • 问题内容: 当我启动新容器时,Docker会自动为它们分配一些MAC地址。我很好奇这项作业是否有模式。MAC地址可以更改吗? $泊坞窗网络检查网桥 问题答案: Docker开始为第一个容器分配始终相同的mac ,然后为每个不同的容器将每个mac增加一个。 不知道为什么他们要使用该mac地址。看来与oui数据库中的任何实际供应商都不匹配。查看有关此内容的官方文档。他们说: MAC地址是使用分配给容器

  • 问题内容: 每当我运行docker容器时,我都会看到它使用随机MAC地址: 如何为容器运行设置特定的MAC地址? 我可以使用相同的MAC地址同时运行多个容器吗?这些容器不需要访问外部网络,也不需要互相交谈。 问题答案: 使用LXC配置选项设置MAC地址。这是一个如何使用Docker 0.6.1设置MAC地址的示例: 在输出中,您将看到已设置的HWaddr: 更新: 先前的开关(带1个破折号)已被弃

  • 对于下面的场景是如何工作的,我有点困惑。这是一个非常简单的设置,所以我希望解释很简单。 我有一个单一的物理网卡主机。我创建了一个单一的macvlan子接口在桥接模式关闭这个物理网卡。然后我启动两个LXD/LXC容器。每个都有自己独特的MAC和IP,但是在配置文件中,我指定了与每个容器的父接口相同的单个macvlan子接口。 两个容器都可以毫无问题地访问网络。我还能够使用每个容器的唯一IP地址SSH

  • LXD

    LXD 是 ubuntu 基于 LXC 技术的重构,容器天然支持非特权和分布式。 LXD 与 Docker 的思路不同,Docker 是 PAAS,LXD 是 IAAS。 LXD 包括三个组件: 系统范围的守护进程 (lxd) 命令行客户端 (lxc) OpenStack Nova 插件 (nova-compute-lxd) 主要特性: 直观 (简洁的 API 和快速的命令行体验) 基于镜像 在线迁移

  • 我已经看到了很多关于docker设置之类的东西,使用运行ES的unpriv容器。基本上,我不想建立一个简单的“prod集群”。总共有两个节点,一个物理节点(用于数据),一个用于Injest/Master(LXD容器)。 我遇到的问题是使用作为配置选项来锁定容器主/注入节点上的内存(避免交换)。 现在,考虑到ES用户不能调整主机上的u限制,这是有意义的。鉴于我知道这是危险的,有没有一种方法/如何确保