OVS常用命令集

OVS-OFCTL操作:

match部分:

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

字段名稱 說明
in_port=port 傳遞數(shù)據(jù)包的端口的 OpenFlow 端口編號
dl_vlan=vlan 數(shù)據(jù)包的 VLAN Tag 值,范圍是 0-4095,0xffff 代表不包含 VLAN Tag 的數(shù)據(jù)包
dl_vlan_pcp=priority VLAN 優(yōu)先級,改值取值區(qū)間為[0-7]。數(shù)字越大,表示優(yōu)先級越高。
dl_src=<MAC>
dl_dst=<MAC>
匹配源或者目標(biāo)的 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 匹配以太網(wǎng)協(xié)議類型,其中:
dl_type=0x0800 代表 IPv4 協(xié)議
dl_type=0x086dd 代表 IPv6 協(xié)議
dl_type=0x0806 代表 ARP 協(xié)議
完整的的類型列表可以參見以太網(wǎng)協(xié)議類型列表
nw_src=ip[/netmask] nw_dst=ip[/netmask] 當(dāng) dl_typ=0x0800 時,匹配源或者目標(biāo)的 IPv4 地址,可以使 IP 地址或者域名
nw_proto=proto
和 dl_type 字段協(xié)同使用。

當(dāng) dl_type=0x0800 時,匹配 IP 協(xié)議編號
當(dāng) dl_type=0x086dd 代表 IPv6 協(xié)議編號

完整的 IP 協(xié)議編號可以參見IP 協(xié)議編號列表
table=number 指定要使用的流表的編號,范圍是 0-254。在不指定的情況下,默認(rèn)值為 0 通過使用流表編號,可以創(chuàng)建或者修改多個 Table 中的 Flow
reg<idx>=value[/mask] 交換機中的寄存器的值。當(dāng)一個數(shù)據(jù)包進入交換機時,所有的寄存器都被清零,用戶可以通過 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

  • 當(dāng)dl_type=0x0800或使用了關(guān)鍵字ip時,匹配IP頭中的proto字段,取值 區(qū)間[0, 255],比如為1時可以匹配ICMP數(shù)據(jù)包,為6時匹配TCP數(shù)據(jù)包。
  • 當(dāng)dl_type=0x86dd或使用了關(guān)鍵字ipv6是,匹配IPv6頭中的proto字段,取值區(qū)間[0, 255],比如為58時匹配ICMPv6數(shù)據(jù)包,為6時匹配TCP數(shù)據(jù)包
  • 當(dāng)dl_type=0x0806或者使用了關(guān)鍵字arp時,匹配ARP opcode的低8位,ARP opcode大于255時,與等于0效果一樣
  • 當(dāng)dl_type=0x8035或者使用了關(guān)鍵字rarp時,匹配ARP opcode的低8位, ARP opcode大于255時,與等于0效果一樣
  • 當(dāng)dl_type使用了通配符或這除了0x0800, 0x0806, 0x8035以外的值,則nw_proto的值會被忽略

actions:

  • output:port: 輸出數(shù)據(jù)包到指定的端口。port 是指端口的 OpenFlow 端口編號
    controller(key=value) 送到controller作為packet-in 消息,括號內(nèi)的key value pair可以是:
    reason=reason ,reason 可以是action,no_match,invalid_ttl
    id=controller-id 默認(rèn)是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 :指定連接的數(shù)據(jù)庫,默認(rèn)是unix:/var/run/openvswitch/db.sock
--no-wait: 在使用時不等待ovs-vswitchd的重新配置
--retry:不斷嘗試連接遠(yuǎn)端服務(wù)器
--t,-timeout=SECS: 等待ovs-vswitchd的超時時間
--dry-run: 嘗試運行修修改的配置但是不提交到ovsdb-vswitch數(shù)據(jù)庫
--oneline:將打印出的命令一行一行的顯示
-h,--help: 顯示幫助信息
-V,--version:顯示版本信息

常用的COMMAND有以下幾類:

