我想要一个平面配置,其中主机和客户机在网络上都有自己的静态地址。然而,由于某些未知原因,容器被分配了 2 个地址,192.168.0.110 和 192.168.0.201。我只想要一个,192.168.0.201。
主机的网络配置:
# Host /etc/network/interfaces
auto lxcbr0
iface lxcbr0 inet static
bridge_ports p4p1
bridge_stp off
bridge_fd 0
bridge_maxwait 0
address 192.168.0.200
netmask 255.255.255.0
gateway 192.168.0.1
dns-nameservers 192.168.0.1
主机内部的客户机配置:
lxc.network.type = veth
lxc.network.flags = up
lxc.network.link = lxcbr0
lxc.network.hwaddr = 00:16:3e:08:b6:78
lxc.network.ipv4 = 192.168.0.201/24
来宾的网络配置:
auto eth0
iface eth0 inet dhcp
当我启动容器并使用时,lxc-ls -f
我得到:
NAME STATE IPV4 IPV6 AUTOSTART
----------------------------------------------------------------------------------------------
name RUNNING 192.168.0.110, 192.168.0.201 2607:fa48:6de9:f3a0:216:3eff:fe08:b678 YES
答案1
原因是您明确要求了两个 IP 地址。
首先,你要求主机为容器配置一个静态 IP 地址,该地址在容器启动时处于活动状态。然后你要求容器使用 DHCP 请求第二个 IP 地址。
/etc/network/interfaces
如果您不想要第二个 IP 地址,您应该删除这两行。
答案2
如果你在该网络上有 DHCP 服务器,你将获得两个 IP 地址,一个来自 lxc 的 dhcp 服务器,另一个来自你的网络 DHCP