1.概述
本篇文章要配置的路由器是已经刷了支持openflow1.3协议的OpenWRT系统的,具体刷机过程可参考http://blog.csdn.net/qq_20448859/article/details/53742730 。本文要配置的路由器是TL-MR3420 ver1.1。
2.配置需知
要配置的文件有三个,分别是network,openflow,以及wireless,它们都位于路由器的/etc/config目录下。openflow文件初始都一样,wireless基本也大同小异,这两个文件非常容易配置,比较困难的是network文件,不同路由器之间可能差别比较大。
首先,一般的家用的无线路由器其实可以理解成是一个真正的路由器加上一个交换机,路由器连着Wan口和交换机,交换机再分成和几个有线Lan口和一个无线Lan口,交换机的所有接口连的终端同属于一个子网。
家用路由器一般会有两块或三块网卡,多数是Wan口单独一块网卡,而Lan口分无线和有线,可能集成在一块网卡上,也可能分成两块。每个网卡有着全球唯一的Mac地址,一般路由器背面给出的Mac地址是无线Lan口的网卡地址。
下面是OpenWRT官网交换机手册给出的某个型号的路由器内部交换机结构图。
可以看到该型号的路由设备有三个网卡,分别是eth0,eth1和eth2。eth0集成了有线Lan的四个接入端口和一个Wan口,eth1则是没有被使用,eth2则是无线Lan口。
而我使用的路由器内部交换机结构都和它的差别有点大,MR3420四个有线Lan端口的网卡是eth0,Wan口的网卡是eth1,无线Lan接入口对应的网卡则是eth2。要查看有线Lan端口对应的网卡,可以使用下面的命令。
swconfig list
接下来,为了完成SDN的控制层和转发层分开,我们必须得对Lan划分为几个Vlan,其中一个Vlan连接控制器,其余的Vlan作为openflow交换机端口,用来连接主机。
3.文件配置
1. /etc/config/network
在network文件中进行Vlan的划分,下面我将eth0划分为eth0.1,eth0.2,eth0.3,eth0.4,eth0.x代表的是对eth0的划分,x就是对应的vlan号,vlan1对应端口1,用来连接控制器,其余连接主机。
config interface 'loopback'
option ifname 'lo'
option<