openswitch中的而一些命令
来源:互联网 发布:七天网络查分系统登录 编辑:程序博客网 时间:2024/04/29 20:07
启动openvswitch
(1)加载 libcrc32c.ko和openvswitch.ko(大部分已经自动加载)
$ sudo insmod /lib/modules/2.6.32-431.el6.i686/kernel/lib/libcrc32c.ko
$ sudo insmod datapath/linux/openvswitch.ko
2)首次运行需要生成初始配置文件/etc/openvswitch/conf.db,
sudo /usr/local/binof/ovsdb-tool create etc/openvswitch/conf.db /usr/local/share/openvswitch/vswitch.ovsschema
(3)启动数据库服务器
sudo /usr/local/sbin/ovsdb-server /etc/openvswitch/conf.db -vANY:CONSOLE:EMER -vANY:SYSLOG:ERR -vANY:FILE:INFO --remote=punix:/var/run/openvswitch/db.sock --log-file=/var/log/openvswitch/ovsdb-server.log --pidfile=/var/run/openvswitch/ovsdb-server.pid –detach
(4)# 首次运行,需要初始化数据库,后续运行不再需要
$ sudo ovs-vsctl --no-wait init
(5)启动 OpenvSwitch 服务进程
sudo /usr/local/sbin/ovs-vswitchd unix:/var/run/openvswitch/db.sock
-vANY:CONSOLE:EMER -vANY:SYSLOG:ERR -vANY:FILE:INFO --mlockall --no-chdir --log-file=/var/log/openvswitch/ovs-vswitchd.log --pidfile=/var/run/openvswitch/ovs-vswitchd.pid --detach
(2,4两步不是必须的)
启动后br和ports以及他们的绑定都是之前设置好的,没有被重置。
ovs的几个命令:
ovs-vsctl list-br 列出所有网桥
ovs-vsctl list-ports br0 列出网桥br0上的所有网络接口
ovs-vsctl show 查看ovs是否连接上控制器
ovs-ofctl show br0 查看br0的openflow信息
ovs-ofctl dump-ports br0 查看br0各交换机端口的状态
ovs-ofctl dump-flows br0 查看br0上的所有流表规则(流表项)
ovs-ofctl dump-tables br0 查看交换机中的所有 Table
ovs-appctl --version 查看ovs版本
ovs-ofctl --version 查看那ovs支持的of协议的版本
ovs-ofctl del-flows br0 "in_port=100" 删除编号为 100 的端口上的所有流表项
与制定的控制器链接
ifconfig br0<ip>netmask<Netmask>up
ovs-vsctl set-controller br0 tcp:<controller IP>:<port>
启动pox
P:
python pox.py openflow.of_01 --address=100.1.1.5 -port=6633 py
from pox.lib.addresses import IPAddr
from pox.lib.addresses import EthAddr
import random
import pox.openflow.libopenflow_01 as of
core.openflow.connections.keys()
得到 193864321579124L
msg=of.ofp_flow_mod()
msg.priority=20
msg.match.in_port=3
msg.match.nw_proto=1
msg.match.dl_type = 0x0800
msg.actions.append(of.ofp_action_output(port=1))
core.openflow.connections[193864321579124L].send(msg)
msg=of.ofp_flow_mod()
msg.priority=20
msg.match.in_port=3
msg.match.dl_type = 0x0806
msg.actions.append(of.ofp_action_output(port=1))
core.openflow.connections[193864321579124L].send(msg)
msg.priority=20
msg.match.in_port=1
msg.match.dl_type = 0x0806
msg.actions.append(of.ofp_action_output(port=3))
core.openflow.connections[193864321579124L].send(msg)
msg=of.ofp_flow_mod()
msg.priority=20
msg.match.in_port=1
msg.match.dl_type = 0x0800
msg.actions.append(of.ofp_action_output(port=3))
core.openflow.connections[193864321579124L].send(msg)
msg=of.ofp_flow_mod()
msg.priority=20
msg.match.in_port=3
msg.match.dl_type = 0x0800
msg.actions.append(of.ofp_action_output(port=1))
core.openflow.connections[193864321579124L].send(msg)
msg=of.ofp_flow_mod()
msg.priority=20
msg.match.in_port=1
msg.match.nw_proto=6
msg.match.dl_type = 0x0800
msg.actions.append(of.ofp_action_output(port=3))
core.openflow.connections[193864321579124L].send(msg)
msg=of.ofp_flow_mod()
msg.priority=20
msg.match.in_port=3
msg.match.nw_proto=6
msg.match.dl_type = 0x0800
msg.actions.append(of.ofp_action_output(port=1))
core.openflow.connections[193864321579124L].send(msg)
msg=of.ofp_flow_mod()
msg.priority=20
msg.match.in_port=1
msg.match.nw_proto=17
msg.match.dl_type = 0x0800
msg.actions.append(of.ofp_action_output(port=3))
core.openflow.connections[193864321579124L].send(msg)
msg=of.ofp_flow_mod()
msg.priority=20
msg.match.in_port=3
msg.match.nw_proto=17
msg.match.dl_type = 0x0800
msg.actions.append(of.ofp_action_output(port=1))
core.openflow.connections[193864321579124L].send(msg)
pox删除已经加入的流表
msg=of.ofp_flow_mod(command=3)
core.openflow.connections[193864321579124L].send(msg)
floodlight 2.3.1 监听的端口是6653
floodlight 每次重启都会向ovs交换机发253个流表,每个流表里只有一个流表项,也就是253个流表项。且全部actions=CONTROL
如果想获得网络接口的 OpenFlow 编号,也可以在 OVS 的数据库中查询
$ ovs-vsctl get Interface br0 ofport
100
(br0 可以换成eth0,eth1,就是br0中加入的端口)
查看 datapath 的信息
$ ovs-dpctl show
(1)加载 libcrc32c.ko和openvswitch.ko(大部分已经自动加载)
$ sudo insmod /lib/modules/2.6.32-431.el6.i686/kernel/lib/libcrc32c.ko
$ sudo insmod datapath/linux/openvswitch.ko
2)首次运行需要生成初始配置文件/etc/openvswitch/conf.db,
sudo /usr/local/binof/ovsdb-tool create etc/openvswitch/conf.db /usr/local/share/openvswitch/vswitch.ovsschema
(3)启动数据库服务器
sudo /usr/local/sbin/ovsdb-server /etc/openvswitch/conf.db -vANY:CONSOLE:EMER -vANY:SYSLOG:ERR -vANY:FILE:INFO --remote=punix:/var/run/openvswitch/db.sock --log-file=/var/log/openvswitch/ovsdb-server.log --pidfile=/var/run/openvswitch/ovsdb-server.pid –detach
(4)# 首次运行,需要初始化数据库,后续运行不再需要
$ sudo ovs-vsctl --no-wait init
(5)启动 OpenvSwitch 服务进程
sudo /usr/local/sbin/ovs-vswitchd unix:/var/run/openvswitch/db.sock
-vANY:CONSOLE:EMER -vANY:SYSLOG:ERR -vANY:FILE:INFO --mlockall --no-chdir --log-file=/var/log/openvswitch/ovs-vswitchd.log --pidfile=/var/run/openvswitch/ovs-vswitchd.pid --detach
(2,4两步不是必须的)
启动后br和ports以及他们的绑定都是之前设置好的,没有被重置。
ovs的几个命令:
ovs-vsctl list-br 列出所有网桥
ovs-vsctl list-ports br0 列出网桥br0上的所有网络接口
ovs-vsctl show 查看ovs是否连接上控制器
ovs-ofctl show br0 查看br0的openflow信息
ovs-ofctl dump-ports br0 查看br0各交换机端口的状态
ovs-ofctl dump-flows br0 查看br0上的所有流表规则(流表项)
ovs-ofctl dump-tables br0 查看交换机中的所有 Table
ovs-appctl --version 查看ovs版本
ovs-ofctl --version 查看那ovs支持的of协议的版本
ovs-ofctl del-flows br0 "in_port=100" 删除编号为 100 的端口上的所有流表项
与制定的控制器链接
ifconfig br0<ip>netmask<Netmask>up
ovs-vsctl set-controller br0 tcp:<controller IP>:<port>
启动pox
P:
python pox.py openflow.of_01 --address=100.1.1.5 -port=6633 py
from pox.lib.addresses import IPAddr
from pox.lib.addresses import EthAddr
import random
import pox.openflow.libopenflow_01 as of
core.openflow.connections.keys()
得到 193864321579124L
msg=of.ofp_flow_mod()
msg.priority=20
msg.match.in_port=3
msg.match.nw_proto=1
msg.match.dl_type = 0x0800
msg.actions.append(of.ofp_action_output(port=1))
core.openflow.connections[193864321579124L].send(msg)
msg=of.ofp_flow_mod()
msg.priority=20
msg.match.in_port=3
msg.match.dl_type = 0x0806
msg.actions.append(of.ofp_action_output(port=1))
core.openflow.connections[193864321579124L].send(msg)
msg.priority=20
msg.match.in_port=1
msg.match.dl_type = 0x0806
msg.actions.append(of.ofp_action_output(port=3))
core.openflow.connections[193864321579124L].send(msg)
msg=of.ofp_flow_mod()
msg.priority=20
msg.match.in_port=1
msg.match.dl_type = 0x0800
msg.actions.append(of.ofp_action_output(port=3))
core.openflow.connections[193864321579124L].send(msg)
msg=of.ofp_flow_mod()
msg.priority=20
msg.match.in_port=3
msg.match.dl_type = 0x0800
msg.actions.append(of.ofp_action_output(port=1))
core.openflow.connections[193864321579124L].send(msg)
msg=of.ofp_flow_mod()
msg.priority=20
msg.match.in_port=1
msg.match.nw_proto=6
msg.match.dl_type = 0x0800
msg.actions.append(of.ofp_action_output(port=3))
core.openflow.connections[193864321579124L].send(msg)
msg=of.ofp_flow_mod()
msg.priority=20
msg.match.in_port=3
msg.match.nw_proto=6
msg.match.dl_type = 0x0800
msg.actions.append(of.ofp_action_output(port=1))
core.openflow.connections[193864321579124L].send(msg)
msg=of.ofp_flow_mod()
msg.priority=20
msg.match.in_port=1
msg.match.nw_proto=17
msg.match.dl_type = 0x0800
msg.actions.append(of.ofp_action_output(port=3))
core.openflow.connections[193864321579124L].send(msg)
msg=of.ofp_flow_mod()
msg.priority=20
msg.match.in_port=3
msg.match.nw_proto=17
msg.match.dl_type = 0x0800
msg.actions.append(of.ofp_action_output(port=1))
core.openflow.connections[193864321579124L].send(msg)
pox删除已经加入的流表
msg=of.ofp_flow_mod(command=3)
core.openflow.connections[193864321579124L].send(msg)
floodlight 2.3.1 监听的端口是6653
floodlight 每次重启都会向ovs交换机发253个流表,每个流表里只有一个流表项,也就是253个流表项。且全部actions=CONTROL
如果想获得网络接口的 OpenFlow 编号,也可以在 OVS 的数据库中查询
$ ovs-vsctl get Interface br0 ofport
100
(br0 可以换成eth0,eth1,就是br0中加入的端口)
查看 datapath 的信息
$ ovs-dpctl show
0 0
- openswitch中的而一些命令
- 数论中的而一些公式
- 安装openswitch
- Ant 中的一些命令
- Linux中的一些命令
- Latex中的一些命令
- ubuntu 中的一些命令
- linux中的一些命令
- Latex中的一些命令
- shell中的一些命令
- Android中的一些命令
- Linux中的一些命令
- Windows XP中的一些命令
- 一些SQL注入中的命令
- Windows XP中的一些命令
- VS2008中的一些命令窗口
- VS2008中的一些命令窗口
- Linux中的一些命令总结
- Mybatis整合Spring
- 缓冲区溢出漏洞攻击演示实验
- java,Iterator,两种遍历方法
- 让人深思的退役贴
- 一步一步创建一个Servlet站点
- openswitch中的而一些命令
- 【bzoj2836】【魔法树】【树链剖分】
- Javascript trim()函数实现册除空格
- HTML标签
- SCrollTOP scrollHeight
- Systemd 与 Systemctl 命令指南
- C++中的类型转换之 const_cast static_cast dynamic_cast reinterpret_cast
- 之前写的python文件
- vs2015 打不开了 提示"CSharpPackage"