免费好用的IPv6之一个有趣的需求——浅谈Openwrt的VLAN

免费好用的IPv6之一个有趣的需求——浅谈Openwrt的VLAN前言:近来,升级了宽带至500M,发现原来的路由器(K3)网速不太达标,辗转查询、多次测试之后发现带宽的瓶颈在于路由器上的固件只能支持软件NAT,无法发挥硬件加速功能,故打算让光猫加速NAT,路由器作为辅助,安排一些

前言:近来,升级了宽带至500M,发现原来的路由器(K3)网速不太达标,辗转查询、多次测试之后发现带宽的瓶颈在于路由器上的固件只能支持软件NAT,无法发挥硬件加速功能,故打算让光猫加速NAT,路由器作为辅助,安排一些远程访问之类的高级功能

想法是好的,可是实际操作起来却又不是一帆风顺,在网上查找诸多资料,逛遍几大论坛之后发现,原来K3的官方固件、官改固件都是能够支持硬件NAT加速功能的,至于速度嘛,大家的测试都是900M+,可见硬件NAT的显著效果。

先从有线下手,如下图,把LAN1与WAN加入同一个VLAN中,在这里,要注意VLAN的概念,熟悉网络的人应当明白其中含义,在这里浅谈一下我自己的理解。

所谓”VLAN”,字面意思就是:虚拟的”LAN”,在实际生活中,为了划分不同的LAN区域,我们可以使用路由器或带管理功能的交换机进行划分。

VLAN划分基于一个事实:在大多数场合,IP地址(IPv4,当然,IPv6也有DHCPv6)都是由DHCP自动配置的,而DHCP的一大特点就是需要利用广播(这也是零状态配置的缘故)来完成DHCP发现,因此,要想让各个LAN中的设备正常上网,每一个LAN中至少需要一台DHCP服务器或能够转发、响应DHCP的主机,因此一个LAN(无论是物理的还是虚拟的)最本质的特征应该是一个广播域,由此便可以承载基于广播的ARP、DHCP等IP中的关键服务,而主机往往对自己所在LAN之外的世界一无所知,也很难去影响,这便起到了减少广播数量、保护整体网络安全的作用。

而许多企业或学校对LAN的划分要求往往基于地域、使用者等等,需要分出大量的LAN,而采购大量的路由器显然并不现实,这就要求要在有限的物理设备上支持更多的LAN划分,于是厂商顺势而为,一个简单的交换机动辄便可划分1024个或以上的VLAN,而DHCP服务器也可以通过掩码来控制各个VLAN的地址与规模,极大方便了网络管理。

免费好用的IPv6之一个有趣的需求——浅谈Openwrt的VLAN

而Openwrt中的“交换机”界面如图,可以看到,路由器上存在两个VLAN,ID为1(对内局域网)和2(对外广域网),而CPU对这两者的状态均是“已标记”,其它接口又是“未标记”,这是什么意思呢?原因在于,CPU需要掌握各个VLAN的信息并进行数据包处理,倘若不知道某个数据包的来源,对数据的处理显然是无法实现的,因此,此处的标记指的是:发送到CPU的,符合RFC标准的IP数据包中VLAN字段应当包含其来源的VLAN ID,而对于其它接口,则不需要这一信息(因为一个接口只能位于一个VLAN,如果将它与多个VLAN绑定,那么这些VLAN事实上就会合并为一个大的VLAN,但是某些场合下数据包加上了VLAN ID的除外),取消标记还可减少数据包传输的开销。

本次要实现的功能也与此有密不可分的关系,如果要实现将路由器的无线功能仅作为AP使用,相信大家都知道如何操作,最简单的方案便是将LAN上的DHCP功能关闭,将上联网线由WAN口改插LAN口,这样路由器也就完全成为了一个AP,在padavan(老毛子)固件中,更是直接就有AP模式可以一键选择。

不过,选择了该模式,就意味着路由器只能在物理层和数据链路层工作了,相当于降了一级,成为了交换机,也失去了远程管理等许多功能,作为本系列的文章,我更加希望网络不仅是“能用”,还需要“好用”,倘若失去这些功能,前面的文章就没有意义了。

因此,结合以上的VLAN知识,我们可以将有线接口划分至WAN,从而实现这一目的,而对于无线接入点,Openwrt也将它们视作接口,因此以上方法仍是有效的,具体如下图。

更改前

更改之后 

更改后

 可见只要将希望更改的无线网络变更即可。

进行到了这里,你的无线设备应该能够获取IP地址正常连接网络了,事情是不是就如此简单呢?

一个有趣的问题产生了:如果你的路由器拥有“WAN6”虚拟接口,并且在其上正常获取了IPv6地址,那么此时你会发现一切如常,但是,如果你尝试点击重连这一接口,或是重启路由器的话,你将会发现IPv6地址始终获取不到,情况就如同下图。

免费好用的IPv6之一个有趣的需求——浅谈Openwrt的VLAN

原因何在呢?其实,理论上WAN6是在WAN的基础上虚拟出的接口,其应当与WAN处于同一网络接口上,在Openwrt中,接口遵循下列关系:物理接口(机身上的WAN/LAN)—>网络接口(eth0.1/0.2、br-lan/wan等,可以随意绑定到任意物理接口,可以是单个或多个)—>虚拟接口(如WAN6、无线接入点等,它们可以被分配给任一网络接口,一个网络接口上可以承载多个虚拟接口)。

观察上图可知,当无线网络与网络接口WAN绑定后,系统自动生成了一个新的接口“br-wan”以提示WAN上发生了桥接(图片蛮形象的,免费好用的IPv6之一个有趣的需求——浅谈Openwrt的VLAN 将一根网线接入两个网口,意味着这两个网口背后的区域自动连通,即发生了桥接,生成了新的VLAN)。

此时,在明白了原理之后,要想实现我们的预期目标就十分简单了,只需要将WAN6修改到与WAN相同的网络接口“br-wan”即可,如下图所示。

免费好用的IPv6之一个有趣的需求——浅谈Openwrt的VLAN

之后,不出意外的话我们就可以在WAN6上看到刚刚获取到的IPv6地址了

免费好用的IPv6之一个有趣的需求——浅谈Openwrt的VLAN

速度达标咯~ 

免费好用的IPv6之一个有趣的需求——浅谈Openwrt的VLAN

问题顺利解决,在解决问题的过程中,我也学到了不少VLAN与网络接口的知识,这样的问题应当还是一个“小众”的需求,需要这份答案的人应该并不多,但是我们还是应当在遇到问题时更加深入一些,不要仅仅满足于得到答案,却错过了更加重要的东西。 

 

今天的文章免费好用的IPv6之一个有趣的需求——浅谈Openwrt的VLAN分享到此就结束了,感谢您的阅读。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://bianchenghao.cn/64016.html

(0)
编程小号编程小号

相关推荐

发表回复

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