OpenvSwitch的維護命令:
   init:初始化ovsdb-vswitch數(shù)據(jù)庫
   show:查看數(shù)據(jù)信息
   emer-reset: 重新設(shè)置openvswitch的狀態(tài)

  OpenvSwitch對橋設(shè)備操作相關(guān)的命令:
   add-br BRIDGE :添加一個橋設(shè)備
   add-br BRIDGE PARENT VLAN:在PARENT中創(chuàng)建一個橋,并做vlan標(biāo)記
   del-br BRIDGE: 刪除一個橋設(shè)備
   list-br: 查看創(chuàng)建的橋設(shè)備
   br-exists BRIDGE: 判斷新創(chuàng)建的橋是否已經(jīng)存在
   br-to-vlan BRIDGE: 列出橋設(shè)備的所有的valn
   br-to-parent BRIDGE: 列出當(dāng)前橋的上一個橋設(shè)備
   br-set-external-id BRIDGE KEY VALUE: 給橋添加額外的屬性,方式為 key vllue格式
   br-set-external-id BRIDGE KEY:撤銷橋設(shè)備額外的信息
   br-get-external-id BRIDGE KEY:列出橋設(shè)備額外的信息
   br-get-external-id BRIDGE :以key-value格式列出橋設(shè)備的額外信息

  OpenvSwitch對端口的操作命令:
   list-ports BRIDGE: 列出指定橋設(shè)備上的端口
   add-ports BRIDGE PORT :添加一個端口到橋設(shè)備,此端口可以事先不存在
   add-bond BRIDGE PORT IFACE...: 對橋設(shè)備做多端口綁定
   del-port [BRIDGE] PORT: 刪除一個端口或者刪除一個指定橋設(shè)備上的端口
   port-to-br PORT:列出端口所在的橋設(shè)備

  OpenvSwitch對接口操作的命令: 
   list-ifaces BRIDGE: 列出橋設(shè)備上的所有接口
   iface-to-br IFACE:  列出接口所在的橋設(shè)備

  OpenvSwitch的控制命令:
   get-contorller BRIDGE: 獲取橋設(shè)備的控制器
   del-contorller BRIDGE: 刪除橋設(shè)備的控制器
   set-contorller BRIDGE TARGET...:給橋設(shè)備設(shè)置一個控制器
   get-fail-mode BRIDGE: 顯示橋設(shè)備錯誤的模式
   del-fail-mode BRIDGE: 刪除橋設(shè)備錯誤的模式
   set-fail-mode BRIDGE MODE: 設(shè)置橋設(shè)備失敗的模式為MODE

  OpenvSwitch管理相關(guān)的命令:
   get-manager: 列出openvswitch的管理者
   del-manager:刪除openvswitch的管理者
   set-manager TARGET....:設(shè)置管理者列表為TARGET

  OpenvSwitch安全相關(guān)的命令:
   get-ssl:獲取ssl的配置信息
   del-ssl: 刪除ssl的配置信息
   set-ssl PRIV-KEY CERT CA-CERT: 配置ssl

  OpenvSwitch交換相關(guān)的命令:
   emer-rest: 重新設(shè)置未知交換機的狀態(tài)

  OpenvSwitch數(shù)據(jù)庫操作相關(guān)命令:
   listTBL [REC]: 列出TBL的資源記錄信息(ovs-vsctl list port )
   findTBL CONDITION....:查找相關(guān)的資源記錄信息
   getTBL REC COL[:KEY]:獲取TBL的信息
   setTBL REC COL[:KEY]=VALUE:設(shè)定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中創(chuàng)建一個資源記錄信息
   destroy TBL REC:銷毀一個TBL的REC
   wait-until TBL REC [COL[:KEY]=VALUE]:等待TBL資源記錄配置完成

 常用的ARG參數(shù):
   連接主數(shù)據(jù)庫的方法:
   tcp:IP:PORT: 指定連接遠(yuǎn)端數(shù)據(jù)庫使用tcp協(xié)議,以及遠(yuǎn)端主數(shù)據(jù)庫的ip地址跟端口
   ssl:IP:PORT: 指定連接遠(yuǎn)端數(shù)據(jù)庫使用ssl協(xié)議,以及遠(yuǎn)端主數(shù)據(jù)庫的ip地址跟端口
   unix:FILE:使用socket套接字連接主數(shù)據(jù)庫

   備用數(shù)據(jù)庫的連接方法:
   ptcp:IP:PORT: 指定連接遠(yuǎn)端數(shù)據(jù)庫使用tcp協(xié)議,以及遠(yuǎn)端備用數(shù)據(jù)庫的ip地址跟端口
   pssl:IP:PORT: 指定連接遠(yuǎn)端數(shù)據(jù)庫使用ssl協(xié)議,以及遠(yuǎn)端備用數(shù)據(jù)庫的ip地址跟端口
   punix:FILE:使用socket套接字連接備用數(shù)據(jù)庫

   PKI配置:
   -p,--private-key=FILE: 指定私有秘鑰的位置
   -c,--certificate=FILE:指定證書的位置
   -C,ca-cert=FILE:指定對端證書的
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • Open vSwitch介紹 在過去,數(shù)據(jù)中心的服務(wù)器是直接連在硬件交換機上,后來VMware實現(xiàn)了服務(wù)器虛擬化技...
    殺破魂閱讀 25,143評論 1 18
  • 裝載自http://sdnhub.cn/index.php/openv-switch-full-guide/ 1 ...
    ximitc閱讀 6,317評論 0 11
  • 1.openvswitch與openflow 協(xié)議 1.1openflow協(xié)議 SDN,即Software ...
    hanhoof閱讀 2,010評論 0 2
  • OVS 核心代碼 OVS 架構(gòu) OVS 主要的數(shù)據(jù)結(jié)構(gòu)數(shù)據(jù)結(jié)構(gòu)關(guān)系圖主要的數(shù)據(jù)結(jié)構(gòu)和數(shù)據(jù)結(jié)構(gòu)的參數(shù)數(shù)據(jù)結(jié)構(gòu)代碼 d...
    NightCat閱讀 28,119評論 3 24
  • 本文整理了在實踐過程中使用的Linux網(wǎng)絡(luò)工具,這些工具提供的功能非常強大,我們平時使用的只是冰山一角,比如lso...
    老夫劉某閱讀 3,814評論 0 7

友情鏈接更多精彩內(nèi)容