聊聊在家里折腾单线复用的经历

这篇就当作是当时计网VLAN实验的一个真实实践吧。

现在大部分人家里的光猫应该都是光纤/网线/高频入户,然后在弱电箱里有个猫,提供一个宽带口和一个IPTV口(不讨论光猫拨号的话)。这个时候一般得要两根网线从弱电箱里走暗线出去,一根去接路由器(当然要是你的弱电箱很大能塞得下路由器而且信号和散热也还行就不用往下看了),一根去接机顶盒。但是很多家庭里一个地方只穿了一根,不够用的话就得折腾一下,我随便说几个方案:

  • 自己再穿一根线,如果暗管的空间还足够的话。这个比较稳,而且也不难,像这个網路不通怎麼辦|最完整拉網路線教學|自己的網路自己救|禾我一起DIY EP.11【弱電通】,实在不行也可以请人来穿一根。
  • 单线复用,利用VLAN,在这根网线上面承载多项不同子网的业务。好处很明显,物理上不需要动线路了。而且目前内网单口千兆跑几个业务问题也不太大,除非是1000M的宽带这种会跑不满,不然应该都没有什么问题。
  • 如果机顶盒支持走无线IPTV(这个比较蛋疼)、光猫支持无线(当然你也用不上这个无线的话),并且能进光猫超级管理页,那么把IPTV的VLAN划到无线上就OK。这个方案可行但我个人不太感冒,毕竟很多时候都只能走2.4GHz频段,拥挤的时候稳定性堪忧。
  • 目前还很小众但是我挺看好的方案:光纤。网线走明线很明显,不太好看,但是光纤不会。TB上面能买到隐形光纤,搭配光纤收发器就可以了,成本不会很高。这里有篇文章提到了vleop mesh用隐形光纤组网达到有线回程-路由器交流。应该也可以买那种有线身补强的然后穿暗管。

这里主要讨论的是第二种方案,并不是我懒得去穿线,而是客厅的暗管很细还穿了2根网线(电视占了一根并且很难改造)和1根同轴电缆,卡得很紧动都动不了(淦,当时他是怎么穿过去的,服了),只好买两个简易的网管交换机来做单线复用了。

其实如果你的路由器可以划VLAN的话(比如自己刷了固件的K2P之类的)或者支持IPTV流量隔离,那买一个其实就够了;另外如果你能完全控制光猫的VLAN,那么应该不需要买了。现在这个时候,家用的简单网管交换机有很多,比较经典的就是网件的GS105E/GS108E(接口数量不一样),价格有点高(不过也有很多洋垃圾)。最近也有人在淘亚马逊(中亚直邮/美亚转运)上面的网件GS908E,价格不错。TP-LINK的TL-SG2005/TL-SG2008(8口这个内置了电源大了点),还有水星的SG105 Pro/SG108 Pro也都可以。

开工之前来复习一下:

比如这几篇:Fundamentals of 802.1Q VLAN Tagging – Cisco MerakiTagged, Untagged, and Native VLANs – Network DirectionWhat is PVID – Jason’s Web SiteHow to configure 802.1Q VLAN on TP-Link Easy Smart/Unmanaged Pro Switches? | TP-Linkdifference between untagged VLAN and PVID。还有问题的话…那就去看802.1Q吧,看完顺便带带弟弟。

首先,我们希望把互联网、IPTV和内网这三个子网隔离开来。我们知道可以通过VLAN来隔离广播域,使得同一个物理交换机上面有多个不互通的子网,除非有三层设备(路由器之类的)做转发。其次,我们希望可以单线复用,就是在一根线上承载不同子网的业务。我们知道Trunk用来连接两个交换机,两个交换机上同一VLAN的设备就可以互相通信,就很符合现在的需求。

VLAN enabled ports are generally categorized in one of two ways, tagged or untagged. These may also be referred to as “trunk” or “access” respectively. The purpose of a tagged or “trunked” port is to pass traffic for multiple VLAN’s, whereas an untagged or “access” port accepts traffic for only a single VLAN. Generally speaking, trunk ports will link switches, and access ports will link to end devices.

Fundamentals of 802.1Q VLAN Tagging – Best Practices

不管是叫access还是untag,trunk还是tag。简言之,我们需要划分3个VLAN,分别承载互联网(光猫Internet到路由器WAN)、IPTV(光猫IPTV到IPTV机顶盒)和内网(和路由器LAN互通)。Trunk(tag)口用来连接这两个交换机,Access(untag)口用来连接设备,它们都用来决定离开这个端口时的动作;PVID来决定一个没有tag的包进入这个端口时应该如何做(不是所有厂商的交换机都有这个,有些是自动的)。

get到上面的点之后,就可以开工了。完工后的拓扑大概会是这个样子的,菜鸡本菜不会用Visio只能随便画一个了:

具体两个交换机上接线应该是这样的:

很显然了,两台交换机上的端口1都是Trunk口,然后端口2、端口3、端口45分别设不同的VLAN。如果假定VLAN 10给互联网,VLAN 20给IPTV,VLAN 11给内网,那么交换机A和B的设置应该一样,VLAN应该是这样的:

  • VLAN 10(Internet):端口1设为Tag;端口2设为Untag;
  • VLAN 20(IPTV):端口1设为Tag;端口3设为Untag;
  • VLAN 11(LAN):端口1设为Tag;端口4和5设为Untag;
  • PVID:端口1设为1,端口2设为10,端口3设为20,端口4和5设为11。

这适用于不在弱点箱内的主路由拨号然后通过弱电箱内的暗线共享给其它房间的设备(例如子路由)的场景。缺点也明显,某些地方的链路容易饱和。例如房间内的网线去公网最高就只能500Mbps,但对于我来说不是什么问题。要解决这个问题可以在光猫上拨号然后其它路由做AP,或者类似的方案,需要根据实际情况做取舍。

此时可以接线进行测试了,如果在两台交换机上不同VLAN间不能互相通讯而相同VLAN间可以通讯,那么应该可以开始正常使用了。

如果有任何错误或问题,烦请在评论区指出。不胜感激。

留下评论

电子邮件地址不会被公开。 必填项已用*标注

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据

%d 博主赞过: