linux的bridge,Linux Bridge 详解
一、vlan_filter 功能
内核3.8版本以后的 bridge 增加了一个新功能叫 VLAN filter
VLAN filter 主要有两个功能
可以给进出的数据打vlan tag ,剥离vlan tag,要看后面跟的参数
起到过滤功能,比如接口vid设置为100,则只让vlan100的数据通过,直接丢弃其他数据
废话不多说,直接上命令
$ ip link set br0 type bridge vlan_filtering 1
或者
$ echo 1 > /sys/class/net/brx/bridge/vlan_filtering
$ bridge vlan add dev veth01 vid 100 pvid untagged master
bridge vlan add -- 增加一个VLAN过滤条目
dev NAME -- 与此VLAN相关的接口
vid VID -- 标识VLAN的VLAN ID
tunnel_info TUNNEL_ID -- 映射到此vlan的隧道ID(没用过,不懂什么意思)
pvid -- 指定的VLAN在入口时将被视为PVID。任何未标记的帧都将分配给该VLAN
untagged -- 指定的VLAN在出口时将被视为未标记
self -- 在指定的物理设备上配置了VLAN。如果该设备是bridge,则必选
master -- 默认配置
bridge vlan delete
bridge vlan show
bridge vlan tunnelshow
有了 VLAN filter, Linux Bridge 就像一个真正的交换机,我们不再需要创建多个 VLAN 和网桥,直接在 Bridge 上打上/剥离 VLAN 标记。
二、SVI 接口 -- VLAN 间路由
一个交换机可能会有多个VLAN与其相连,则需要通过三层流量让这些VLAN间进行通信。而SVI(Switch virtual interface)即为路由间选择的虚拟VLAN接口。
废话不多说直接上命令
增加SVI接口
$ ip link add link br0 name br0.100 type vlan id 100
$ ip addr add 192.168.1.1/24 dev br0.100
连接VM1和VM2的接口增加VLAN过滤ID 100 和 200
$ ip link set br0 type bridge vlan_filtering 1
$ bridge vlan add dev veth1 vid 100 pvid untagged master
VM1和VM2的默认网关指向SVI接口
$ ip route rep default via 192.168.1.1
关键一步:br0也要增加VLAN过滤ID 100 和 200。当VM1第一次想要发数据到VM2,会先问网关的MAC地址,ARP请求到达veth1后会打上ID=100的VLAN TAG。然后数据会到达br0.100,br0.100会作ARP应答,数据到达br0后,若br0没有这增加这两个ID的VLAN过滤条目,则会将数据丢弃。所以 br0也要增加VLAN过滤ID 100 和 200(感觉解释得不太清楚,反正就要打,不打数据就会被丢 :sweat_smile:)
$ bridge vlan add dev br0 vid 100 pvid untagged self
其实要不要加这个 pvid untagged我也没太搞清楚……:sweat:评论区有大神指点就好了。
三、其他功能
基本操作,废话不多说。
四、参考文档
linux的bridge,Linux Bridge 详解相关推荐
- 【linux】Valgrind工具集详解(八):Memcheck命令行参数详解
[linux]Valgrind工具集详解(五):命令行详解中不够全,在此专门针对Memcheck工具中的命令行参数做一次详细的解释. Memcheck命令行选项 –leak-check=<no| ...
- linux ps(process status) 命令详解
linux ps(process status) 命令详解 功能说明:报告程序状况. 语 法:ps [-aAcdefHjlmNVwy][acefghLnrsSTuvxX][-C <指令名称> ...
- Linux操作系统上lsof命令详解
Linux操作系统上lsof命令详解 2011-10-08 18:31:31 http://xjsunjie.blog.51cto.com/999372/682865 标签:Linux lsof命令 ...
- linux slocate(secure locate) 命令详解
linux slocate(secure locate) 命令详解 功能说明:查找文件或目录. 语 法:slocate [-u][--help][--version][-d <目录>][查 ...
- (传送门)linux命令总结dd命令详解
linux命令总结dd命令详解 https://www.cnblogs.com/ginvip/p/6370836.html 懒癌末期,不想花时间拷贝内容+排版,而且,原文排版就已经很棒了,我在这里只是 ...
- Linux上的free命令详解
Linux上的free命令详解 转自: http://www.cnblogs.com/coldplayerest/archive/2010/02/20/1669949.html 解释一下Linux上f ...
- linux下sort命令使用详解---linux将文本文件内容加以排序命令
转载自:http://www.cnblogs.com/hitwtx/archive/2011/12/03/2274592.html linux下sort命令使用详解---linux将文本文件内容加以排 ...
- linux PHP 编译安装参数详解
linux PHP 编译安装参数详解 ./configure --prefix=/usr/local/php --with-config-file-path=/usr/local/php/etc -- ...
- Linux下的awk用法详解
Linux下的awk用法详解 一.awk介绍 二.awk的语法 三.awk常见用法 四.awk其他用法 五.awk语言特性 一.awk介绍 1.AWK 是一种处理文本文件的语言,是一个强大的文本分析工 ...
- linux send与recv函数详解
linux send与recv函数详解 1 #include <sys/socket.h> 2 ssize_t recv(int sockfd, void *buff, size_t nb ...
最新文章
- 对称加密算法之DES介绍
- 初步了解mac下C源码的编译过程
- 苏宁的另类“存在感”
- vue-element-admin文档gitee地址
- 二分查找(5种方式实现二分查找),栈
- 计算机视觉之OpenCV教程 ---Mat类基础(一)
- 大众继续深耕SUV市场:5款新车型先于上海车展登场,ID. ROOMZZ成点睛之笔
- 虚拟化精华问答 | 如何为虚拟机分配任务?
- 都匀中专学计算机,都匀计算机专业中专学校学几年
- 页面中php传值后循环列表js获取点击的id
- 通信原理实践(一)——音频信号处理
- 云服务器微信faq,开发者FAQ
- 谷歌神经网络机器翻译NMT:人人可利用TensorFlow快速建立翻译模型
- Mysql数据库入门 (基础知识点 由来 各种指令 如何运用)
- input onfocus
- 瑞芯微rk2818(android系统2.1),从Android 2.1开始 瑞芯微RK2818要火
- latex表格内部自定义换行
- 学网络安全需要什么基础?
- 软件测试:保障软件质量的关键性关口——记中国工商银行软件开发中心北京研发_manok_新浪博客...
- 大数据精准营销(五)