在路由器上进行基于OpenVswitch的openflow实验
来源:互联网 发布:二手车软件哪个好 编辑:程序博客网 时间:2024/06/05 08:01
1.简介
本篇文章主要是在刷写了OpenWRT的路由器上的OpenVswitch进行openflow流表的测试,实际部署的测试过程会遇到许多仿真所碰不见的问题。
2.实验环境
- 两台Ubuntu14.0.4系统的PC
- 一台刷写了OpenWRT15.05的路由器Netgear WNDR4300 v1,并在其上安装了OpenVswitch.
- 两条网线
3.划分VLAN
我将Lan对应的网卡eth0划分出四个虚拟网卡,每个Vlan对应一个port,eth0.1对应实际端口的4(在配置中是1,实际对应的是路由器后面标注的4),eth0.2对应实际3端口,eth0.3对应实际的2端口,eth0.4对应的实际的1端口。下面给出了我的/etc/config/network的配置。
config interface 'loopback' option ifname 'lo' option proto 'static' option ipaddr '127.0.0.1' option netmask '255.0.0.0' config globals 'globals' option ula_prefix 'fd96:684d:ab7a::/48'config interface 'lan' option ifname 'eth0.1' option force_link '1' option type 'bridge' option proto 'static' option ipaddr '192.168.3.1' option netmask '255.255.255.0' option ip6assign '60' option macaddr '6c:b0:ce:11:e8:f6'config interface 'wan' option ifname 'eth0.2' option proto 'dhcp' option macaddr '6c:b0:ce:11:e8:f7'config interface 'wan6' option ifname '@wan' option proto 'dhcpv6' config interface 'lan1' option ifname 'eth0.3' option proto 'static' config interface 'lan2' option ifname 'eth0.4' option proto 'static' config interface 'lan3' option ifname 'eth0.5' option proto 'static' config switch option name 'switch0' option reset '1' option enable_vlan '1'config switch_vlan option device 'switch0' option vlan '2' option ports '0t 5' config switch_vlan option device 'switch0' option vlan '3' option ports '0t 2' config switch_vlan option device 'switch0' option vlan '4' option ports '0t 3' config switch_vlan option device 'switch0' option vlan '5' option ports '0t 4'
4.实验过程
我的路由器lan地址对应192.168.3.1,因此通过无线网络连接后用ssh远程登录。
$ ssh root@192.168.3.1
在openVswitch中,创建一个网桥br0,并给br0赋予一个ip地址(最好不要与路由器lan的地址在同一网段),br0用作虚拟交换机各个端口的网关。
$ ovs-vsctl add-br br0$ ifconfig br0 192.168.4.1$ ifconfig br0 up
接下来将eth0.2和eth0.3交由虚拟交换机br0管理。
$ ovs-vsctl add-port br0 eth0.2$ ovs-vsctl add-port br0 eth0.3$ ovs-vsctl show //查看整个openVswitch的网桥和端口
最后,两台PC分别连接eth0.2和eth0.3,使用静态ip地址192.168.4.114和192.168.4.194,网关设置成192.168.4.1。
目前,两台PC和网关之间都无法Ping通,因为ARP和ICMP都无法到达目的地。添加以下流表后,即可Ping通。local是openflow的保留端口,是指本地的网络栈,在这里代表着br0。
$ ovs-ofctl add-flow br0 in_port=1,actions=local,output:2$ ovs-ofctl add-flow br0 in_port=2,actions=local,output:1$ ovs-ofctl add-flow br0 in_port=local,actions=output:1,2$ ovs-ofctl dump-flows br0 //查看br0的所有流表
0 0
- 在路由器上进行基于OpenVswitch的openflow实验
- 在ubuntu上安装openvswitch时无法加载openvswitch.ko模块的问题
- 在 openvswitch 上配置 VXLAN
- Openvswitch手册(2): OpenFlow Controller
- openvswitch--OpenFlow 流表设置
- Openvswitch手册(2): OpenFlow Controller
- openflow实验
- 基于RYU控制器(controller)上的simple-switch 的APP做的测试-SDN/OpenFlow
- 在netFPGA1G上实现openflow switch
- 在PC上安装虚拟机进行网络实验。如何规划,进行安装DHCP服务实验。还有dns服务器的验证
- OpenvSwitch + OpenFlow:Let’s get start
- 基于openflow的SDN技术的研究
- 基于SDN-OpenFlow的网络智能控制
- 基于 Open vSwitch 的 OpenFlow 实践
- 基于 Open vSwitch 的 OpenFlow 实践
- 基于 Open vSwitch 的 OpenFlow 实践
- 基于OpenFlow交换机的OpenStack部署实践
- 基于open vSwitch,floodlight的openflow实践
- ChangeWindowMessageFilterEx 概述
- JS-10 location对象
- 阿里巴巴2017暑期实习生-算法工程师(机器学习)编程测验题
- 二进制中1的个数
- 剑指offer系列----栈的压入、弹出序列
- 在路由器上进行基于OpenVswitch的openflow实验
- java初始化的加载顺序
- Can't use 'defined(@array)' (Maybe you should just omit the defined()?)(编译内核时候的错误)
- Date日期类型比较
- angular中使用a标签在PC端下载文件
- Eventbus3.0 源码解析
- HTML5和CSS3的属性笔记
- 海伦公式
- 为什么要使用SLF4J而不是Log4J