在运行 Ubuntu Bionic 的 LXC 客户机中获取可预测的 IP

在运行 Ubuntu Bionic 的 LXC 客户机中获取可预测的 IP

我有两个(非特权)LXC 来宾运行 Ubuntu xenial 和 Ubuntu bionic,它们都以相同的方式安装和配置(至少我是这么认为的)。 xenial 来宾按预期工作,始终获得相同的 ip,因此我只需为其添加一行/etc/hosts,然后在启动时即可ssh进入。

但是每次我启动时,运行 Ubuntu bionic 的来宾都会获得一个新的 ip :-(

我认为这是 Ubuntu 更改为 netplan 的结果,因此我对此进行了一些研究(如下),但情况似乎并非如此,因此您可能可以跳到最后一段。

两个来宾在 LXC 配置中都有一个(当然是不同的 MAC 地址):

# Network configuration
lxc.network.type = veth
lxc.network.link = lxcbr0
lxc.network.flags = up
lxc.network.hwaddr = 00:FF:6e:d1:58:d2

xenial 客人有一个/etc/network/interfaces看起来像这样的:

# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).

# The loopback network interface
auto lo
iface lo inet loopback

auto eth0
iface eth0 inet dhcp

仿生客体具有以下特点/etc/netplan/10-lxc.yaml

network:
  ethernets:
    eth0: {dhcp4: true}
  version: 2

(我还不太熟悉 netplan,但在我看来也是如此)。

在两个客户机上,配置的 MAC 都分配给 eth1,而 eth0 每次都会获得一个新的 MAC 地址,但不知何故,xenial 客户机无论如何都会获得相同的 IP(这就是为什么我不再认为 netplan 是罪魁祸首)。

我还有一个运行 Debian Stretch 的 LXC 客户机(主机也这样做),其工作方式(在这方面)与 xenial 客户机非常相似。

那么我到底做错了什么?我如何在仿生客机中获得可预测的IP?

相关内容