天天看點

openvswitch常用操作

原理講解:

  當我們建立一個交換機(網橋)之後即(ovs-vsctl add-br brname),此時網絡功能不受影響,但是會産生一個虛拟網卡,名字為brname(與網橋名字同名,可以使用  ifconfig brname檢視),之是以會産生一個虛拟網卡,是為了實作接下來的網橋(交換機)功能,有了這個交換機以後,還需要為這個交換機增加端口(port),一個  端口就相當于一個實體網卡,當網卡加入到這個交換機之後,其工作方式就和普通交換機的一個端口的工作方式類似了;

  再執行(ovs-vsctl add-port brname port)之後,即網卡加入網橋之後,按照網橋的工作标準工作,則加入的端口(網卡)必須以混雜模式工作,工作在鍊路層,處理2  層的幀,是以這個port就不需要配置IP的(應該沒有見過哪個交換機的端口有IP的吧)

  那麼接下來你可能會問,通常的交換機不都是有一個管理接口,通過telnet到交換機上進行配置的,那麼在OVS中建立的虛拟機有沒有該接口呢,有的!上面提到建立交換機brname的時候産生了一個虛拟網口brname,那麼,給這個虛拟網卡配置了ip之後,就相當于給交換機的管理接口配置了IP,對此一個正常的虛拟交換機就搞定了!!

  除此之外,與網橋同名的網卡(端口)起到了橋的功能;

  ovs主要是用來虛拟化環境中,虛拟機之間的一個虛拟機和外網之間的通信場景,如下一個典型的結構圖:

openvswitch常用操作

  

1 VM執行個體instance産生一個資料包并發送至執行個體内的虛拟網絡接口VNIC,圖中就是instance中的eth0.

2 這個資料包會傳送到實體節點上的VNIC接口,如圖就是vnet接口。

3 資料包從vnet NIC出來,到達橋(虛拟交換機)br100上.

4 資料包經過交換機的處理,從實體節點上的實體接口發出,如圖中實體節點上的eth0.

5 資料包從eth0出去的時候,是按照實體節點上的路由以及預設網關操作的,這個時候該資料包其實已經不受你的控制了。

1、添加網橋br0:

  #ovs-vsctl add-br  br0

2、列出open vswitch中所有的網橋:

  #ovs-vsctl list-br

3、判斷網橋是否存在:

  #ovs-vsctl br-exists br0

4、将實體網卡挂接到網橋:

  #ovs-vsctl add-port br0  eth0

5、建立虛拟端挂接到網橋中:

  #ovs-vsctl add-port br0 my_port_name

  eg:ovs-vsctl add-port br0 gre0 -- set Interface gre0 type=gre options:remote_ip = XX.XX.XX.XX

6、列出網橋中所有端口:

  #ovs-vsctl list-ports br0

7、列出所有挂接到網卡的網橋:

  #ovs-vsctl port-to-br eth0

8、檢視open vswitch的網絡狀态:

  #ovs-vsctl show

9、删除網橋上已挂接的網口:

  #ovs-vsctl del-port  br0 eth0

10、删除網橋:

  #ovs-vsctl  del-br br0

參見:http://blog.chinaunix.net/uid-20737871-id-4333314.html

繼續閱讀