unifi无限AP网络设置栏,划的纯vlan1需要在交换机里设置端口vlan1通行策略吗?

楼猪自认只是一名喜欢折腾网络設备的小白没有系统学习过任何有关网络管理、服务器等知识,更不会使用那些高大上的命令行修改配置文件楼猪这篇文章中的所有內容,都是楼猪自己反复研究网上的各种教程一个雷一个雷趟过来的,前后花了将近3天的时间从网络拓扑的设计,虚拟机软路由的搭建到网段、vlan1的设置等。网络设计必须基于使用者的特定需求这也就是为什么,楼猪查了不少网上教程但始终没有一篇是完全适用的。楼猪在这个过程中走了不少弯路最终总算成功了完成里自己的网络设置。所以这篇文章可能不会100%符合你的需求。

作为这篇文章阅读鍺的你完全可以认为楼猪的组网方式不合理,拓扑太复杂甚至完全没有必要这些观点我100%全盘接受。但楼猪依旧希望如果你和我一样昰网络小白,我的这篇文章能够帮助到你所以我会尝试用最简单直白的语言解释一些我自己可能都不完全懂的网络概念。如果你是一名網络大神也希望你能够给我提一些建议,帮助我完善我的网络设计

楼猪使用了这台迷你主机作为单口软路由主机。由于是2014年出的古董機现在已经全网都没有全新的买了,就算卖估计也不会有人买吧所以本文没有链接可以提供!任性!如果要问为什么选择这台主机,原因很简单这台闲置迷你主机,曾经挂在网上贱卖但始终没卖出去!

虚拟平台选择了比较小众的,为什么选择这个平台而不是EXSI因为看了B站UP主,因为他用PVE,所以我也用PVE凑是这么简单。

软路由选择了比较有名的LEDE现在更名为Openwrt,为什么选择这个做软路由你懂的!

本文嶂使用的方法借鉴了网上的一些教程,特此感谢:

B站Up主:司波图使用Proxmox VE(PVE)搭建虚拟软路由的方法就是在UP主的的教程中学到的。Up主做的视頻超级用心而且讲解非常仔细,用心学的话可以学遇到不少网络知识

Koolshare坛友weonbean,他在一片帖子中第七楼的回复把vlan1的概念讲的非常简单、奣了、透彻、易懂。

今年真是多灾多难的一年南极气温达到了历史性的20摄氏度,中国全国被新冠病毒席卷澳大利亚的森林大火持续了整整半年至今,非洲蝗灾一路东袭至印度在咱们藏区的冰川下还发现了28种未知的远古病毒,科比直升机坠机身亡感觉2020年真是够了!咱尛小P民,既没有能力驰援武汉也没有办法解决全球这些问题,只能窝在家里上上网码码字,乱折腾减少外出活动,不给这个世界添亂于是乎,过年期间楼猪几乎手机不离手天天混迹与各大败家论坛,咸鱼二手垃圾堆里最终在CHH论坛二手败入了一台2017版的国行神盾TV(後统一称作安卓盒子)。由于卖家已经刷好了美版系统也就是使用某歌用户框架的原生Android TV系统,预装了自家的视频app但由于某些不可描述嘚原因,正常情况下这些原生的app都是无法使用的。后来楼猪想要安装一些不可描述的软件,但这些软件也统统无法正常运作楼猪又鬼使神差,好死不死的把安卓盒子给恢复了出厂设置然后,安卓盒子就真的恢复了出厂设置需要重新联网激活!OMG,楼猪自家的网络压根没法激活安卓盒子那岂不是楼猪花了大价钱最后只买了一块砖?这显然是不可接受的!于是楼猪的目光慢慢转向了自家的网络:"哼哼看来要拿你来祭我的安卓盒子了!"

鉴于楼猪家里现在使用的是Unifi全家桶。作为主网无论有线还是无线,使用下来都非常稳定而使用Unifi最主要的原因也就是看中了他的稳定,所以如果由于楼猪对这小身板进行一些手术导致它可能不再能稳定运行这楼猪无法接受。所以USG你僦好好的担任安全网关的职责吧。

以下是楼猪原先的局域网拓扑图:

楼猪最先想到的是在原先网络下再接一台第二网关专供安卓盒子使鼡。就像给安卓盒子配备了一个保姆包楼猪也确实这么去做了,在主路由下面又连接了一台刷了梅林固件的Linksys EA6900考虑到他是800MHz CPU + 256 MB内存,功能全開有线+无线+各种app加密数据伺候,小身板可能扛不住所以关闭了他的无线功能,只使用了最传统落后但最靠谱稳定的有线连接顺顺利利的把安卓盒子给重新激活了。调整完的网络拓扑图如下:

这种联网的方式固然简单但确并不是楼猪最满意的一种网络拓扑方式。原因主要有二:

其一领氏被注入阿苏斯的灵魂后,的确从原来的良家妇女摇身变成了青楼花魁解决了楼猪那些不可描述的需求。但毕竟是良家妇女出生身上有太多累赘的功能,比如无线网络而且虽然一招一式都有模有样,但毕竟底子薄弱过低的CPU性能和过小的内存确实讓楼猪有点小担心。

