新版OpenWrt VLAN设置方法
Posted dream52
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了新版OpenWrt VLAN设置方法相关的知识,希望对你有一定的参考价值。
上篇《上网和IPTV单线复用的方法》中OpenWrt是较老版本的~
新版OpenWrt 的网络菜单中已经找不到交换机了,Vlan功能被阉割了? 怎么可能?
官方文档是说用DSA替换了swconfig架构。
(官方原文:DSA stands for Distributed Switch Architecture and is the Linux kernel subsystem for network switches. Because upstream kernel development now uses DSA, the OpenWrt Project is implementing DSA to replace the earlier swconfig framework. Many new routers also use DSA drivers instead of swconfig drivers.)
先不管这些吧,说说如何设置吧,其实和原先的设置方法基本没有区别,只是把VLAN设置搬到网络>接口>设备(选项卡) 里的 br-lan右侧的配置里了,点击 网桥VLAN过滤 选项卡。
看起来是不是和之前差不多,但是这里并没有启用VLAN,且WAN口不见了,用本地取代了PPE和CPU(eth0)。
来回顾一下之前的版本,对比一下:
老版本默认开启了VLAN,WAN归属于VLANID 2,LAN1和LAN2都属于VlANID 1。
新版的网桥VLAN过滤里没有WAN口,是因为br-lan网桥中只包含了LAN1和LAN2(R3G只有两个LAN口)没有包含WAN口,我们只要在常规设备选项卡中把WAN口包含进网桥就行了,因为涉及到br-lan的改动,正所谓牵一发而动全身,为了避免等下配置界面都进不来,我们还是用 无线 创建一个LAN先(临时启用,设置完删除),用无线连接后,再做修改。
(在这里插播一下总的思路:创建个临时WIFI_LAN接口,通过这个临时接口连接路由器,把WAN,WAN6,LAN(因为他们默认使用物理接口)先删除,而后在br-lan桥里把WAN口添加进去,之后重建WAN,WAN6(如果有IPv6需求),LAN接口,这时接口使用Vlan虚拟出来的端口,最后在 网桥设备:br-lan的网桥过滤选项卡上设置VLAN就和老版本的一致了。)
因为OpenWrt默认无线是关闭的,并且2.4G和5GWIFI名称是相同,都是OpenWrt,这里我把5G的名称改为OpenWrt_5G(点开编辑按钮修改),方便区别,保存并应用,然后启用它们。
在 网络>无线 中进行,如下图所示:
然后在网络>接口>添加新接口
名称 可以随意取名,协议 静态地址,设备 无线网络:Master"OpenWrt",然后点击创建接口
然后设备选 无线网络:Master"OpenWrt"(WIFI_LAN, Lan),选好后,它就是Wlan0。
IPv4地址:10.10.10.1,Ipv4子掩码 255.255.255.0 其它不管
切换到防火墙设置,选Lan
再切换到DHCP服务器,点配置DHCP服务器,
保持默认值即可,点击保存后,会自动返回到接口界面
点击保存并应用。
如下图所示,已经配置好了
用电脑上的无线网卡连接上OpenWrt.(至于要不要用10.10.10.1来访问配置界面,这倒是无所谓,因为它会自动跳转成openwrt.lan)。
然后可以把WIFI_LAN接口以外的三个接口删除掉了。
点击保存并应用,完成后如下图所示。
切换到设备如下图所示:
点击配置,网桥端口默认已有LAN1和LAN2再选上WAN,如下图所示。
切换到网桥VLAN过滤,启用VLAN过滤,添加两个VLANID,并按下图设置好
这样一看是不是和老版本的Vlan设置相同了呢,保存,然后保存并应用。
接下来要把在网络>接口界面上删除的LAN和WAN口 重新创建回来。
点击 添加新接口,名称LAN,协议静态地址,设备 软件VLAN:"br-lan.1"
点击创建接口,然后跳转到下图:
设置IPv4地址和IPv4子网掩码就可以了, 切换到防火墙设置:
创建/分配防火墙区域 LAN,切换到DHCP服务器
点击 配置DHCP服务器
默认值就行,点击保存
点击保存并应用,Lan口就创建好了。
继续添加WAN, 点击 添加新接口
名称WAN, 协议DHCP客户端,设备 软件VLAN:"br-lan.2" 然后点击 创建接口
保持以上默认即可,切换到防火墙设置:
创建/分配防火墙区域 选 WAN。
然后保存,返回到接口主界面,如下图所示
点击保存并应用。
可以看到WAN口已经获取到了上级路由器的IP地址,此时电脑已经能上网了(如有IPv6需求,可以再创建个WAN6关联到br-lan.2设备,这里不再演示)。如下图所示
此时WIFI_LAN接口已完成使命,删除后保存并应用即可。如果你想留下它当做Gust_WIFI, 我也不建议,因为这里占用了一个物理接口,你还是可以通过VLAN方式来做,具体怎么做自己思考思考了。
另外,可以把2.4G和5G WIFI挂回LAN网络中去,用于上网了,下图是2.4G配置,5G也是相同的方法
以上配置好后,配置Vlan和老版本的一致了
回顾下之前的光猫配置,ITV口(千兆口2)出来的信号是打了VLAN2(用于上网)和VLAN3(用于IPTV)标的信号。所以我们要把VLAN2和VLAN3分离出来即可。
在 网络>接口>设备(选项卡) 里的 br-lan右侧的配置里,点击 网桥VLAN过滤 选项卡。
添加VLAN3用于IPTV。
写了一堆,也不清楚各位看官看不看的懂,就写到这里吧。
如何编译OpenWrt
参考技术A 准备工作在开始编译Openwrt之前需要您做些准备工作;与其他编译过程一样,类似的编译工具和编译环境是必不可少的:
一个构建OpenWrt映像的系统平台,简单说就是准备一个操作系统(比如Ubuntu、Debian等);
确保安装了所需的依赖关系库, (在debian系统中就是安装各种需要的软件包)
OpenWrt源代码副本
首先, 开机登陆到支持编译Openwrt的操作系统(废话了)。实体机或者虚拟机(Vmware 或者 Qemu)里的操作系统都行,这里推荐使用Linux系统。 bsd和mac osx系统也可以编,但不推荐,且未验证是否可编译成功。下文假定您使用的是Debian操作系统,使用 apt-get 来管理包. 替代的选择是 Ubuntu (分支 Kubuntu, Xubuntu 等即可)。
第二步, 就是安装所需要的各种软件包, 包括编译器,解压工具,特定的库等. 这些工作可以简单的通过键入以下命令 (通常需要root 或者是 sudo 权限),以root权限安装下列软件包(可能并不完整,会有提示,提示缺少即装就可以了):
32位(x86)请执行下列命令:
# apt-get install build-essential asciidoc binutils bzip2 gawk gettext \
git libncurses5-dev libz-dev patch unzip zlib1g-dev
64位(x86_64)请执行下列命令(多装了哪些库或软件包呢?请您仔细看一看哦):
# apt-get install build-essential asciidoc binutils bzip2 gawk gettext \
git libncurses5-dev libz-dev patch unzip zlib1g-dev ia32-libs \
lib32gcc1 libc6-dev-i386
参考 本列表中 所列的编译环境所需要软件包或库。
某些依赖的为库或软件包也许操作系统中已经安装过,此时apt-get会作出提示(提示您忽略或重新安装的),别紧张,放轻松些,编译Openwrt不会像编译DD-WRT那样难的(至少本人是体会到了编译DD-WRT的难)。
最后下载一份完整的 Openwrt 源码到编译环境中。关于Openwrt的源代码下载,途径有二,一是通过 svn ,一是通过 git,建议使用 svn ,因为Openwrt主要以 svn 来维护Openwrt系统的版本。另外,请注意Openwrt中不同的分支版本,一个是用得较多的开发快照,俗称 trunk,二是稳定版,俗称 backfire。 参考技术B
OpenWrt编译环境搭建和编译方法
一、 更新开发系统。
安装完ubuntu 后,重新开机的时候,会有一个VMware tools 安装的提示界面,耐心等待,等到VMware tools 安装好后
因为更新系统和安装一些工具包需要用到网络,所以进入ubuntu的界面后,
将ubuntu的网络设置为NAT网络连接模式(默认为NAT),
以上就绪后,更新开发系统的软件
1、首先备份Ubuntu 10.04源列表
sudo cp /etc/apt/sources.list /etc/apt/sources.list.backup (备份下当前的源列表) 2、修改更新源
sudo gedit /etc/apt/sources.list (打开Ubuntu 11.10源列表文件) 3、使用
http://hi.baidu.com/pobenliu/blog/item/2180dc3502933c375bb5f5a5.html
网站下的一个更新源贴到sources.list文件中(“#”开头的那一行为注释,可以直接复制进文件中) ,使用这里的源主要是为了提高下载速度,用官方的会比较慢。
4、通知ubuntu启用新的更新源
sudo apt-get update
二、 安装编译OpenWrt需要用到的软件包:
命令如下:
sudo apt-get install g++ libncurses5-dev zlib1g-dev bison flex unzip
autoconf gawk unzip make gettext gcc binutils patch asciidoc bzip2 libz-dev libc6-dev linux-headers-2.6.32-38
注意,红色部分的版本根据自己的内核版本来修改,可以通过uname –a 来查看。
三、 安装svn。
由于在后面需要用到svn 来下载OpenWrt,所以需要先安装svn。
由于使用命令 sudo apt-get install subversion来安装的版本最新也只是
1.6.6版本,为了和windows 上的版本同步,所以需要下载安装包,进行手工安装。
1、先下载两个包,
subversion-1.7.2.tar.gz
subversion-deps-1.6.1.tar.gz 2、拷贝到/home目录下,解压:
tar -zxvf subversion-1.7.2.tar.gz
tar -zxvf subversion-deps-1.6.1.tar.gz 3、进入目录,准备编译安装: cd subversion-1.7.2 执行:./configure
安装遇到的第一个error: checking for APR... no
configure: WARNING: APR not found
The Apache Portable Runtime (APR) library cannot be found. Please install APR on this system and supply the appropriate --with-apr option to 'configure' 解决办法: 到tar -zxvf subversion-deps-1.6.1.tar.gz 解压的目录下,有一个apr的文件夹,放到subversion-1.7.2下即可 cp -rf ../subversion-1.6.1/apr .
4、再重新执行./configure 命令 遇到第二个error:
checking APR version... 1.3.3
configure: Apache Portable Runtime Utility (APRUTIL) library configuration
checking for APR-util... no
configure: WARNING: APRUTIL not found
The Apache Portable Runtime Utility (APRUTIL) library cannot be found. Either install APRUTIL on this system and supply the appropriate 提示的是apache的端口没有找到,因为此安装并没有与apache结合,到tar -zxvf subversion-deps-1.6.1.tar.gz 解压的目录下,发现有一个 APR-util,再移动到ubversion-1.7.2下
5、重新执行./configure 命令 Ok,遇到第三个error,
checking sqlite library version (via pkg-config)... no
An appropriate version of sqlite could not be found. We recommmend 3.7.6.3, but require at least 3.6.18. 错误有提示:解决办法
sqlite-amalgamation-3071000.zip
下载这个包,解压,将sqlite3.c放到指定的位置: unzip sqlite-amalgamation-3070900.zip
mkdir –p subversion-1.7.2/sqlite-amalgamation cd sqlite-amalgamation-3070900
cp sqlite3.c ../subversion-1.7.2/sqlite-amalgamation/
之後重新执行./configure 见到这表示./config执行ok
checking for ctypesgen.py... none configure: creating ./config.status config.status: creating Makefile
config.status: creating tools/backup/hot-backup.py
config.status: creating tools/hook-scripts/commit-access-control.pl config.status: creating
subversion/bindings/swig/perl/native/Makefile.PL
config.status: creating subversion/svn_private_config.h.tmp config.status: executing libtool commands
config.status: executing svn_private_config.h.tmp commands
6、然后编译安装: make clean
make && make install
只要没有遇到error,就是ok的, 输入
svn –version
得到:
svn, version 1.7.2 (r1207936) compiled Feb 8 2012, 23:09:00 说明安装成功。
四、下载OpenWrt源码。
分两种,一种是最新版但不是最稳定,也就是trunk版,一种是相对稳定版,backfire版。源码下载命令分别是: 先创建文件夹:
mkdir OpenWrt_trunk cd OpenWrt_trunk Trunk版下载命令:
svn co svn://svn.openwrt.org/openwrt/trunk/
若需要backfire:
mkdir OpenWrt_backfire
cd OpenWrt_backfire
Backfire下载命令:
svn co svn://svn.openwrt.org/openwrt/branches/backfire/
五、 编译OpenWrt:
如果不是刚下载的代码,为了保持代码为最新状态,应该定期运行Svn up更新代码,什么时候有变你是不知道的 然后是更新软件包:
./scripts/feeds update –a ./scripts/feeds install –a
如果不更新软件包的话,你会发现后面是看不到很多软件包的,也就无法集成那些看不到的包了。
然后是make defconfig,再make menuconfig进入定制界面,定制自己的系统。
最后,执行make命令,然后是非常漫长的等待。
在编译的时候,是根据你的配置,进行下载程序包的,先是把这些程序包下载到./dl目录下,再进行解压编译,和安装。如果不是为了开发某一软件的话,建议一开始的时候不要安装太多的软件,一是时间太长,然后很容易出错。要用到的软件在编译好后,用opkg来安装。
以上是关于新版OpenWrt VLAN设置方法的主要内容,如果未能解决你的问题,请参考以下文章