我正在尝试在主机上设置多个 LXC 容器,每个容器都有自己的公共静态 IP。
我的主机正在运行最新的 Ubuntu。它有一个名为 eth0 的网络接口。静态 IP 可从 Internet 上 ping 并命名为 eth0:210、eth0:211... 冒号后的数字是地址的最低有效字节。除了这些接口之外,我还在主机的公共 IP 上设置了 br0。还有 lo、veth2LPP9A 和 lxcbr0 接口。lxcbr0 具有私有 IP 的地址。
主机 /etc/network/interfaces 看起来像:
auto br0
iface br0 inet static
bridge_ports eth0
bridge_fd 0
[...]
Run Code Online (Sandbox Code Playgroud)
到目前为止,我已经使用了各种在线资源,包括桥接 LXC 容器来托管 eth0,这样它们就可以拥有一个公共 IP来帮助我进行设置。
容器的配置文件有:
lxc.network.type = veth
lxc.network.link = br0
Run Code Online (Sandbox Code Playgroud)
我已经从这个文件中删除了静态 lxc.network.ipv4 配置,因为它会导致问题。当我使用此配置运行 lxc-ls --fancy 时,我会在输出中看到两次相同的公共 IP。此外,它会干扰容器 /etc/network/interfaces 的子网配置。
说到容器的接口文件,它看起来有点像:
auto eth0
iface eth0 inet static
address [...]
netmask 255.255.255.255
#gateway [...]
dns-nameservers 8.8.8.8
post-up route …
Run Code Online (Sandbox Code Playgroud)