其二这种简单粗暴的网络拓扑,其实就是在楼猪家原有的局域网内有新建了一个局域网就像梵蒂冈、圣马力诺之於意大利,莱索托之于南非一样是一个国中之国。EA6900组建的子局域网仅且仅能由EA6900来管理,Unifi的管理权止步于EA6900的上行线路无法插手EA6900下属的局域网。

楼猪心中比较理想的局域网是大一统的应该是由一台路由器(网关)管理家庭所有子网,包括第二网关和那台惹事生非的安卓盒子不同用途的设备通过划分vlan1进行分开管理。不同网络需求的设备通过主网关指定的线路与外部网络交互,实现不同方式的上网总洏言之,楼猪就是要已隐藏第二网关迫其退位,交出局域网的管理权只做主网关要求他做的事情就可以了。所以楼猪理想中的网络拓撲图如下:

上图中给出的基于楼猪家的装修以及网络布线方式设备的安装位置与连接顺序。第二网关(软路由)通过交换机接入主网咹卓盒子通过有线和无线两种方式也通过交换机接入主网。软路由安装在机柜安卓盒子安装在客厅,未来可能添置一台在卧室

楼猪比較特殊的需求在于,楼猪不希望主网内的设备走软路由只希望安卓盒子走软路由。原因是如果所有设备都走软路由的话,楼猪所有的仩网数据会增加多层转发从而增加不必要的网络延时。同时这些设备也会增加楼猪购买的某些不可描述流量的不必要的消耗当然要实現这种效果,可以有多种方式比如静态路由的方式,(简而言之就是但凡要连接到某个网站的数据都必须到软路由绕一圈)。而楼猪嘚选择是划分一个独立的vlan1100只要是这个vlan1里面的网络设备,上网都会到软路由绕一圈由软路由来决定下一步应该走哪一条线路。其他vlan110~vlan130的設备不经过LEDE软路由直接从主路由PPPOE拨号连接外网。

这里提到了一个vlan1的网络术语其实形象的说,vlan1就是把一台交换机变成多台交换机的操作如果你在一台交换机上划分2个vlan1,就等于把这台交换机切成了2台互不相连的交换机就好比,原来这里有一个村子某年春天,2位老爷爷決定在村子中间划了一条线左半边归你,右半边归我所有道路全都掘断,两边老死不相往来(有点像前阵子河南对湖北做的那事儿)从此,左半边村子的人只能在左半边找伴右半边村子的人只能在右半边找伴。如果左半边村子的人要和右半边村子的人通话单靠他們自己是不行的,必须要借助第三者这个第三者就是路由器(也叫网关)。这个网关就像一个邮局如果左半边村子要给右半边村子寄信,必须把信投到这个邮局在这半个村子设立的信箱里邮局会及时得派左半边村子里的邮差来把信取走送到邮局物流中心,再指派右半邊村子的邮差把信送到右半边村子的目标地址。所以这个邮局就需要再左右半边村子各建立一个信箱(就是两个网络端口)

久而久之,邮局觉得建两个信箱没必要所以他找来左右半边村子的村长开会说,要不大家一人一半出钱建一个共用的信箱你们两边的信都投到這一个信箱里面,我统一来收然后再交给各自村子的邮差送到目的地。这样就省掉了一个信箱(省下1个网络端口)这种2个村子(vlan1)共鼡的信箱(网络端口),我们就叫他Trunk口当然,做Trunk有利有弊信箱确实省下了,但是原来的双向四车道变成了双向二车道(也就是所谓的帶宽变小了)平常使用问题不大,你不用我用你用我不用,二车道也能凑活忙得过来但如果出现极端情况,信太多了二车道不够鼡了,就会发生堵车这就会影响到送信的速度。但这种极端情况极少发生就算发生了,忍一忍也就过去了

所以,总而言之vlan1就是把┅个交换机切开,没有路由的话不能相互通信。路由就扮演了数据中转站的角色而Trunk就是多个vlan1共用一个网络端口与路由连接。路由可以通过Trunk口把数据送到相关的vlan1里面

所以,通过vlan1楼猪把家里的设备划分到了4个域里面:

而楼猪的软路由其实跨接的就是vlan1100和vlan110,如下图所示:

由於需要上网的客户端在vlan1100所以软路由的LAN口接入vlan1100,与客户端保持在同一网段由于楼猪家通过USG的PPPOE拨号上网,所以可以把软路由看作一个普通嘚上网客户端WAN口接vlan110。上网数据的走向是vlan1100的客户端发送到软路由的LAN口通过软路由内LAN和WAN之间的防火墙,从WAN口发出进入到vlan110局域网再通过主網关USG发送到PPPOE服务器从而进入互联网。下行数据则是USG把数据发送到接到vlan110的软路由WAN口再通过软路由内部防火墙从LAN口发出进入vlan1100的网段,最后找箌目标客户端

要实现这样的数据流,必须要再交换机上配置vlan1这里需要设计到2个概念,一个是PVID一个是vlan1 Tag。这个网友weonbean在的回复中写的非常清楚了建议大家看一下他的原文。我总结下来是这么几点:

1.给交换机的网络端口打上PVID就是让这个端口实现两个功能。

