OVS的安装与使用

OVS的安装与使用

一、OVS的安装

1、安装OVS交换机

     sudo apt-get install openvswitch-switch

2、OVS的启动脚本

      #!/bin/bash

      ovsdb-server --remote=punix:/usr/local/var/run/openvswitch/db.sock \

                    --remote=db:Open_vSwitch,Open_vSwitch,manager_options \

                    --private-key=db:Open_vSwitch,SSL,private_key \

                    --certificate=db:Open_vSwitch,SSL,certificate \

                    --bootstrap-ca-cert=db:Open_vSwitch,SSL,ca_cert \

                     --pidfile--detach

       ovs-vsctl --no-wait init

       ovs-vswitchd --pidfile –detach

二、OVS的基本命令

     1、 查看OVS的版本信息:sudo ovs-appctl --version

     2、 查看OVS支持的openflow版本:sudoovs-ofctl –version

     3、 列出所有网桥:sudo ovs-vsctl list-br

     4、 启动、退出OVS:sudo/usr/share/openvswitch/scripts/ovs-ctl stop

            sudo /usr/share/openvswitch/scripts/ovs-ctlstart

    5、 为网桥添加端口:sudo ovs-vsctl add-port br0 ens01

    6、 查看目前的网桥和端口:sudo ovs-vsctl show

    7、添加网桥:ovs-vsctladd-br 交换机名

    8、删除网桥:ovs-vsctldel-br 交换机名

    9、添加端口:ovs-vsctladd-port 交换机名 端口名(网卡名)
   10、删除端口:ovs-vsctl del-port 交换机名 端口名(网卡名

   11、连接控制器:ovs-vsctl set-controller 交换机名 tcp:IP地址:端口号
   12、断开控制器:ovs-vsctldel-controller 交换机名
   13、列出网桥中的所有端口:ovs-vsctl list-ports 交换机名
   14、列出所有挂接到网卡的网桥:ovs-vsctl port-to-br 端口名(网卡名)
   15、查看open vswitch的网络状态:ovs-vsctlshow
   16、查看 Open vSwitch 中的端口信息(交换机对应的 dpid,以及每个端口的 OpenFlow

            端口编号,端口名称,当前状态等等):ovs-ofctl show 交换机名
   17、修改dpid:ovs-vsctl set bridge 交换机名 other_config:datapath-id=新DPID
   18、修改端口号:ovs-vsctl set Interface 端口名 ofport_request=新端口号
   19、查看交换机中的所有流表:ovs-ofctl dump-tables ovs-switch
   20、查看交换机中的所有流表项:ovs−ofctldump−flows ovs-switch
   21、删除编号为 100 的端口上的所有流表项:ovs-ofctldel-flows ovs-switch “in_port=100”
   22、添加流表项(以“添加新的 OpenFlow 条目,修改从端口 p0 收到的数据包的源地址为 9.181.137.1”为例): ovs-ofctl add-flowovs-switch “priority=1

         idle_timeout=0,in_port=100,actions=mod_nw_src:9.181.137.1,normal”

三、使用实例

       1、创建网桥(交换机)

              sudo ovs-vsctladd-br br0

              sudo ovs-vsctladd-br br1

              sudo ovs-vsctladd-br br2

      2、为交换机配置端口信息

             sudo ovs-vsctl add-port br0 eth00

             sudo ovs-vsctl add-port br0 eth01

             sudo ovs-vsctl add-port br0 eth02

             sudo ovs-vsctl add-port br1 eth10

             sudo ovs-vsctl add-port br1 eth11

             sudo ovs-vsctl add-port br2 eth20

             sudo ovs-vsctl add-port br2 eth21

             sudo ovs-vsctl add-port br2 eth22

     3、为交换机端口之间建立链路连接

           sudo ovs-vsctl set interface eth01 type=patch options:peer=eth10

           sudo ovs-vsctl set interface eth02 type=patch options:peer=eth22

           sudo ovs-vsctl set interface eth10 type=patch options:peer=eth01

           sudo ovs-vsctl set interface eth11 type=patch options:peer=eth21

           sudo ovs-vsctl set interface eth21 type=patch options:peer=eth11

           sudo ovs-vsctl set interface eth22 type=patch options:peer=eth02

     4、启动网桥

           sudo ifconfig br0 up

           sudo ifconfig br1 up

           sudo ifconfig br2 up

     5、将交换机与控制器相连

          sudo ovs-vsctl set-controller br0 tcp:10.108.170.218:6633

          sudo ovs-vsctl set-controller br1 tcp:10.108.170.218:6633

          sudo ovs-vsctl set-controller br2 tcp:10.108.170.218:6633


你可能感兴趣的:(SDN)