Использование интерфейса aliased bond на хосте с помощью контейнера lxc

Как видно из заголовка, как мне отредактировать конфигурацию контейнера lxc для использования интерфейса aliased bond0 на хосте? Это то, что я сейчас имею в файле / etc / network / interfaces:

# The loopback network interface
auto lo
iface lo inet loopback

# The primary network interface
#allow-hotplug eth0
#iface eth0 inet static
#   address 192.168.100.90/22
#   gateway 192.168.101.1


auto bond0
iface bond0 inet static
    address 192.168.100.90/22
    gateway 192.168.101.1
    bond-slaves eth0 eth1
    bond-mode active-backup
    bond-miimon 100
    bond-primary eth0 eth1

Могу ли я добавить это в конце:

auto bond0:101
iface bond0:101 inet static
    address 192.168.100.101
    netmask 255.255.252.0

и заставить контейнер lxc использовать этот адрес? Я не хочу соединяться, я просто хочу хост и lxc cont. в той же сети. Я не знаю, какие параметры конфигурации находятся в файле / var / lib / lxc / lxc_cont / config. Я пробовал это

lxc.network.type = phys
lxc.network.flags = up
lxc.network.link = bond0:101
lxc.network.hwaddr = 00:00:00:fe:fe:01
lxc.network.ipv4 = 192.168.100.101/22
lxc.network.ipv4.gateway = 192.168.101.1

но получите эту ошибку:

lxc-start 20160912185144.642 ERROR    lxc_conf - conf.c:lxc_assign_network:3044 - failed to move 'bond0:101' to the container : Invalid argument
      lxc-start 20160912185144.642 ERROR    lxc_start - start.c:lxc_spawn:1197 - failed to create the configured network

В будущем я буду добавлять другие контейнеры на интерфейсе bond0, такие как:

auto bond0:102
iface bond0:102 inet static
    address 192.168.100.102
    netmask 255.255.252.0

auto bond0:102

etc.

Раньше я настраивал контейнеры, используя мостовой интерфейс, но я застрял в связи с этой связью.

Любая помощь или указатели очень ценятся!

Спасибо за ваше время!

PS мне кажется, что мой вопрос похож на этот

https://faultserver.ru/questions/744443/is-there-a-way-to-get-the-kvm-guest-using-alias-interfaces-to-communicate-with-o

1 ответ

Была некоторая помощь от коллеги администратора на работе. Это рабочая конфигурация:

# interfaces file

# The loopback network interface
auto lo
iface lo inet loopback

# The primary network interface
#allow-hotplug eth0
#iface eth0 inet static
#   address 192.168.100.90/22
#   gateway 192.168.101.1

auto bond0
iface bond0 inet manual
    bond-slaves eth0 eth1
    bond-mode active-backup
    bond-miimon 100
    bond-primary eth0 eth1

auto br0
iface br0 inet static
    address 192.168.100.90
    netmask 255.255.252.0
    gateway 192.168.101.1
    bridge-ports bond0
    bridge-fd 0
    bridge-stp off
    bridge-maxwait 5

Так что вам нужно перенести IP-адрес на мост. lxc-config выглядит так:

...
lxc.network.type = veth
lxc.network.flags = up
lxc.network.link = br0
lxc.network.name = eth0
lxc.network.mtu = 1500
lxc.network.hwaddr = 00:00:00:fe:fe:01
lxc.network.ipv4 = 192.168.100.91/22
lxc.network.ipv4.gateway = 192.168.101.1
...

Я обычно также редактирую файл интерфейсов для гостя, хотя в этом нет необходимости, так как приведенный выше конфиг управляет назначением ip:

# guest interfaces file
auto lo
iface lo inet loopback

auto eth0
iface eth0 inet static
    address 192.168.100.91
    netmask 255.255.252.0

Таким образом, теперь хост-машина и будущие гостевые контейнеры lxc будут находиться в одной сети. Для другого контейнера lxc вы просто назначаете следующий ip в подсети. Полагаю, вам не нужны маквланы, я пытался их использовать, но не смог заставить их работать.

Надеюсь, кто-нибудь найдет это полезным, если они это сделают, я отмечу это как принятый ответ.

Если я пропустил некоторую информацию, пожалуйста, дайте мне знать.

Другие вопросы по тегам