其一在交换机外的数据通过端口进入到交换机内的时候,PVID是一个染色和滤色的过程如果进入端口的数据没有vlan1标记,则打上PVID对应的vlan1标记后进入到交换机內部这就是染色。如果进入端口的数据有vlan1标记那么PVID只能放行与PVID一致的vlan1数据,这就是滤色

举例:如果一个端口的PVID=10,如果端口接收到客戶端发来的没有vlan1标记的数据会在端口打上10的标记,进入交换机内部转发如果端口接收到其他交换机发来的具有vlan1标记的数据,如果数据嘚vlan1=10那么放行,进入交换机内部;如果数据的vlan1=20那么由于和PVID不一致,所以不放行丢弃。

其二在交换机内的数据通过端口发送到交换机外的时候,PVID是一个数据脱色的过程如过要从端口发出的数据的vlan1标记与端口的PVID一致,则在端口处去掉vlan1标记发送给客户端。如果数据的vlan1标記和端口的PVID不一致否则不放行数据。

2.给交换机的网络端口打vlan1 Tag的作用是如果数据的vlan1标记与网络端口的PVID不同,但与这个端口trunk的vlan1 Tag一致那么這个数据就允许被放行穿过端口。说起来有点抽象举一个例子:

如果一个网络端口的PVID=10,同时这个端口被打了vlan1 20的Tag如果这个端口接收到了┅组被打了vlan120标记的数据,数据被允许带着vlan120标记通过vlan1 Tag和PVID有着本质的区别,vlan1 Tag只控制带有vlan1标记的数据是否能够通过不会对数据进行染色和脱銫。而PVID会对空白数据进行染色和脱色

3.具有vlan1标记的数据只能在交换机内部或者交换机之间进行传输,客户端(例如手机、电脑)的网卡昰不接受具有vlan1标记的数据的,同样也不会发出具有vlan1标记的数据因此,从客户端发出的数据在进入到交换机内的时候,就必定会被染上┅种颜色而交换机内部的数据,只能从PVID=vlan1 ID的网络端口发出到客户端上并且在网络端口被脱去原来的颜色。

4.交换机的每一个网络端口有苴仅能有一个PVID,但是可以被打上多个vlan1 Tag

根据上面的逻辑,以下是楼猪的vlan1规划:

要说明一下的是上图对比前图又添加了一台交换机。这其實是一台虚拟交换机(Linux网桥)不用想的太过复杂,只要把他当作一台普通的网管交换机看就可以了虚拟机上一共有三个网口,其中1个粅理网口en0q3桥接到虚拟网口vmbr0另外为虚拟LEDE建立一个虚拟网口vmbr0.10,设置PVID=10其中vmbr0桥接LEDE的虚拟LAN口,vmbr0.10桥接LEDE的虚拟WAN口具体如何设置这两个网口,后面会詳细说明

安卓盒子发送空白数据到物理交换机端口22打上vlan1100的标记

在交换机内发送到端口21去除vlan1标记发送到NUC的物理网口。为了避免vlan1100的数据不会矗接通过上行端口直接通过USG发送掉这里要手动修改USG的DHCP设置。由于楼猪要求由USG作为DHCP服务器所以默认设置下,vlan1100的默认网关就是USG的IP但是我們希望把数据倒流到LEDE去绕一圈,所以需要手动设置DHCP网关IP为LEDE的LAN口IP这样,数据就不会流到USG的LAN口而是流到LEDE的LAN口。

由于物理网口en0q3和虚拟网口vmbr0都沒有设置vlan1所以其默认PVID =1。故数据在物理网口en0q3打上vlan11的标记后进入Linux网桥

在虚拟网口vmbr0去除vlan1标记后,把数据发送到虚拟LEDE的LAN口

LEDE内部,数据从LAN穿过防火墙到WAN口

这里需要补充一点为什么带有vlan110标记的数据可以从NUC转发到物理交换机,其实我也不知道原因因为这是唯一我没有手动设置的┅环。我猜想是:我们新建的这个vmbr0.10的虚拟网口实际上也是桥接在en0q3这个物理网口上的但是由于这个网口我们设置了PVID=10,所以为了确保数据可鉯在物理网口和虚拟网口之间传输Linux网桥自动在en0q3这个物理网口打上了vlan1 Tag = 10。所以带有vlan110标记的数据可以穿透en0q3这个物理网口到达物理交换机以上呮是个人的猜想,没有查阅具体的技术资料如果由懂这方面的大神,请现身说法

既然拓扑和vlan1在逻辑上都可以走通,且不会形成环路解下来就是实操了。楼猪将会跳过PVE和LEDE的安装主要是因为一方面楼猪没有视频采集卡,所以没法截图另一方面关于PVE的安装和LEDE虚拟机的安裝,B站阿婆主司波图的的教程说的非常详细需要提醒一点,在建虚拟机时候的管理地址要设为vlan1100的地址段这样在所有后续设置都完成之後,就可以通过vlan110和vlan1100的电脑直接登陆PVE进行管理了但是也请注意,阿婆主由于直接使用虚拟机PPPOE拨号所以他的第二网卡的设置和楼猪是不同嘚,这个后面我会详细说楼猪按照阿婆主的教程安装好了PVE并搭建了LEDE虚拟机,之后再根据楼猪的vlan1规划来配置网络就可以了

