Я хочу иметь плоскую конфигурацию, в которой хост и гость имеют свои собственные статические адреса в сети. Однако по неизвестной причине контейнеру присвоено 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
Причина в том, что вы явно запросили два IP-адреса.
Во-первых, вы попросили хост настроить статический IP-адрес для контейнера, который активен при запуске контейнера. Тогда вы спросили контейнер для запроса второго IP-адреса с помощью DHCP.
Вы должны удалить эти две строки из /etc/network/interfaces
если вам не нужен второй IP-адрес.
если у вас есть DHCP-сервер в этой сети, вы получите два IP-адреса, один от lxc dhcp-сервера, а второй от вашей сети DHCP