首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >桥接接口和VLAN标记

桥接接口和VLAN标记
EN

Unix & Linux用户
提问于 2019-10-10 12:25:19
回答 1查看 30.8K关注 0票数 12

我正在尝试建立一个系统,将一个无标记的以太网网络连接到一个水龙头隧道,在流量移动到隧道时添加一个VLAN标记。

到目前为止,我已经:

  • eth0 -承载无标记通信量的物理以太网接口。
  • tap1 -水龙头隧道接口.
  • br0 --一种包含tap1 (和其他物理接口)的桥

我知道我可以通过这样做在以太网端添加一个VLAN标记:

代码语言:javascript
运行
复制
$ ip link add link eth0 name eth0.5 type vlan id 5
$ brctl addif br0 eth0.5

但我该怎么做呢?

编辑我发现我可以这样做:

代码语言:javascript
运行
复制
$ ip link add veth0 type veth peer name veth1
$ ip link add link veth0 name veth0.5 type vlan id 5
$ brctl addif br0 veth0.5
$ brctl addbr br1
$ brctl addif br1 eth0
$ brctl addif br1 veth1

我认为这做了我想做的-它创建了两个桥,与虚拟以太网设备连接它们,并添加/删除VLAN标记,因为流量通过之间的桥梁。还有更简单的吗?

EN

回答 1

Unix & Linux用户

回答已采纳

发布于 2019-10-10 20:13:26

是的:您可以将网桥设置为VLAN感知。

然后,网桥将处理附加到交叉帧的VLAN ID,包括根据配置标记和取消标记,并将属于给定VLAN的帧发送到配置为接受它的端口。这会将所有设置移动到桥接器本身,而不必使用VLAN子接口(当然,这些子接口仍然可以在某些设置中使用)。

这个特性不能通过过时的brctl命令获得,但是需要更新的bridge命令(以及通常的ip link命令)。这是一个更简单的设置(一个桥,没有子接口).

方法是将tap1配置为带有VLAN ( VID ) 5的标记桥端口,eth0也配置为VID 5,但设置为无标记:输出被取消标记,并且此VID配置为PVID (Port ):输入在桥内被标记。每个端口只能有一个PVID。

同时,可以选择地删除默认分配给每个端口的VLAN 1(当然,除非更复杂的设置需要多个VLAN)来保持一个干净的配置。

到目前为止,使用更新命令的设置应该如下所示:

代码语言:javascript
运行
复制
ip link set eth0 up
ip link set tap1 up

# the following line could have directly included at bridge creation the additional parameter `vlan_filtering 1`
ip link add name br0 type bridge

ip link set tap1 master br0
ip link set eth0 master br0

特定的VLAN感知桥设置,从激活功能开始:

代码语言:javascript
运行
复制
ip link set dev br0 type bridge vlan_filtering 1

bridge vlan del dev tap1 vid 1
bridge vlan del dev eth0 vid 1

bridge vlan add dev tap1 vid 5
bridge vlan add dev eth0 vid 5 pvid untagged

ip link set br0 up

请注意,桥的自隐式端口仍在使用VID 1,因此直接在桥上分配IP (就像在某些设置上所做的那样)现在将无法正常通信。如果确实需要这样的配置,您也可以使用稍微不同的语法(self)在VLAN 5中设置桥的自端口,因为它本身就是桥本身:

代码语言:javascript
运行
复制
bridge vlan del dev br0 vid 1 self
bridge vlan add dev br0 vid 5 pvid untagged self

通常更清晰的做法是(仍然删除桥的默认VID 1,以防止它与任何可能的交互),添加一个veth对,插入桥的一端,配置与eth0相同的桥vlan设置,并在另一端分配IP。

关于这个主题的好博客系列:

在未命名的Linux网络命名空间 二、 三、 IV V VI VII 八。中使用veth设备、Linux网桥和VLANs。

票数 18
EN
页面原文内容由Unix & Linux提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://unix.stackexchange.com/questions/546136

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档