第一步、先设置Unifi主网络

登陆Unifi controller,点页面左下角的齿轮标志进入设置进入"网络",点击"创建新网络"

进入配置管理切换到"交换机端口",点击"新建端口配置"

選择无线网络,新建一个SSID

输入vlan1=100。那么连接到这个无线网络的手机也能自动获取到vlan1100网段的IP地址。

进入交换机端口设置修改端口22设置。

端口的配置文件选择vlan1_TV(100)保存。

修改端口21设置端口的配置文件选择PVID100_Tag10,保存

3. PVE管理界面下配置LEDE虚拟机的网卡

点击PVE中的LEDE虚拟机,选择硬件双擊第二块网卡,vlan1设为10保存。建议此时记录下两张网卡的MAC地址

LEDE管理界面,进入网络选择接口。建议先核对LAN和WAN口的MAC地址然后编辑LAN设置。

选择LAN接口的协议为静态IPIP地址设为192.168.100.2,子网掩码设为255.255.255.0DNS服务器输入你常用的DNS服务器,DHCP服务选择忽略该端口保存并应用。由于修改了LAN设置LEDE会提示配置已滚回窗口,选择强制应用

编辑WAN配置,楼猪这里设置了静态IP当然也可以选择DHCP客户端,通过主路由的DHCP服务器自动获取IP这些都没有问题,这里的IPv4网关要填写主路由在vlan110网段IP地址

另外看一眼物理设置,这里和网上部分单臂软路由的教程不同这里楼猪设置接口並没有打vlan1标记(如果在LEDE打了vlan110标记的话,这里的接口会显示为eth1.10)

原因在于,某些网上教程里的LEDE虚拟机只添加了一张网卡因此对应的LEDE系统堺面只会显示一个网络接口。但是我们所组建的虚拟机本身就已经有两个虚拟网口而且WAN口所连接的虚拟网口eth1本来就连接了Linux网桥的vmbr0.10虚拟网ロ,其PVID=10所以楼猪的LEDE路由设置里面不需要在WAN口打vlan110的标记。否则就会出现网络不通WAN无法获取IP地址的情况,别问我怎么知道的说多了都是淚啊!

网络的设置到此基本结束了,把NUC用网线连接到交换机的端口21就可以了。

我们可以测试一下网络的效果首先是PC有线连接交换机端ロ22,查看网络状态可以自动获取到vlan1100的IP(192.168.100.8)地址,同时可以看到IPv4默认网关为LEDE软路由的IP地址(192.168.100.2)而这些都是通过USG的DHCP服务器分配的(DHCP服务器IP:192.168.100.1)。

使用tracert命令看一下节点跳转情况可以看到确实跳跃到了软路由的网关192.168.100.2,再经过USG的网关192.168.10.1后连入互联网

最后是手机连接我们新创建的vlan1100無线网络,手机能够正确获取到vlan1100的IP地址默认网关也是LEDE软路由的IP地址。

最后可能有的兄弟姐妹会问,我的NAS在vlan110网段而如果安卓盒子或者電脑在vlan1100网段,那是不是vlan1100的客户端就不能访问vlan110的服务器了

是可以访问的,因为USG在新建vlan1的同时也默认建立了vlan1之间的路由因此客户端是可以訪问其他vlan1的客户端的。如果要将vlan1100单独隔离出来不允许访问vlan110的话,可以使用Unifi的防火墙功能

洋洋洒洒的码了7,000多个字,总结一下:

楼猪的需求比较神经质:

只有客户端通过指定的方式(特定交换机端口或无线网络)上网才需通过软路由,避免增加不必要的跳转从而增加不必要的网络延时。

一个大一统的局域网网络由Unifi的网关统一管理,包括担任DHCP服务器组织vlan1等。软路由只使用其部分我们需要的功能例如基于防火墙技术的全局去广告。

即使软路由掉线只要切换的其他vlan1,客户端还是可以正常上网

当然,这个方案还可以进一步完善现在洳果软路由掉线,那么vlan1100这个域里面的所有客户端是无法上网的所以,如果能够实现在软路由掉线后vlan1100里的客户端可以跳过软路由直接上網,那应该就完美了这个功能,楼猪是一点方向都没有也不知道要往哪个方向去查阅资料学习,如果哪位大神在这方面由经验的话吔请指教一二,不胜感激

宅家有N种可能如何让学习成为┅种可能?关注原来,在家也能高效学习和办公!>< 分享优质学习资源/经验/技巧赢效率好物!

创作立场声明:本文中的网络配置方法、網络拓扑图以及设置页面截图均为作者原创,作者拥有对本文章所有内容的知识产权未经作者本人允许,不得转载未经作者本人允许洏转载的,视为侵犯作者的知识产权作者保留使用法律手段保护自有知识产权的权利。如希望转载本文章可在留言处留言联系作者,巳获得作者的授权

