Объединение контейнеров LXD в VLAN

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

Я хочу соединить два контейнера LXD с одним и тем же VLAN.

Для этого я создаю интерфейс VLAN поверх физического, а затем назначаю его тому же виртуальному мосту, который используется контейнером LXD.

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

#!/usr/bin/env bash

sudo ip link add link $1 name $1.$2 type vlan id $2
sudo ifconfig $1.$2 $3 # this is useless I think

sudo ip link add vnet$2 type bridge

sudo ip link set vnet$2 up
sudo ip link set $1.$2 up

sudo ip link set dev $1.$2 master vnet$2

read -n 1 -s -r -p "Press any key to destroy..."

sudo ip link del vnet$2
sudo ip link del $1.$2

И это профиль, используемый контейнерами.

lxc profile show vlan
config: {}
description: Default LXD profile
devices:
  eth0:
    name: eth0
    nictype: bridged
    parent: vnet2
    type: nic
  root:
    path: /
    pool: default
    type: disk
name: vlan
used_by:
- /1.0/containers/lxd1

Я назначаю два IP-адреса в одной подсети для двух контейнеров, но если я попытаюсь выполнить эхо-запрос, используя tcpdump, я могу увидеть, что один из двух хостов получает ARP запрашивает и отправляет ответы, в то время как другой не получает ответов.

Есть предложения?

На этом изображении представлена ​​моя тестовая площадка

   +-------------------------+                 +-------------------------+
   |      Host1              |                 |     Host2               |
   |-------------------------|                 |-------------------------|
   |                         |                 |                         |
   |   +---------+       +----------+   +----------+    +----------+     |
   |   |  ens2.2 +------->   |ens2  <---+ ens2 |   <----+ ens2.2   |     |
   |   +----^----+       +----------+   +----------+    +------^---+     |
   |        |                |                 |               |         |
   |   +----+----+           |                 |        +------+---+     |
   |   | vnet2   |           |                 |        | vnet2    |     |
   |   +---^-----+           |                 |        +------^---+     |
   |       |                 |                 |               |         |
   |       |                 |                 |               |         |
   | +-----+-------------+   |                 |  +------------+-----+   |
   | |  LXD Container    |   |                 |  |  LXD Container   |   |
   | +-------------------+   |                 |  +------------------+   |
   |                         |                 |                         |
   +-------------------------+                 +-------------------------+
1
задан 28 March 2019 в 14:26
1 ответ

На самом деле конфигурация LXD и Bridge была в порядке, по какой-то причине коммутатор не смог управлять VLAN

0
ответ дан 4 December 2019 в 03:08

Теги

Похожие вопросы