美文网首页
OVS常用命令集

OVS常用命令集

作者: 杀破魂 | 来源:发表于2018-02-12 17:15 被阅读179次

    OVS-OFCTL操作:

    match部分:

    flow有很多syntax, 一半来说actions之前都是match的部分,常用的一般是

    字段名称 说明
    in_port=port 传递数据包的端口的 OpenFlow 端口编号
    dl_vlan=vlan 数据包的 VLAN Tag 值,范围是 0-4095,0xffff 代表不包含 VLAN Tag 的数据包
    dl_vlan_pcp=priority VLAN 优先级,改值取值区间为[0-7]。数字越大,表示优先级越高。
    dl_src=<MAC>
    dl_dst=<MAC>
    匹配源或者目标的 MAC 地址
    01:00:00:00:00:00/01:00:00:00:00:00 代表广播地址00:00:00:00:00:00/01:00:00:00:00:00 代表单播地址
    dl_type=ethertype 匹配以太网协议类型,其中:
    dl_type=0x0800 代表 IPv4 协议
    dl_type=0x086dd 代表 IPv6 协议
    dl_type=0x0806 代表 ARP 协议
    完整的的类型列表可以参见以太网协议类型列表
    nw_src=ip[/netmask] nw_dst=ip[/netmask] 当 dl_typ=0x0800 时,匹配源或者目标的 IPv4 地址,可以使 IP 地址或者域名
    nw_proto=proto
    和 dl_type 字段协同使用。

    当 dl_type=0x0800 时,匹配 IP 协议编号
    当 dl_type=0x086dd 代表 IPv6 协议编号

    完整的 IP 协议编号可以参见IP 协议编号列表
    table=number 指定要使用的流表的编号,范围是 0-254。在不指定的情况下,默认值为 0 通过使用流表编号,可以创建或者修改多个 Table 中的 Flow
    reg<idx>=value[/mask] 交换机中的寄存器的值。当一个数据包进入交换机时,所有的寄存器都被清零,用户可以通过 Action 的指令修改寄存器中的值
    tp_src=number TCP/UDP/SCTP source port
    tp_dst=number TCP/UDP/SCTP dest port

    nwproto or ipproto

    ff:ff:ff:ff:ff:ff

    • 当dl_type=0x0800或使用了关键字ip时,匹配IP头中的proto字段,取值 区间[0, 255],比如为1时可以匹配ICMP数据包,为6时匹配TCP数据包。
    • 当dl_type=0x86dd或使用了关键字ipv6是,匹配IPv6头中的proto字段,取值区间[0, 255],比如为58时匹配ICMPv6数据包,为6时匹配TCP数据包
    • 当dl_type=0x0806或者使用了关键字arp时,匹配ARP opcode的低8位,ARP opcode大于255时,与等于0效果一样
    • 当dl_type=0x8035或者使用了关键字rarp时,匹配ARP opcode的低8位, ARP opcode大于255时,与等于0效果一样
    • 当dl_type使用了通配符或这除了0x0800, 0x0806, 0x8035以外的值,则nw_proto的值会被忽略

    actions:

    • output:port: 输出数据包到指定的端口。port 是指端口的 OpenFlow 端口编号
      controller(key=value) 送到controller作为packet-in 消息,括号内的key value pair可以是:
      reason=reason ,reason 可以是action,no_match,invalid_ttl
      id=controller-id 默认是0,特殊的controller会有一个16位的id
    mod_dl_src:mac
          Sets the source Ethernet address to mac.
    mod_dl_dst:mac
          Sets the destination Ethernet address to mac.
    mod_nw_src:ip
          Sets the IPv4 source address to ip.
    mod_nw_dst:ip
          Sets the IPv4 destination address to ip.
    mod_tp_src:port
         Sets the TCP or UDP source port to port.
    mod_tp_dst:port
        Sets the TCP or UDP destination port to port.
    

    ovs-vsctl使用指南:

    vos-vsctl命令格式:
    usage: ovs-vsctl [OPTIONS] COMMAND [ARG...]
    
    常见的OPTIONS有以下组成:
    --db=DATABASE :指定连接的数据库,默认是unix:/var/run/openvswitch/db.sock
    --no-wait: 在使用时不等待ovs-vswitchd的重新配置
    --retry:不断尝试连接远端服务器
    --t,-timeout=SECS: 等待ovs-vswitchd的超时时间
    --dry-run: 尝试运行修修改的配置但是不提交到ovsdb-vswitch数据库
    --oneline:将打印出的命令一行一行的显示
    -h,--help: 显示帮助信息
    -V,--version:显示版本信息
    
    常用的COMMAND有以下几类:
    
    OpenvSwitch的维护命令:
       init:初始化ovsdb-vswitch数据库
       show:查看数据信息
       emer-reset: 重新设置openvswitch的状态
    
      OpenvSwitch对桥设备操作相关的命令:
       add-br BRIDGE :添加一个桥设备
       add-br BRIDGE PARENT VLAN:在PARENT中创建一个桥,并做vlan标记
       del-br BRIDGE: 删除一个桥设备
       list-br: 查看创建的桥设备
       br-exists BRIDGE: 判断新创建的桥是否已经存在
       br-to-vlan BRIDGE: 列出桥设备的所有的valn
       br-to-parent BRIDGE: 列出当前桥的上一个桥设备
       br-set-external-id BRIDGE KEY VALUE: 给桥添加额外的属性,方式为 key vllue格式
       br-set-external-id BRIDGE KEY:撤销桥设备额外的信息
       br-get-external-id BRIDGE KEY:列出桥设备额外的信息
       br-get-external-id BRIDGE :以key-value格式列出桥设备的额外信息
    
      OpenvSwitch对端口的操作命令:
       list-ports BRIDGE: 列出指定桥设备上的端口
       add-ports BRIDGE PORT :添加一个端口到桥设备,此端口可以事先不存在
       add-bond BRIDGE PORT IFACE...: 对桥设备做多端口绑定
       del-port [BRIDGE] PORT: 删除一个端口或者删除一个指定桥设备上的端口
       port-to-br PORT:列出端口所在的桥设备
    
      OpenvSwitch对接口操作的命令: 
       list-ifaces BRIDGE: 列出桥设备上的所有接口
       iface-to-br IFACE:  列出接口所在的桥设备
    
      OpenvSwitch的控制命令:
       get-contorller BRIDGE: 获取桥设备的控制器
       del-contorller BRIDGE: 删除桥设备的控制器
       set-contorller BRIDGE TARGET...:给桥设备设置一个控制器
       get-fail-mode BRIDGE: 显示桥设备错误的模式
       del-fail-mode BRIDGE: 删除桥设备错误的模式
       set-fail-mode BRIDGE MODE: 设置桥设备失败的模式为MODE
    
      OpenvSwitch管理相关的命令:
       get-manager: 列出openvswitch的管理者
       del-manager:删除openvswitch的管理者
       set-manager TARGET....:设置管理者列表为TARGET
    
      OpenvSwitch安全相关的命令:
       get-ssl:获取ssl的配置信息
       del-ssl: 删除ssl的配置信息
       set-ssl PRIV-KEY CERT CA-CERT: 配置ssl
    
      OpenvSwitch交换相关的命令:
       emer-rest: 重新设置未知交换机的状态
    
      OpenvSwitch数据库操作相关命令:
       listTBL [REC]: 列出TBL的资源记录信息(ovs-vsctl list port )
       findTBL CONDITION....:查找相关的资源记录信息
       getTBL REC COL[:KEY]:获取TBL的信息
       setTBL REC COL[:KEY]=VALUE:设定TBL的额外属性(ovs-vsctl set Port br1 tag=2)
       addTBL REC COL [KEY=]VALUE:添加一个[key=]value到TBL
       remove TBL REC COL [KEY=]VALUE:删除TBL中的一个key值(ovs-vsctlremove Port br1 tag 2)
       clearTBL REC COL: 清除指定TBL的资源记录信息
       create TBL COL [:KEY]=VALUE:在TBL中创建一个资源记录信息
       destroy TBL REC:销毁一个TBL的REC
       wait-until TBL REC [COL[:KEY]=VALUE]:等待TBL资源记录配置完成
    
     常用的ARG参数:
       连接主数据库的方法:
       tcp:IP:PORT: 指定连接远端数据库使用tcp协议,以及远端主数据库的ip地址跟端口
       ssl:IP:PORT: 指定连接远端数据库使用ssl协议,以及远端主数据库的ip地址跟端口
       unix:FILE:使用socket套接字连接主数据库
    
       备用数据库的连接方法:
       ptcp:IP:PORT: 指定连接远端数据库使用tcp协议,以及远端备用数据库的ip地址跟端口
       pssl:IP:PORT: 指定连接远端数据库使用ssl协议,以及远端备用数据库的ip地址跟端口
       punix:FILE:使用socket套接字连接备用数据库
    
       PKI配置:
       -p,--private-key=FILE: 指定私有秘钥的位置
       -c,--certificate=FILE:指定证书的位置
       -C,ca-cert=FILE:指定对端证书的
    

    相关文章

      网友评论

          本文标题:OVS常用命令集

          本文链接:https://www.haomeiwen.com/subject/xmfdtftx.html