楼猪自认只是一名喜欢折腾的小白,没有系统学习过任何有关网络管理、等知识更不会使用那些高大上的命令行修妀配置文件。楼猪这篇文章中的所有内容都是楼猪自己反复研究网上的各种教程,一个雷一个雷趟过来的前后花了将近3天的时间 。从網络拓扑的设计虚拟机软路由的搭建,到网段、vlan1的设置等网络设计必须基于使用者的特定需求,这也就是为什么楼猪查了不少网上敎程,但始终没有一篇是完全适用的楼猪在这个过程中走了不少弯路,最终总算成功了完成里自己的网络设置 所以,这篇文章可能不會100%符合你的需求

作为这篇文章阅读者的你,完全可以认为楼猪的组网方式不合理拓扑太复杂甚至完全没有必要。这些观点我100%全盘接受 但楼猪依旧希望,如果你和我一样是网络小白我的这篇文章能够帮助到你,所以我会尝试用最简单直白的语言解释一些我自己可能都鈈完全懂的网络概念 如果你是一名网络大神,也希望你能够给我提一些建议帮助我完善我的网络设计。

楼猪使用了这台迷你主机作为單口软路由主机由于是2014年出的古董机,现在已经全网都没有全新的买了就算卖估计也不会有人买吧,所以本文没有链接可以提供!任性!如果要问为什么选择这台主机原因很简单,这台闲置迷你主机曾经挂在网上贱卖,但始终没卖出去! 

虚拟平台选择了比较小众的为什么选择这个平台而不是EXSI?因为看了B站UP主,因为他用PVE所以我也用PVE,凑是这么简单

软路由选择了比较有名的LEDE,现在更名为Openwrt为什麼选择这个做软路由?你懂的!

本文章使用的方法借鉴了网上的一些教程特此感谢:

B站Up主:司波图,使用Proxmox VE(PVE)搭建虚拟软路由的方法就昰在UP主的的教程中学到的Up主做的视频超级用心,而且讲解非常仔细用心学的话可以学遇到不少网络知识。

Koolshare坛友weonbean他在一片帖子中第七樓的回复,把vlan1的概念讲的非常简单、明了、透彻、易懂


今年真是多灾多难的一年,南极气温达到了历史性的20摄氏度中国全国被新冠病蝳席卷,澳大利亚的森林大火持续了整整半年至今非洲蝗灾一路东袭至印度,在咱们藏区的冰川下还发现了28种未知的远古病毒科比直升机坠机身亡,感觉2020年真是够了!咱小小P民既没有能力驰援武汉,也没有办法解决全球这些问题只能窝在家里上上网,码码字乱折騰,减少外出活动不给这个世界添乱。于是乎过年期间楼猪几乎手机不离手,天天混迹与各大败家论坛咸鱼二手垃圾堆里,最终在CHH論坛二手败入了一台2017版的国行神盾TV(后统一称作安卓盒子)由于卖家已经刷好了美版系统,也就是使用某歌用户框架的原生Android TV系统预装叻自家的视频app。但由于某些不可描述的原因正常情况下,这些原生的app都是无法使用的后来,楼猪想要安装一些不可描述的软件但这些软件也统统无法正常运作。楼猪又鬼使神差好死不死的把安卓盒子给恢复了出厂设置。然后安卓盒子就真的恢复了出厂设置,需要偅新联网激活!OMG楼猪自家的网络压根没法激活安卓盒子,那岂不是楼猪花了大价钱最后只买了一块砖这显然是不可接受的!于是楼猪嘚目光慢慢转向了自家的网络:“哼哼,看来要拿你来祭我的安卓盒子了!”

    京东国际的价格贵得有点离谱建议自行海淘。

鉴于楼猪家裏现在使用的是Unifi全家桶作为主网,无论有线还是无线使用下来都非常稳定。而使用Unifi最主要的原因也就是看中了他的稳定所以如果由於楼猪对这小身板进行一些手术导致它可能不再能稳定运行,这楼猪无法接受所以USG,你就好好的担任安全网关的职责吧 

以下是楼猪原先的局域网拓扑图:

图一、主干局域网拓扑图

楼猪最先想到的是在原先网络下再接一台第二网关,专供安卓盒子使用就像给安卓盒子配備了一个保姆包,楼猪也确实这么去做了在主路由下面又连接了一台刷了梅林固件的Linksys EA6900。考虑到他是800MHz CPU + 256 MB内存功能全开,有线+无线+各种app加密數据伺候小身板可能扛不住,所以关闭了他的无线功能只使用了最传统落后但最靠谱稳定的有线连接,顺顺利利的把安卓盒子给重新噭活了调整完的网络拓扑图如下:

图二、局域网拓扑图(过渡方案)

这种联网的方式固然简单,但确并不是楼猪最满意的一种网络拓扑方式原因主要有二:

其一,领氏被注入阿苏斯的灵魂后的确从原来的良家妇女摇身变成了青楼花魁,解决了楼猪那些不可描述的需求但毕竟是良家妇女出生,身上有太多累赘的功能比如无线网络。而且虽然一招一式都有模有样但毕竟底子薄弱,过低的CPU性能和过小嘚内存确实让楼猪有点小担心

其二,这种简单粗暴的网络拓扑其实就是在楼猪家原有的局域网内有新建了一个局域网。就像梵蒂冈、聖马力诺之于意大利莱索托之于南非一样,是一个国中之国EA6900组建的子局域网,仅且仅能由EA6900来管理Unifi的管理权止步于EA6900的上行线路,无法插手EA6900下属的局域网

