《路由器开发-OpenWrt系统开发》第6章 WAN和LAN灵活切换

6.1VLAN介绍

LAN: Local Area Network 的英文简称,即局域网
指在较小的地理范围内,将两台以上的计算机通过传输电缆连接起来,实现资源共享。局域网的传输速度通常在 10Mb/s~1000Mb/s 之间,主干 1000Mb/s、桌面 100Mb/s 是目前的主流技术。局域网的设计通常是针对于一座建筑物内,提高资源和信息的安全性,用于减少管理者的维护操作等。客户/服务系统(C/S—-B/S)是现代局域网一个新的应用,目前主要是用在客户/服务数据库系统中。客户端向服务器发送请求,服务器再将处理结果返回给浏览器或者客户端程序。

WAN:Wide Area Network 的英文简称,即广域网
广域网是将一个较大的地理范围内,将多台计算机连接起来相互进行通信、共享资源的网络。与局域网相比,广域网的传输速度相对要慢的多。在线路连接形式上有电话线、专线等几种。在人们的思想中总认为 WAN 与 LAN 的区别在,WAN 是一种通过电话线路来实现地理位置相隔很远的异地间进行通信的网络。但随着通信技术与网络技术的发展,这个定义已经不再确切,相应地人们将逐步淡化 WAN 与 LAN 之间的界限,也可以说是将异地的局域网连在一起便形成广域网。

VLAN(Virtual Local Area Network)的中文名为"虚拟局域网"。
虚拟局域网(VLAN)是一组逻辑上的设备和用户,这些设备和用户并不受物理位置的限制,可以根据功能、部门及应用等因素将它们组织起来,相互之间的通信就好像它们在同一个网段中一样,由此得名虚拟局域网。 VLAN 是一种比较新的技术,工作在 OSI 参考模型的第 2 层和第 3 层,一个 VLAN 就是一个广播域,VLAN 之间的通信是通过第 3 层的路由器来完成的。与传统的局域网技术相比较,VLAN 技术更加灵活,它具有以下优点: 网络设备的移动、添加和修改的管理开销减少;可以控制广播活动;可提高网络的安全性。系统默认的是将开发板上最边上的网口设置为了WAN口,而将中间那个网口设置为了LAN口,也许大家会不太喜欢这样的设置,或者想设置成其他形式。比如两个都是LAN口、又或者最边上的作为LAN口,中间的做为WAN口。总之,开发板上面的网口可以在WAN和LAN之间灵活的切换。

接下来,我们就来通过修改开发板上面的配置文件的方式来将网口灵活的配置成WAN口或者LAN口。
我们的设备具有vlan功能,具体可参考芯片的数据手册,设备具有5个端口,这些端口基于vlan技术,符合802.1q标准。下图是rt5350的valn示意图。

tR3dSI.png

图1

Vlan的作用是划分不同的网络,每个网络之间都不互通。Rt5350有5个端口,可以最多划分为5个不同的网络。每个网络即可以做wan,也可以做lan,一般是一个端口做wan口,4个端口做lan口。我们的板子上面引出了rt5350的P3端口和P4端口,可以把他们划分为两个不同的网络,一个做为lan,一个作为wan。也可以把两个都作为lan口。

6.2在开发板上进行设置

系统默认的是将开发板上最边上的网口设置为了WAN口,而将中间那个网口设置为了LAN口,也许大家会不太喜欢这样的设置,或者想设置成其他形式。比如两个都是LAN口、又或者最边上的作为LAN口,中间的做为WAN口。总之,开发板上面的网口可以在WAN和LAN之间灵活的切换。
接下来,我们就来通过修改开发板上面的配置文件的方式来将网口灵活的配置成WAN口或者LAN口。同样是通过修改/etc/config目录下的network配置文件,可以达到目的。首先输入一些命令。

vi etc/config/network

此时,我们可以看到network配置文件关于VLAN的内容如下。

config switch                             
       option name 'switch0'             
       option reset '1'                  
       option enable_vlan '1'            

config switch_vlan                        
       option device 'switch0'           
       option vlan '1'                   
       option ports '0 1 2 3 6t'         

config switch_vlan                        
       option device 'switch0'           
       option vlan '2'                   
       option ports '4 6t'

其中6-9行为vlan0的设置,11-14行为vlan1的设置。
从默认配置可以看出,端口0、1、2、3属于vlan0,端口4属于vlan1; vlan0设置为lan,则端口0、1、2、3为LAN;vlan1设置为WAN,则端口4为WAN。如果想将开发板端口1、2、3、4设置为LAN;端口4设置为WAN。,则对/etc/config/network做如下修改。

(1)将
option ports’0 1 2 3 6t’
改为
option ports’1 2 3 4 6t’
(2)将
option ports ‘4 6t’
改为
option ports ‘0 6t’

6.3在源代码中进行设置

在源码中来将网口灵活的配置成WAN口或者LAN口,还是通过修改会通过修改脚本程序来实现
cd ./package/base-files/files/bin

vim config_generate

tR3ImT.png

参考:https://wiki.openwrt.org/doc/uci/network

Related posts

Leave a Comment