最近新买了一台网件的WNDR4300路由器,平时用电脑时通过路由器NAT上网,但是有时候又会碰到需要直连校园网的情况(例如需要暴露端口的时候,没搞懂端口转发的那个配置界面怎么用),如果每次都从路由器上把网线拔下来就显得太麻烦了。

OpenWRT的VLAN

遇到路由器和电脑同时连接校园网的情况,一般会使用一个交换机,把路由器和电脑都插在交换机上,再把交换机连到墙上的网线插口即可,可惜我并不想再买一个交换机,否则供电用的插孔就不够了。

看了看OpenWRT的设置页面,网络菜单下面有一个交换机页面,看样子是可以把路由器当交换机用的。从网上搜了一下相关的介绍,大致知道了这个路由器的内部结构,实际上路由器内除了CPU本身之外还有一个交换机芯片,路由器本身只有一个网口,而路由器外面的1个WAN口和4个LAN口都是和交换机芯片连在一起的,路由器内部的线路将CPU和交换机连在一起。

从交换机页面可以看到每个VLAN和每个接口的交点都有一个下拉菜单,可以选择“关联”、“不关联”和“关”。“关联”和“不关联”都表示将这个接口接入到这个VLAN,只有“关”是不接入这个VLAN。“关联”和“不关联”区别在于是否在发送的帧中加入VLAN的id。

安装了OpenWRT之后,交换机已经被分成了2个VLAN:eth0.1eth0.2,这两个VLAN正好对应了路由器的WAN和LAN两个网络。eth0.1就对应VLAN1这一行,它和端口1-4均为不关联,端口5和6是关,所以这个VLAN是路由器的4个LAN口,而VLAN2只有端口5是不关联,这个就是路由器的WAN口。

这两个VLAN的第一列还有一个CPU,均设为关联,这个就是之前说到的交换机芯片到CPU之间的线路,这里设为关联是因为交换机芯片到CPU之间只有1条线路,如果不在帧中加入VLAN id的话,CPU就分辨不出这是来自哪个网络的帧,造成混乱。

修改VLAN同时连校网

随便从端口1-4中选一个,把原有的VLAN1改成关,VLAN2设成不关联,这样这个接口就和WAN口处于同一台交换机了。值得注意的是这里的端口1-4和路由器后面4个口顺序正好是相反的。这个页面里还有一个端口6,然而我并没有找到这个口对应哪里…

这些设置也说明了其实路由器的WAN口和LAN口除了颜色并没有什么区别,只是交换机VLAN的划分不同。把墙上的网线插到WAN口或者刚改的那个口,另一个口和电脑连在一起,这时电脑就相当于直接接入墙上的插口了。

后续

后来发现自己还是naive了,由于三本采用的L2TP上网居然只允许一个账号只有一个IP在线,电脑一连上L2TP路由器转眼就掉了…所以并不能实现同时上网(