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功能,具体可参考rt5350的数据手册,设备具有5个端口,这些端口基于vlan技术,符合802.1q标准。下图是rt5350的valn示意图。
图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的内容如下。
1 configswitch
2 optionname'rt305x'
3 optionreset'1'
4 optionenable_vlan'1'
5 configswitch_vlan
6 optiondevice'rt305x'
7 optionvlan'1'
8 optionports'01236t'
9 configswitch_vlan
10 optiondevice'rt305x'
11 optionvlan'2'
12 optionports'46t'
其中第4行代表开启vlan,6,7,8行为vlan0的设置,10,11,12行为vlan1的设置。这样配置的话重启网络会自动生成2个设备接口,eth0.0(vlan0),eth0.1(vlan1),
这样你可以配置这两个valn做为lan口或者wan口。其中端口0,端口1,端口2,端口3都属于vlan0,端口4属于vlan1。
对于本开发板,它的默认vlan设置如下:
1 configinterface'lan'
2 optionifname'eth0.1'
3 optionforce_link'1'
4 optiontype'bridge'
5 optionproto'static'
6 optionipaddr'192.168.1.1'
7 optionnetmask'255.255.255.0'
8 optionip6assign'60'
9 configinterface'wan'
10 optionifname'eth0.2'
11 optionproto'dhcp'
12 optionmacaddr':
13 configswitch
14 optionname'rt305x'
15 optionreset'1'
16 optionenable_vlan'1'
17 configswitch_vlan
18 optiondevice'rt305x'
19 optionvlan'1'
20 optionports'01236t'
21 configswitch_vlan
22 optiondevice'rt305x'
23 optionvlan'2'
24 optionports'46t'
从默认配置可以看出,端口0、1、2、3属于vlan0,端口4属于vlan1;第2行则说明是将vlan0设置为lan,则端口0、1、2、3为LAN;第10行则说明将vlan1设置为WAN,则端口4为WAN。
因为板开发板仅适用vlan端口3和端口4,可以把optionports’01236t’这一行的0,1,2去掉,这样就配置个两个vlan,端口3作为第一个vlan,端口4作为第2个vlan,这样网络环境就配置好了。端口3为LAN,端口4为WAN。
如果想将开发板端口3、端口4全部设置成LAN口,则对/etc/config/network做如下修改。
(1)将
20optionports'01236t'
改为
20optionports'346t'
(2)将
21 configswitch_vlan
22 optiondevice'rt305x'
23 optionvlan'2'
24 optionports'46t'
给注释掉。
(3)将
9 configinterface'wan'
10 optionifname'eth0.2'
11 optionproto'dhcp'
12 optionmacaddr':
给注释掉。
6.3在源代码中进行设置
在源码中来将网口灵活的配置成WAN口或者LAN口,还是通过修改会通过修改脚本程序来实现。
【注】Ubuntu12.04+Openwrt15.05修改方法
#cd ./package/base-files/files/lib/functions
#vim uci-defaults.sh
【注】Ubuntu14.04+Openwrt17.01修改方法
#cd ./package/base-files/files/bin
#vim config_generate