linux网桥支持vlan filtering过滤功能后,咱们不仔再须要经过子接口的形式进行vlan划分,简化了vlan配置。linux

1. bridge vlan说明

man bridge能够了解到,linux经过以下命令进行vlan filtering的配置:shell

bridge vlan { add | del } dev DEV vid VID [ pvid ] [ untagged ] [ self ] [ master ]

选项说明:ubuntu

pvid:端口的默认vlan,全部从该端口输入的没有携带vlan的报文,会被打上该vlan标签,该选项只对输入报文有效。ui

untagged:端口的untag vlan,输出报文携带该vlan时,会被剥离。code

通常状况下pvid和untagged是同时使用的,对应于cisco的switchport trunk native vlan接口

selfip

masterci

这两个选项在帮助手册上是这么解释的:terminal

self the vlan is configured on the specified physical device. Required if the device is the bridge device.

master the vlan is configured on the software bridge (default).

个人理解是:self表示该vlan是添加再bridge设备上的,并且给桥添加vlan时必须且只能携带该选项,不然会报错:it

ubuntu@VM-126-137-ubuntu:~$ sudo ip link add Bridge up type bridge vlan_filtering 1

ubuntu@VM-126-137-ubuntu:~/bgp-lab$ sudo bridge vlan add vid 100 dev Bridge self

ubuntu@VM-126-137-ubuntu:~/bgp-lab$

ubuntu@VM-126-137-ubuntu:~/$ sudo bridge vlan add vid 100 dev Bridge master

RTNETLINK answers: Operation not supported

ubuntu@VM-126-137-ubuntu:~/$ sudo bridge vlan add vid 100 dev Bridge

RTNETLINK answers: Operation not supported

ubuntu@VM-126-137-ubuntu:~/$

master表示该vlan是添加再bridge的端口设备上的,该选项是默认的,给桥上的端口添加vlan时能够不指定该参数。

ubuntu@ubuntu:~/$ sudo ip link del Bridge

ubuntu@ubuntu:~/$ sudo ip link add Bridge up type bridge vlan_filtering 1

ubuntu@ubuntu:~/$ sudo ip link set eth1 master Bridge

ubuntu@ubuntu:~/$ sudo bridge vlan add vid 100 dev Bridge self

ubuntu@ubuntu:~/$ sudo bridge vlan add vid 100 dev eth1

ubuntu@ubuntu:~/$ sudo bridge vlan add vid 100 dev eth1 master

ubuntu@ubuntu:~/$

ubuntu@ubuntu:~/$ sudo bridge vlan add vid 100 dev eth1 self

RTNETLINK answers: Operation not supported

ubuntu@ubuntu:~/$

ubuntu@ubuntu:~/$ sudo bridge vlan show

port vlan ids

eth1 1 PVID Egress Untagged

100

Bridge 1 PVID Egress Untagged

100

ubuntu@ubuntu:~/$

添加桥时,默认会以 pvid untagged形式添加的默认vlan 1中,不少厂商会把vlan 1做为保留vlan,不容许用户配置。

ubuntu@ubuntu:~/$ sudo ip link del Bridge

ubuntu@ubuntu:~/$ sudo bridge vlan show

port vlan ids

ubuntu@ubuntu:~/$ sudo ip link add Bridge up type bridge vlan_filtering 1

ubuntu@ubuntu:~/$ sudo bridge vlan show

port vlan ids

Bridge 1 PVID Egress Untagged

ubuntu@ubuntu:~/$

端口加入桥时,也会默认以 pvid untagged形式添加的默认vlan 1中,

ubuntu@ubuntu:~/$ sudo ip link del Bridge

ubuntu@ubuntu:~/$ sudo ip link add Bridge up type bridge vlan_filtering 1

ubuntu@ubuntu:~/$ sudo ip link set eth1 master Bridge

ubuntu@ubuntu:~/$ sudo bridge vlan show

port vlan ids

eth1 1 PVID Egress Untagged

Bridge 1 PVID Egress Untagged

ubuntu@ubuntu:~/$

也能够删除默认vlan 1

ubuntu@ubuntu:~/$ sudo bridge vlan del vid 1 dev enp4s0f0 master

ubuntu@ubuntu:~/$ sudo bridge vlan show

port vlan ids

enp129s0f0np0

enp129s0f1np1

enp4s0f0 100

