|
PC上执行: ssh -X root@VM-IP
登录以后执行: wireshark &
% e& w3 P0 c. n; b- q7 \解决方案:修改init.lua 直接运行wireshark的话会报错: Lua: Error during loading:
& l% ?3 Y( G9 J, k* S& K: Z6 b2 {7 p[string "/usr/share/wireshark/init.lua"]:45: dofile has been disabled 要对其进行修改,终端运行 sudo gedit /usr/share/wireshark/init.lua //使用 VI 编辑 Gedit没安装 。
$ U' z0 E7 h1 o0 D' T" B倒数第二行原来为:dofile(DATA_DIR.."console.lua") 改为--dofile(DATA_DIR.."console.lua")
/ C1 j/ ^) h- s, w2 }' J! }! x四 整合 之后在VM中运行mininet,并指定与controller相连。 sudo mn –controller=remote –ip= –port= - Z4 N6 @3 v) R+ N+ U5 w
这个地方 mn –controller=remote,ip=xxx.xxx 端口不用桥 。 7 [% Q5 s& K9 m! j
查看PC上floodlight信息,可以发现有OpenFlow Switch与之相连。进入http://localhost:8080/ui/index.html
: c' f& g3 `1 H7 w执行如下,看看结果: mininet>nodes mininet>dump mininet>net mininet>pingall
7 N$ K ~+ R9 O
' P+ b; \; l8 M
: E- u$ Z. e1 O) _% |( Z- E+ o7 I2 p: Y5 a+ w, s# O- c4 v+ x
' J; H1 M6 g: \: b; F
(其一)0 p/ u4 G- C5 X2 O- r
/ K8 l! h9 c, {. Q- B$ M& H& h& W- b
(((((((((((((((((((((((((((((((((((以后再看 上述命令将创建多个文件:Floodlight.launch,Floodlight_junit.launch,classpath和.project。打开Eclipse软件,可以通过下面这些来设置新的Eclipse项目。 ■打开eclipse创建一个新的工程 ■File -> Import -> General -> Existing Projects into Workspac ,点击下一步 ■点击“Browse”。选择之前放置Floodlight的路径 ■点击Floodlight ■点击“Finish” 现在就产生了一个Floodlight的Eclipse工程。由于我们是使用静态模块加载系统运行Floodlight,我们必须配置Eclipse来正确的运行Floodlight。创建Floodlight目标文件: ■点击Run->Run Configurations ■右击Java Application,选择 New ■“Name”使用“FloodlightLaunch” ■“Project”使用“Floodlight” ■“Main”使用“net.floodlightcontroller.core.Main” ■点击“Apply” ■点击“Run”,Floodlight就开始运行了 (4)运行Floodlight后可以通过登录http://localhost:8080/ui/index.html使用Floodlight提供的web管理界面查看里面的信息,包括交换机、主机等等,因为我们没有接什么设备,页面没有什么信息。 
4 配置Floodlight Floodlight提供了两个配置文件:floodlightdefault.properties和learningswitch.properties,路径都位于floodlight/src/main/resources/。通过这两个配置文件可以查看Floodlight已经加载的子模块以及控制器的侦听端口、web端口,默认的侦听端口是6633,web端口是8080。如有必要用户可以自定义加载子模块和修改侦听端口,通过vi命令修改配置文件后,在Floodlight目录下执行ant编译后重启Floodlight即可。配置参数如下两图a)、图b)所示: 
图a) floodlightdefault.properties配置信息 
图b) learningswitch.properties配置信息 5 常用Floodlight命令 Floodlight将自己的API通过Rest Api的形式向外暴露,关于Rest Api,就是将程序的API封装成为通用的http GET/PUT的形式,这样的话无需关注程序实现细节,通过发送http请求即可完成API操作。所以用户可以通过Floodlight的Restful api来向Floodlight请求各种信息,包括交换机状态、能力、拓扑等。需要注意,通过Floodlight的Restful api返回的信息以json格式封装。REST Api信息用户访问http://www.projectfloodlight.org/floodlight/来获得。 (1)请求该控制器上所有的switch的DPID,可以参考如下命令,其中localhost:8080要换成控制器的ip和port。 
(2)加入流表项 
(3)读取流表项 
注:这种方式是通过static flow pusher来获取流表项。 (4)删除流表项 
假如要删除所有的流表项,使用如下命令: 
其它常见操作同Open vSwitch。 6 Floodlight可兼容交换机 下面列出了可以和Floodlight控制器兼容的交换机: 虚拟交换机 ■Open vSwitch(OVS) 硬件交换机 ■Arista 7050 ■Brocade MLXe ■Brocade CER ■Brocade CES ■Dell S4810 ■Dell Z9000 ■Extreme Summit x440, x460, x670 ■HP 3500, 3500yl, 5400zl, 6200yl, 6600, and 8200zl (the old-style L3 hardware match platform) ■HP V2 line cards in the 5400zl and 8200zl (the newer L2 hardware match platform) ■Huawei openflow-capable router platforms ■IBM 8264 ■Juniper (MX, EX) ■NEC IP8800 ■NEC PF5240 ■NEC PF5820 ■NetGear 7328SO ■NetGear 7352SO ■Pronto (3290, 3295, 3780) - runs the shipping pica8 software )))))))))))))))))))))))))))))))
# { I' P/ p: t. J/ s! H+ E( q2 {; A
3 K( T, q7 F$ D0 N- u9 ^
5 S% }2 A; O0 s) R3 l z4 \2 a! y* ^# z& k
6 f9 }0 ^8 q$ `% z% Z2 Q
(((((((((((((((((((((((((((((((((((以后再看 上述命令将创建多个文件:Floodlight.launch,Floodlight_junit.launch,classpath和.project。打开Eclipse软件,可以通过下面这些来设置新的Eclipse项目。 ■打开eclipse创建一个新的工程 ■File -> Import -> General -> Existing Projects into Workspac ,点击下一步 ■点击“Browse”。选择之前放置Floodlight的路径 ■点击Floodlight ■点击“Finish” 现在就产生了一个Floodlight的Eclipse工程。由于我们是使用静态模块加载系统运行Floodlight,我们必须配置Eclipse来正确的运行Floodlight。创建Floodlight目标文件: ■点击Run->Run Configurations ■右击Java Application,选择 New ■“Name”使用“FloodlightLaunch” ■“Project”使用“Floodlight” ■“Main”使用“net.floodlightcontroller.core.Main” ■点击“Apply” ■点击“Run”,Floodlight就开始运行了 (4)运行Floodlight后可以通过登录http://localhost:8080/ui/index.html使用Floodlight提供的web管理界面查看里面的信息,包括交换机、主机等等,因为我们没有接什么设备,页面没有什么信息。 
4 配置Floodlight Floodlight提供了两个配置文件:floodlightdefault.properties和learningswitch.properties,路径都位于floodlight/src/main/resources/。通过这两个配置文件可以查看Floodlight已经加载的子模块以及控制器的侦听端口、web端口,默认的侦听端口是6633,web端口是8080。如有必要用户可以自定义加载子模块和修改侦听端口,通过vi命令修改配置文件后,在Floodlight目录下执行ant编译后重启Floodlight即可。配置参数如下两图a)、图b)所示: 
图a) floodlightdefault.properties配置信息 
图b) learningswitch.properties配置信息 5 常用Floodlight命令 Floodlight将自己的API通过Rest Api的形式向外暴露,关于Rest Api,就是将程序的API封装成为通用的http GET/PUT的形式,这样的话无需关注程序实现细节,通过发送http请求即可完成API操作。所以用户可以通过Floodlight的Restful api来向Floodlight请求各种信息,包括交换机状态、能力、拓扑等。需要注意,通过Floodlight的Restful api返回的信息以json格式封装。REST Api信息用户访问http://www.projectfloodlight.org/floodlight/来获得。 (1)请求该控制器上所有的switch的DPID,可以参考如下命令,其中localhost:8080要换成控制器的ip和port。 
(2)加入流表项 
(3)读取流表项 
注:这种方式是通过static flow pusher来获取流表项。 (4)删除流表项 
假如要删除所有的流表项,使用如下命令: 
其它常见操作同Open vSwitch。 6 Floodlight可兼容交换机 下面列出了可以和Floodlight控制器兼容的交换机: 虚拟交换机 ■Open vSwitch(OVS) 硬件交换机 ■Arista 7050 ■Brocade MLXe ■Brocade CER ■Brocade CES ■Dell S4810 ■Dell Z9000 ■Extreme Summit x440, x460, x670 ■HP 3500, 3500yl, 5400zl, 6200yl, 6600, and 8200zl (the old-style L3 hardware match platform) ■HP V2 line cards in the 5400zl and 8200zl (the newer L2 hardware match platform) ■Huawei openflow-capable router platforms ■IBM 8264 ■Juniper (MX, EX) ■NEC IP8800 ■NEC PF5240 ■NEC PF5820 ■NetGear 7328SO ■NetGear 7352SO ■Pronto (3290, 3295, 3780) - runs the shipping pica8 software ))))))))))))))))))))))))))))))) ( m7 E# F# w& `& D, ?4 c( l
5 h/ }$ n7 Z6 Z, n' d, P5 J% J3 q) R$ V: c8 {. s8 o0 `2 H
|