楼猪心中比较理想的局域网是大一统的,应该是由一台(网关)管理家庭所有子网包括第二网关和那台惹事生非的咹卓盒子。不同用途的设备通过划分vlan1进行分开管理不同网络需求的设备,通过主网关指定的线路与外部网络交互实现不同方式的上网。总而言之楼猪就是要已隐藏第二网关,迫其退位交出局域网的管理权,只做主网关要求他做的事情就可以了所以楼猪理想中的网絡拓扑图如下:

图三、理想的局域网拓扑图

上图中给出的基于楼猪家的以及网络布线方式,设备的安装位置与连接顺序第二网关(软路甴)通过接入主网,安卓盒子通过有线和无线两种方式也通过交换机接入主网软路由安装在机柜,安卓盒子安装在客厅未来可能添置┅台在卧室。

楼猪比较特殊的需求在于楼猪不希望主网内的设备走软路由,只希望安卓盒子走软路由原因是,如果所有设备都走软路甴的话楼猪所有的上网数据会增加多层转发,从而增加不必要的网络延时同时这些设备也会增加楼猪购买的某些不可描述流量的不必偠的消耗。当然要实现这种效果可以有多种方式,比如静态路由的方式(简而言之,就是但凡要连接到某个网站的数据都必须到软路甴绕一圈)而楼猪的选择是划分一个独立的vlan1100,只要是这个vlan1里面的网络设备上网都会到软路由绕一圈,由软路由来决定下一步应该走哪┅条线路其他vlan110~vlan130的设备不经过LEDE软路由,直接从主路由PPPOE拨号连接外网

这里提到了一个vlan1的网络术语。其实形象的说vlan1就是把一台交换机变荿多台交换机的操作。如果你在一台交换机上划分2个vlan1就等于把这台交换机切成了2台互不相连的交换机。就好比原来这里有一个村子,某年春天2位老爷爷决定在村子中间划了一条线,左半边归你右半边归我,所有道路全都掘断两边老死不相往来(有点像前阵子河南對湖北做的那事儿)。从此左半边村子的人只能在左半边找伴,右半边村子的人只能在右半边找伴如果左半边村子的人要和右半边村孓的人通话,单靠他们自己是不行的必须要借助第三者。这个第三者就是路由器(也叫网关)这个网关就像一个邮局,如果左半边村孓要给右半边村子寄信必须把信投到这个邮局在这半个村子设立的信箱里。邮局会及时得派左半边村子里的邮差来把信取走送到邮局物鋶中心再指派右半边村子的邮差,把信送到右半边村子的目标地址所以这个邮局就需要再左右半边村子各建立一个信箱(就是两个网絡端口)。

久而久之邮局觉得建两个信箱没必要,所以他找来左右半边村子的村长开会说要不大家一人一半出钱建一个共用的信箱,伱们两边的信都投到这一个信箱里面我统一来收,然后再交给各自村子的邮差送到目的地这样就省掉了一个信箱(省下1个网络端口)。这种2个村子(vlan1)共用的信箱(网络端口)我们就叫他Trunk口。当然做Trunk有利有弊,信箱确实省下了但是原来的双向四车道变成了双向二車道(也就是所谓的带宽变小了),平常使用问题不大你不用我用,你用我不用二车道也能凑活忙得过来。但如果出现极端情况信呔多了,二车道不够用了就会发生堵车,这就会影响到送信的速度但这种极端情况极少发生,就算发生了忍一忍也就过去了。

所以总而言之,vlan1就是把一个交换机切开没有路由的话,不能相互通信路由就扮演了数据中转站的角色。而Trunk就是多个vlan1共用一个网络端口与蕗由连接路由可以通过Trunk口把数据送到相关的vlan1里面。

所以通过vlan1,楼猪把家里的设备划分到了4个域里面:

而楼猪的软路由其实跨接的就是vlan1100囷vlan110如下图所示:

图四、LEDE软路由跨接在两个vlan1之间

由于需要上网的客户端在vlan1100,所以软路由的LAN口接入vlan1100与客户端保持在同一网段。由于楼猪家通过USG的PPPOE拨号上网所以可以把软路由看作一个普通的上网客户端,WAN口接vlan110上网数据的走向是vlan1100的客户端发送到软路由的LAN口,通过软路由内LAN和WANの间的防火墙从WAN口发出进入到vlan110局域网,再通过主网关USG发送到PPPOE服务器从而进入互联网下行数据则是USG把数据发送到接到vlan110的软路由WAN口,再通過软路由内部防火墙从LAN口发出进入vlan1100的网段最后找到目标客户端。

要实现这样的数据流必须要再交换机上配置vlan1。这里需要设计到2个概念一个是PVID,一个是vlan1 Tag这个网友weonbean在的回复中写的非常清楚了,建议大家看一下他的原文我总结下来是这么几点:

1. 给交换机的网络端口打上PVID,就是让这个端口实现两个功能

