要回答这个问题,我们要先了解一下什么是VLAN?为什么需要VLAN?
VLAN是什么 虚拟局域网 (Virtual Local Area Network 或简写VLAN ,V-LAN )是一种建构于局域网交换技术(LAN Switch)的网络管理 的技术,网管人员可以借此透过控制交换机 有效分派出入局域网的报文到正确的出入端口,达到对不同实体局域网中的设备进行逻辑分群(Grouping)管理,并降低局域网内大量数据流通时,因无用报文过多导致壅塞的问题,以及提升局域网的信息安全保障。[1]
为什么需要VLAN 简单来说当我们使用单网口 路由器的时候,用一个网口同时处理WAN口与LAN口数据时容易造成报文壅塞,严重时可能造成网络风暴。所以即使我们只有一个网口,我们希望通过某些方式做到逻辑隔离,有效减少无用报文提高数据交换效率。
而VLAN便是一种实现交换机 以太网 广播隔离的一种理想解决方案,它可以为网络提供以下作用:
1 广播控制 2 带宽利用 3 降低延迟 4 安全性 所以单网口路由器加上VLAN便可以做为一个主力路由器。
为保证不同交换机能通过VLAN通信,1995年IEEE 802委员会发表了802.1Q VLAN技术的实现标准与帧结构。具体细节可自行Google查询。 前置条件 1 支持基于IEEE 802.1Q VLAN管理交换机 2 单网口OpenWRT设备(N1盒子) 题图是楼主自家的设备集合,一个N1盒子、一个8口全千兆管理型交换机、一个无线路由器。
基本原理与拓扑架构 通过交换机的管理页面,将网络划分为两个VLAN:
VLAN10 为LAN口网络,包含端口2-6VLAN100 为WAN口网络,包含端口1-2其中端口2为公用端口(tagged port),同时处理WAN口、LAN口两种流量,其他口为untagged port。
VLAN 设置 t=tagged u=untagged 然后为每个端口设置PVID,其作用是为所有不带标签的VLAN数据流进来时打上标签。
如光猫数据从端口1进来此时不带任何标签,经过端口1后便打上了100 的标签,随后在VLAN100 的 VLAN 里面流通,找到唯一一个出口端口2,带上标签进入OpenWRT路由器。
PVID设置 结合以下拓扑图,我们不难分析数据走向(相同颜色即为同一VLAN):
1 无标签数据从光猫进入交换机的网口1,被打上100的标签 2 标签100只在属于VLAN100,所以找到唯一的一个可连接的端口2,从端口2进入路由器 3 路由器设置了WAN口连接VLAN100,LAN口连VLAN10。CPU处理带标签100的数据后,然后转换成标签10的数据流回端口2 4 数据流向端口3-6,从端口出去时将ID去掉,给到无线路由器或者有线PC等设备(各种设备对VLAN无感知) 5 从WAN到LAN的数据流结束 单网口OpenWRT设备 + 网管交换机的VLAN拓扑 如何设置 请参考视频资料。
1 交换机设置 VLAN划分设置
VLAN划分 PVID设置
PVID设置 2 OpenWRT接口设置 LAN桥接到 eth0.10 ,即使用VLAN10
LAN口设置 WAN口设置到 eth0.100 ,即连接到VLAN100。
WAN口设置 3 防火墙设置 将之前单臂路由时所设置的防火墙规则删掉或者注释掉,换为第二行的规则。
#iptables -t nat -I POSTROUTING -o eth0 -j MASQUERADEiptables -t nat -I POSTROUTING -o pppoe-WAN -j MASQUERADE 总结 通过VLAN的划分我们的单网口路由即可摇身一变成主路由,同时WAN口/LAN口的数据流量不冲突、不会造成潜在的风险。剩余的3-8口都可以作为LAN口,只需要把网络设备接上即可正常上网。
参考 https://www.right.com.cn/forum/thread-981406-1-1.html
https://zhuanlan.zhihu.com/p/107093485
^ 维基百科-虚拟局域网 https://zh.wikipedia.org/wiki/%E8%99%9A%E6%8B%9F%E5%B1%80%E5%9F%9F%E7%BD%91#VLAN%E7%9A%84%E9%81%8B%E4%BD%9C%E5%8E%9F%E7%90%86%E8%88%87%E5%AF%A6%E4%BD%9C%E6%96%B9%E5%BC%8F