将 LXD 容器连接到 VLAN

将 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 进行 ping 操作,我可以看到两个主机中的一个接收 ARP 请求并发送答复,而另一个没有收到答复。

有什么建议吗?

这张图片代表我的试验台

   +-------------------------+                 +-------------------------+
   |      Host1              |                 |     Host2               |
   |-------------------------|                 |-------------------------|
   |                         |                 |                         |
   |   +---------+       +----------+   +----------+    +----------+     |
   |   |  ens2.2 +------->   |ens2  <---+ ens2 |   <----+ ens2.2   |     |
   |   +----^----+       +----------+   +----------+    +------^---+     |
   |        |                |                 |               |         |
   |   +----+----+           |                 |        +------+---+     |
   |   | vnet2   |           |                 |        | vnet2    |     |
   |   +---^-----+           |                 |        +------^---+     |
   |       |                 |                 |               |         |
   |       |                 |                 |               |         |
   | +-----+-------------+   |                 |  +------------+-----+   |
   | |  LXD Container    |   |                 |  |  LXD Container   |   |
   | +-------------------+   |                 |  +------------------+   |
   |                         |                 |                         |
   +-------------------------+                 +-------------------------+

答案1

实际上 LXD 和 Bridge 配置正常,但由于某种原因,交换机无法管理 VLAN

相关内容