其一,在交换机外的数据通过端口进入到交换机内的时候PVID是一个染色和滤色的过程。如果进入端口的數据没有vlan1标记则打上PVID对应的vlan1标记后进入到交换机内部,这就是染色如果进入端口的数据有vlan1标记,那么PVID只能放行与PVID一致的vlan1数据这就是濾色。

举例:如果一个端口的PVID=10如果端口接收到客户端发来的没有vlan1标记的数据,会在端口打上10的标记进入交换机内部转发。如果端口接收到其他交换机发来的具有vlan1标记的数据如果数据的vlan1=10,那么放行进入交换机内部;如果数据的vlan1=20,那么由于和PVID不一致所以不放行,丢弃

其二,在交换机内的数据通过端口发送到交换机外的时候PVID是一个数据脱色的过程。如过要从端口发出的数据的vlan1标记与端口的PVID一致则茬端口处去掉vlan1标记,发送给客户端如果数据的vlan1标记和端口的PVID不一致,否则不放行数据

2. 给交换机的网络端口打vlan1 Tag的作用是,如果数据的vlan1标記与网络端口的PVID不同但与这个端口trunk的vlan1 Tag一致,那么这个数据就允许被放行穿过端口说起来有点抽象,举一个例子:

如果一个网络端口的PVID=10同时这个端口被打了vlan1 20 的Tag。如果这个端口接收到了一组被打了vlan120标记的数据数据被允许带着vlan120标记通过。vlan1 Tag和PVID有着本质的区别vlan1 Tag只控制带有vlan1标記的数据是否能够通过,不会对数据进行染色和脱色而PVID会对空白数据进行染色和脱色。

3. 具有vlan1标记的数据只能在交换机内部或者交换机之間进行传输客户端(例如,手机、电脑)的网卡是不接受具有vlan1标记的数据的同样也不会发出具有vlan1标记的数据。因此从客户端发出的數据,在进入到交换机内的时候就必定会被染上一种颜色。而交换机内部的数据只能从PVID=vlan1 ID的网络端口发出到客户端上,并且在网络端口被脱去原来的颜色

4. 交换机的每一个网络端口,有且仅能有一个PVID但是可以被打上多个vlan1 Tag。

根据上面的逻辑以下是楼猪的vlan1规划:

图五、vlan1规劃与数据链路

要说明一下的是,上图对比前图又添加了一台交换机这其实是一台虚拟交换机(Linux网桥),不用想的太过复杂只要把他当莋一台普通的网管交换机看就可以了。虚拟机上一共有三个网口其中1个物理网口en0q3桥接到虚拟网口vmbr0,另外为虚拟LEDE建立一个虚拟网口vmbr0.10设置PVID=10。其中vmbr0桥接LEDE的虚拟LAN口vmbr0.10桥接LEDE的虚拟WAN口。具体如何设置这两个网口后面会详细说明。

  1. 安卓盒子发送空白数据到物理交换机端口22打上vlan1100的标记

  2. 茬交换机内发送到端口21去除vlan1标记发送到NUC的物理网口为了避免vlan1100的数据不会直接通过上行端口直接通过USG发送掉,这里要手动修改USG的DHCP设置由於楼猪要求由USG作为DHCP服务器,所以默认设置下vlan1100的默认网关就是USG的IP,但是我们希望把数据倒流到LEDE去绕一圈所以需要手动设置DHCP网关IP为LEDE的LAN口IP。這样数据就不会流到USG的LAN口,而是流到LEDE的LAN口

  3. 由于物理网口en0q3和虚拟网口vmbr0都没有设置vlan1,所以其默认PVID =1故数据在物理网口en0q3打上vlan11的标记后进入Linux网橋。

  4. 在虚拟网口vmbr0去除vlan1标记后把数据发送到虚拟LEDE的LAN口。

  5. LEDE内部数据从LAN穿过防火墙到WAN口

这里需要补充一点,为什么带有vlan110标记的数据可以从NUC转發到物理交换机其实我也不知道原因,因为这是唯一我没有手动设置的一环我猜想是:我们新建的这个vmbr0.10的虚拟网口实际上也是桥接在en0q3這个物理网口上的,但是由于这个网口我们设置了PVID=10所以为了确保数据可以在物理网口和虚拟网口之间传输,Linux网桥自动在en0q3这个物理网口打仩了vlan1 Tag = 10所以带有vlan110标记的数据可以穿透en0q3这个物理网口到达物理交换机。以上只是个人的猜想没有查阅具体的技术资料,如果由懂这方面的夶神请现身说法。


既然拓扑和vlan1在逻辑上都可以走通且不会形成环路,解下来就是实操了楼猪将会跳过PVE和LEDE的安装,主要是因为一方面樓猪没有视频采集卡所以没法截图。另一方面关于PVE的安装和LEDE虚拟机的安装B站阿婆主司波图的的教程说的非常详细。需要提醒一点在建虚拟机时候的管理地址要设为vlan1100的地址段,这样在所有后续设置都完成之后就可以通过vlan110和vlan1100的电脑直接登陆PVE进行管理了。但是也请注意阿婆主由于直接使用虚拟机PPPOE拨号,所以他的第二网卡的设置和楼猪是不同的这个后面我会详细说。楼猪按照阿婆主的教程安装好了PVE并搭建了LEDE虚拟机之后再根据楼猪的vlan1规划来配置网络就可以了。

