最近在研究學習Open vSwitch,準備在本地Ubuntu14.04機器上安裝一下,並基於其建立一些KVM虛擬機,下面就簡要記錄下在Ubuntu14.04系統上安裝Open vSwitch的過程。ubuntu
一、因爲以前安裝過KVM,其在本機生成了一個名爲virbr0的bridge,這裏咱們須要事先將其刪除,不然可能會與Open vSwitch產生不兼容的問題,命令以下:app
◄► virsh net-destroy default Network default destroyed ◄► virsh net-autostart --disable default Network default unmarked as autostarted
二、這裏咱們一樣也不須要bridge模塊:學習
◄► sudo aptitude purge ebtables The following packages will be REMOVED: ebtables{p} 0 packages upgraded, 0 newly installed, 1 to remove and 37 not upgraded. Need to get 0 B of archives. After unpacking 379 kB will be freed. Do you want to continue? [Y/n/?] y (Reading database ... 230918 files and directories currently installed.) Removing ebtables (2.0.10.4-3ubuntu1) ... * Clearing ebtables rulesets [ OK ] Purging configuration files for ebtables (2.0.10.4-3ubuntu1) ... Processing triggers for man-db (2.6.7.1-1ubuntu1) ...
三、下面開始安裝openvswitch相關包:spa
◄► sudo apt-get install openvswitch-switch
四、查看下ovs的運行情況:code
◄► ps -ea | grep ovs 10637 ? 00:00:00 ovsdb-server 10647 ? 00:00:00 ovs-vswitchd
五、查看下安裝的ovs的版本:server
◄► ovs-appctl --version ovs-appctl (Open vSwitch) 2.0.2 Compiled May 13 2015 18:49:53
六、查看下當前ovs支持的OpenFlow協議的版本:blog
◄► ovs-ofctl --version ovs-ofctl (Open vSwitch) 2.0.2 Compiled May 13 2015 18:49:53 OpenFlow versions 0x1:0x4
七、經過ovs建立一個網橋 br0,供kvm虛擬機使用:ip
◄► sudo ovs-vsctl add-br br0 ◄► ifconfig br0 Link encap:Ethernet HWaddr 12:72:fd:75:e5:4b inet6 addr: fe80::4c0a:7bff:fec6:98d7/64 Scope:Link UP BROADCAST RUNNING MTU:1500 Metric:1 RX packets:0 errors:0 dropped:0 overruns:0 frame:0 TX packets:7 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:0 RX bytes:0 (0.0 B) TX bytes:578 (578.0 B)
經過ifconfig命令,咱們發現多了一個br0網橋。rem
八、將物理網卡eth0添加到br0上:get
◄► sudo ovs-vsctl add-port br0 eth0
這步執行後,發現沒法再訪問外網,不過不要緊,咱們能夠按照以下步驟解決:
1)先清除eth0的配置:
◄► sudo ifconfig eth0 0
2)讓br0自動獲取ip地址:
◄► sudo dhclient br0
3)此時就又能夠通外網了:
◄► ping www.baidu.com PING www.a.shifen.com (119.75.217.109) 56(84) bytes of data. 64 bytes from 119.75.217.109: icmp_seq=1 ttl=54 time=30.9 ms 64 bytes from 119.75.217.109: icmp_seq=2 ttl=54 time=31.9 ms
九、最後查看下目前br0和eth0的狀況:
◄► sudo ovs-vsctl show 1e6548a9-956e-4b86-b743-f8da0aa2b922 Bridge "br0" Port "br0" Interface "br0" type: internal Port "eth0" Interface "eth0" ovs_version: "2.0.2"