热门标签 | HotTags
当前位置:  开发笔记 > 运维 > 正文

不同vlan之间如何ping通_如何桥接两个不同的VLAN?

为了更好理解本文,强烈建议先阅读上一篇文章:两个vlan互通和划分到同一个vlan有何区别?本文是上一篇文章的姊妹篇。有读者会说ÿ

为了更好理解本文,强烈建议先阅读上一篇文章:

两个vlan互通和划分到同一个vlan有何区别?

本文是上一篇文章的姊妹篇。

有读者会说,这还不容易啊?一根网线的两端同时插入交换机,网线的一段连VLAN 1端口(假定端口1),另一端连VLAN 2端口(假定端口2)。

嗯,这个主意确实不错,VLAN 1的广播,可以扩散到端口1,流入进入网线,顺着网线又流进端口2。端口2处于VLAN 2的广播域,于是广播在VLAN 2里继续扩散。

本来属于VLAN 1的广播,被一根网线的搭桥,蔓延到VLAN 2里。

VLAN的设计初衷,是为了减小广播域面积。现在用一个“奇技淫巧”却将广播域的面积扩大了。

f33bcc903d08e1465711bb12400e72bf.png

这样做会不会造成二层的环路?生成树(STP)会不会将其中的一个端口阻塞(Block)?

不会。

如果端口1,2处于同一个VLAN,其中一个端口会被逻辑关闭(Block)。

但是端口1,2在不同的VLAN,不会形成二层环路,所以都处于通行状态(Forwarding)。

Q1: 10.1.0.2/25在VLAN 1里,10.1.0.200/25在VLAN 2里,两个VLAN里都没有网关,只有本文提到的网线塔桥,它们可以通信吗?

不可以!

因为10.1.0.2/25经过计算,发现对方的网段和自己的不一样。需要通过网关转发,但是并没有配置网关,通信失败。

有读者会说,既然ARP广播可以到达对方,为何主机10.1.0.2/25不直接发ARP广播,查询10.1.0.200/25的MAC地址?

主机其实还是一堆塑料与金属组成的机器,它们能干什么,或者不能干什么,全部来自于代码工程师的旨意。

代码工程师发话了,既然对方不在一个网段,必须通过网关转发,没有网关就扔!

绝不能自说自话发ARP广播去查询对方MAC!

Q2: 网关10.1.0.1/25在VLAN 1里,主机10.1.0.2/25在VLAN 2里,用网线塔桥,将VLAN 1、2连接起来,它们可以通信吗?

可以!

双方计算发现对方和自己的网段一样,并且ARP消息交互没有问题,所以没有任何问题!

读者会问,为何要这样?既然一个网段那就放在一个VLAN里好了,为何偏偏要放在两个不同的VLAN里?

放就放了,还用网线将它们连接起来,这一切难道是吃饱了撑的?

上文所有的前戏,都是为了迎接暴风雨的到来。。。

Q3: 用一个桥接(BR)设备替代上文的网线,桥接设备一端连接VLAN 1, 另一端连接VLAN 2,Q2的问题,它们可以通信吗?

没问题啊!

桥接设备和网线本来就没有什么区别!

上行的文字只说对了一半,如果桥接设备不对流量做“全身扫描”、“复制”、“入侵检测”、“病毒扫描”等操作,换句话说,不会动流量一根毫毛,确实和网线没有什么区别。

但如果做了上文一项操作或多项操作,那区别就大了。

这台桥接设备的名字可以叫“防火墙”、“入侵检测/阻止系统”、“在线备份”。

Q4: 最后一个问题,这样做有什么好处吗?

灵活性贼高!

通过执行脚本程序,将桥接设备连接的2个端口都修改为VLAN 1,10.1.0.1/2510.1.0.2/25之间的流量将不会流经桥接设备。

将桥接设备连接的2个端口一个放在VLAN 1,一个放在VLAN 2里,10.1.0.1/2510.1.0.2/25之间的流量一定会流经桥接设备,桥接设备就可以任意把玩这些流量了。

在整个过程中,没有动过一根网线,网络的物理拓扑一直保持不变,这就是灵活性!

如果喜欢这篇文章,请不要忘记点击右下方“在看”,谢谢!




推荐阅读
author-avatar
迈迈最love
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有