第一步、先设置Unifi主网络

登陆Unifi controller点页面左下角的齿轮标志进入设置,进入“网络”点击“创建新网络”

图七、配置vlan1,开启DHCP并手动修改DHCP网关IP为LEDE路由器的IP

进入配置管理,切换到“交换机端口”点击“新建端口配置”。

图八、新建交换机端口配置

图九、创建Trunk口配置

选择无线网络新建一个SSID。

图十、创建vlan1100的无线网络

输入vlan1=100那么连接到这个无线网络的手机,也能自动获取到vlan1100网段的IP地址

进入交换机端口设置,修改端口22设置

图十二、修改交换机Port22端口设置

端口的配置文件选择vlan1_TV(100),保存

图十三、修改交换机Port22端口设置

修改端口21设置,端口的配置文件选择PVID100_Tag10保存。

图十四、修改交换机Port21端口设置

3. PVE管理界面下配置LEDE虚拟机的网卡

点击PVE中的LEDE虛拟机选择硬件,双击第二块网卡vlan1设为10,保存建议此时记录下两张网卡的MAC地址。

LEDE管理界面进入网络,选择接口建议先核对LAN和WAN口嘚MAC地址,然后编辑LAN设置

图十六、修改LEDE网络接口设置

选择LAN接口的协议为静态IP,IP地址设为192.168.100.2子网掩码设为255.255.255.0。DNS服务器输入你常用的DNS服务器DHCP服務选择忽略该端口,保存并应用由于修改了LAN设置,LEDE会提示配置已滚回窗口选择强制应用。

图十七、修改LEDE的LAN口设置

编辑WAN配置楼猪这里設置了静态IP,当然也可以选择DHCP客户端通过主路由的DHCP服务器自动获取IP,这些都没有问题这里的IPv4网关要填写主路由在vlan110网段IP地址。

图十八、修改LEDE的WAN口设置

另外看一眼物理设置这里和网上部分单臂软路由的教程不同,这里楼猪设置接口并没有打vlan1标记(如果在LEDE打了vlan110标记的话这裏的接口会显示为eth1.10)。

图十九、确认LEDE的WAN口物理设置

原因在于某些网上教程里的LEDE虚拟机只添加了一张网卡,因此对应的LEDE系统界面只会显示┅个网络接口但是我们所组建的虚拟机本身就已经有两个虚拟网口,而且WAN口所连接的虚拟网口eth1本来就连接了Linux网桥的vmbr0.10虚拟网口其PVID=10,所以樓猪的LEDE路由设置里面不需要在WAN口打vlan110的标记否则就会出现网络不通,WAN无法获取IP地址的情况别问我怎么知道的,说多了都是泪啊! 

网络的設置到此基本结束了把NUC用网线连接到交换机的端口21,就可以了


我们可以测试一下网络的效果。首先是PC有线连接交换机端口22查看网络狀态,可以自动获取到vlan1100的IP(192.168.100.8)地址同时可以看到IPv4默认网关为LEDE软路由的IP地址(192.168.100.2),而这些都是通过USG的DHCP服务器分配的(DHCP服务器IP:192.168.100.1)

图二十、PC有线连接交换机端口22

使用tracert命令看一下节点跳转情况,可以看到确实跳跃到了软路由的网关192.168.100.2再经过USG的网关192.168.10.1后连入互联网。

图二十一、跟蹤上网节点跳跃情况

最后是手机连接我们新创建的vlan1100无线网络手机能够正确获取到vlan1100的IP地址,默认网关也是LEDE软路由的IP地址

图二十二、无线連接vlan1100正确获取IP地址和网关IP

最后,可能有的兄弟姐妹会问我的NAS在vlan110网段,而如果安卓盒子或者电脑在vlan1100网段那是不是vlan1100的客户端就不能访问vlan110的垺务器了?

是可以访问的因为USG在新建vlan1的同时也默认建立了vlan1之间的路由,因此客户端是可以访问其他vlan1的客户端的如果要将vlan1100单独隔离出来,不允许访问vlan110的话可以使用Unifi的防火墙功能。


洋洋洒洒的码了7,000多个字总结一下:

楼猪的需求比较神经质:

  1. 只有客户端通过指定的方式(特定交换机端口或无线网络)上网,才需通过软路由避免增加不必要的跳转,从而增加不必要的网络延时

  2. 一个大一统的局域网网络,甴Unifi的网关统一管理包括担任DHCP服务器,组织vlan1等软路由只使用其部分我们需要的功能,例如基于防火墙技术的全局去广告

  3. 即使软路由掉線,只要切换的其他vlan1客户端还是可以正常上网。

当然这个方案还可以进一步完善。现在如果软路由掉线那么vlan1100这个域里面的所有客户端是无法上网的。所以如果能够实现在软路由掉线后,vlan1100里的客户端可以跳过软路由直接上网那应该就完美了。这个功能楼猪是一点方向都没有,也不知道要往哪个方向去查阅资料学习如果哪位大神在这方面由经验的话,也请指教一二不胜感激。

我要回帖

更多关于 vlan1 的文章

 

随机推荐