Bridge 1 PVID Egress Untagged

100

ubuntu@ubuntu:~/$ sudo bridge vlan del vid 1 dev Bridge self

ubuntu@ubuntu:~/$ sudo bridge vlan show

port vlan ids

enp4s0f0 100

Bridge 100

ubuntu@ubuntu:~/$

2.实验

2.1 ubuntu配置

ubuntu@ubuntu:~/$ sudo ip link add Bridge up type bridge vlan_filtering 1

ubuntu@ubuntu:~/$ sudo ip link set eth1 master Bridge

ubuntu@ubuntu:~/$ sudo bridge vlan add vid 100 dev Bridge self

ubuntu@ubuntu:~/$ sudo bridge vlan add vid 100 dev eth1 master

ubuntu@ubuntu:~/$ sudo ip link add link Bridge name Vlan100 up type vlan id 100

ubuntu@ubuntu:~/$ sudo ip addr add 10.0.2.1/24 dev Vlan100

ubuntu@ubuntu:~/$ sudo bridge vlan show

port vlan ids

eth1 1 PVID Egress Untagged

100

Bridge 1 PVID Egress Untagged

100

ubuntu@ubuntu:~/$

2.2 交换机配置

SWITCH# exit

SWITCH> enable

SWITCH# show vlan

+-----------+--------------+---------+----------------+-----------------------+

| VLAN ID | IP Address | Ports | Port Tagging | DHCP Helper Address |

+===========+==============+=========+================+=======================+

+-----------+--------------+---------+----------------+-----------------------+

SWITCH# configure terminal

SWITCH(config)# vlan 100

SWITCH(config)# interface eth25GE 47

SWITCH(config-if)# switchport mode

access trunk

SWITCH(config-if)# switchport mode trunk

SWITCH(config-if)# switchport trunk allowd vlan add 100

SWITCH(config-if)# exit

SWITCH(config)# interface vlan 100

SWITCH(config-if)# ip address 10.0.2.2/24

Add Vlan100 into default VRF

SWITCH(config-if)#

2.3 互ping

SWITCH(config-if)# do ping 10.0.2.1

PING 10.0.2.1 (10.0.2.1) 56(84) bytes of data.

64 bytes from 10.0.2.1: icmp_seq=1 ttl=64 time=0.196 ms

64 bytes from 10.0.2.1: icmp_seq=2 ttl=64 time=0.219 ms

64 bytes from 10.0.2.1: icmp_seq=3 ttl=64 time=0.150 ms

^C

SWITCH(config-if)#

--- 10.0.2.1 ping statistics ---

3 packets transmitted, 3 received, 0% packet loss, time 2032ms

rtt min/avg/max/mdev = 0.150/0.188/0.219/0.030 ms

SWITCH(config-if)#

ubuntu@ubuntu:~/$ ping 10.0.2.2

PING 10.0.2.2 (10.0.2.2) 56(84) bytes of data.

64 bytes from 10.0.2.2: icmp_seq=1 ttl=64 time=0.308 ms

64 bytes from 10.0.2.2: icmp_seq=2 ttl=64 time=0.245 ms

64 bytes from 10.0.2.2: icmp_seq=3 ttl=64 time=0.262 ms

^C

--- 10.0.2.2 ping statistics ---

3 packets transmitted, 3 received, 0% packet loss, time 2031ms

rtt min/avg/max/mdev = 0.245/0.271/0.308/0.032 ms

ubuntu@ubuntu:~/$

