2013年4月5日 星期五

Open vSwitch GRE Tunnel on Proxmox

使用VMware Workstation 建立實驗環境,建立 2台Proxmox 2.3 Host 並安裝Open vSwitch 和 1台POX controller 連接Open vSwitch,2台Proxmox 組成pve cluster並各建立1台VM,使用Open vSwitch GRE Tunnel 讓VM之間形成區網,架構如下圖所示。



[root@pveNode ~]$ ovs-vsctl add-br vmbr1
[root@pveNode ~]$ ovs-vsctl add-port vmbr1 gre0 -- set interface gre0 type=gre options:remote_ip=192.168.88.141
[root@pveNode ~]$ ovs-vsctl set-controller vmbr1 tcp:192.168.88.140:6633
[root@pveNode2 ~]$ ovs-vsctl add-br vmbr1
[root@pveNode2 ~]$ ovs-vsctl add-port vmbr1 gre0 -- set interface gre0 type=gre options:remote_ip=192.168.88.142
[root@pveNode2 ~]$ ovs-vsctl set-controller vmbr1 tcp:192.168.88.140:6633
Open vSwitch 設定結果如下,tap 是VM使用自動建立的:
[root@proxNode2 ~]# ovs-vsctl show
81be08ee-471b-45a0-acb7-f2e30782eeca
    Bridge "vmbr0"
        Port "eth0"
            Interface "eth0"
        Port "vmbr0"
            Interface "vmbr0"
                type: internal
    Bridge "vmbr1"
        Controller "tcp:192.168.88.140:6633"
            is_connected: true
        Port "tap100i0"
            Interface "tap100i0"
        Port "gre0"
            Interface "gre0"
                type: gre
                options: {remote_ip="192.168.88.141"}
        Port "vmbr1"
            Interface "vmbr1"
                type: internal
接下來安裝POX controller,需要python 2.7以上:
[root@ubuntu ~]$ wget http://python.org/ftp/python/2.7.3/Python-2.7.3.tgz
[root@ubuntu ~]$ tar -xvf Python-2.7.3.tgz 
[root@ubuntu ~]$ cd Python-2.7.3/
[root@ubuntu ~]$ ./configure 
[root@ubuntu ~]$ make
[root@ubuntu ~]$ sudo make altinstall
[root@ubuntu ~]$ sudo apt-get install python-pastescript
[root@ubuntu ~]$ git clone https://github.com/MurphyMc/poxdesk
[root@ubuntu ~]$ cd poxdesk/
[root@ubuntu ~]$ wget http://downloads.sourceforge.net/qooxdoo/qooxdoo-2.0.2-sdk.zip
[root@ubuntu ~]$ unzip qooxdoo-2.0.2-sdk.zip
[root@ubuntu ~]$ mv qooxdoo-2.0.2-sdk qx
[root@ubuntu ~]$ cd poxdesk
[root@ubuntu ~]$ ./generate.py
[root@ubuntu ~]$ cd ../../..
[root@ubuntu ~]$ ./pox.py forwarding.l2_learning samples.pretty_log web messenger messenger.log_service /
                    messenger.ajax_transport openflow.of_service poxdesk

網頁連接http://192.168.88.140:8000/ 選poxdesk 結果如下圖。

VM網路測試結果如下圖:


沒有留言:

張貼留言