linux bridge vlan,Linux Bridge vlan filtering相关推荐

  1. Linux下的虚拟Bridge实现

    Linux下的Bridge也是一种虚拟设备,这多少和vlan有点相似,它依赖于一个或多个从设备.与VLAN不同的是,它不是虚拟出和从设备同一层次的镜像设备,而是虚拟出一个高一层次的设备,并把从设备虚拟 ...

  2. Bridge in Linux Kernel——STP

    这篇博客是Bridge in Linux Kernel系列的第三篇,主要介绍Bridge使用的STP协议的原理,包括STP协议解决的问题,STP协议包的格式及主要功能.Bridge的STP的部分实现以 ...

  3. ArduinoYun教程之Arduino环境与Linux环境的桥梁Bridge

    ArduinoYun教程之Arduino环境与Linux环境的桥梁Bridge Arduino环境与Linux环境的桥梁--Bridge 在第一章中介绍Arduino Yun硬件的时候提到过,它上面有 ...

  4. linux虚拟网络设备之bridge(桥)(三)

    继前两篇介绍了tun/tap和veth之后,本篇将介绍Linux下常用的一种虚拟网络设备,那就是bridge(桥). 本篇将通过实际的例子来一步一步解释bridge是如何工作的. 什么是bridge? ...

  5. linux构建基于mac的vlan,通过CLI配置交换机的基于MAC的VLAN组

    通过CLI配置交换机的基于MAC的VLAN组 Introduction 虚拟局域网逻辑上允许您对网段A区域网(LAN)到不同的广播域.在敏感数据可能是在网络的广播的方案中, VLAN可以通过选定广播创 ...

  6. linux服务器lvs,Linux的企业-LVS(Linux虚拟服务器)及FULLNAT设置

    一.Linux Virtual Server (linux虚拟服务) lvs工作于IOS七层模型的传输层,通过对TCP.UDP.SCTP.IPsec ESP.AH这些工作在四层的协议的支持,根据目标地 ...

  7. linux kvm参数,Linux KVM总结

    1.桥接配置文件如下: ifcfg-br0//第一个桥br0设置ip主要来管理宿主机. DEVICE=br0 //设备为br0 TYPE=Bridge //总类为桥接 BOOTPROTO=static ...

  8. 达内linux考试题,达内Linux工程师.doc

    达内Linux工程师 全真项目模块实训 第一阶段(以搭建维护底层网络基础平台为驱动)实训主题实训内容实训目标计算机基础计算机硬件组成:虚拟机环境部署:安装维护Windows 7: Ghost系统备份与 ...

  9. linux键盘修复,linux和macos_如何在macOS和Linux上修复Corsair鼠标和键盘问题

    linux和macos_如何在macOS和Linux上修复Corsair鼠标和键盘问题 linux和macos_如何在macOS和Linux上修复Corsair鼠标和键盘问题 linux和macos ...

  10. linux内核报告,Linux升级内核报告.docx

    Linux升级内核报告精要 我的Linux 内核升级记录 准备工作内核安装包的下载下载地址为: HYPERLINK "/pub/linux/kernel/" /pub/linux/ ...

最新文章

  1. matlab 卷积conv2用法
  2. Zookeeper分布式一致性原理(五):Zookeeper-Java-API
  3. PHP设计模式之装饰者模式
  4. C语言检查一个字符串是否为另一个字符串的子字符串的算法(附完整源码)
  5. 计算机在职英语,计算机在职研究生英语教学存在的不足
  6. ext的window如何隐藏水平滚动条
  7. pb,json,二进制,xml数据对比
  8. 三层交换机连接路由器时配置OSPF注意事项
  9. Linux的用户和组
  10. 苏教版六年级上册计算机教案,苏教版六年级数学上册最新全册教案
  11. 如何用计算机进行机械制图,机械制图与机械CAD的有机结合的探究
  12. PHP的WMB队列消费代理的实现
  13. 中国区边界shp文件以及STRM 90m DEM分享(百度云免费下载链接)
  14. 镇江市第一届软件设计大赛参赛作品简单记录
  15. Java岗面试题--Java基础(日积月累,每日三题)
  16. 圆形上下挤压 matlab,基于Matlab的GUI设计双螺杆挤压机系统仿真软件
  17. 使用Windows驱动的虚拟打印机,打印Excel表格无表格线问题解决(1)
  18. Android 屏幕适配 - 支持刘海屏
  19. rsi红绿多空波段副图指标 rsi指标公式趋势,兼容通达信公式
  20. 180209 逆向-Frida-python on win多进程BUG(曲线救国)

热门文章

  1. 思维挑战6:奔跑的小人
  2. Qt——原地奔跑的小人
  3. 2、CSS动画之行走的米兔、奔跑的小人
  4. 关于Bandicam使用心得
  5. 【Linux】安装opencv4避坑指南
  6. 手机端html只允许竖屏,关于移动端页面强制竖屏的方法
  7. xrd精修教程_XRD精修干货和三元材料的XRD精修实例
  8. XRD格式转换 神器
  9. 数学作图工具_数学趣览X 曾让古希腊人犯怵的三大几何作图难题
  10. OverFeat,分类、定位、检测