一、實驗目的
- 瞭解GRE協議及原理
- 理解 Open vSwitch如何配置GRE隧道
二、實驗原理
Open vSwitch創建GRE原理很簡單,就是把對GRE頭和外部IP頭的一些操作從原來的代碼中抽象出來,做成內核“庫函數”的形式,然後 Open vSwitch中就可以直接調用它們了。 Open vSwitch GRE tunnel沒有註冊網絡設備,因此無法通過iplink看到它,它只是一個vport而已,所以能通過ovs-vsctl show可以看到。
三、實驗任務
本實驗需要創建兩臺虛擬機來模擬一個虛網,在虛擬機中啓動 Open vSwitch服務,最後配置 Open vSwitch,創建GRE隧道並進行驗證。
實驗中用到的網絡拓撲如下:
本實驗需要兩臺虛擬機,因此我又克隆了同樣的一臺虛擬機。
然後在其中一臺虛擬機上輸入如下指令:
ovs-vsctl del-br br0
ovs-vsctl del-br br1
ovs-vsctl add-br br0
ovs-vsctl add-br br1
ifconfig ens33 0 up
ifconfig br0 20.0.2.12 netmask 255.255.255.248
route add default gw 20.0.2.9
ovs-vsctl add-port br0 ens33
ifconfig br1 172.171.6.6/24 up
1~2:刪除之前的橋以清除記錄
3~4:創建新的橋用來構建
5~6:將本機的IP地址取消然後將20.0.2.12賦予br0然後設置子網掩碼
7:配置默認網關地址爲20.0.2.9
8~9:添加端口然後給br1賦予IP地址
最後可用ovs-vsctl show查看配置情況:
然後創建隧道:
ovs-vsctl add-port br1 gre1 -- set interface gre1 type=gre option:remote_ip=20.0.2.11
分別用ovs-vsctl show 和 ifconfig查看如下:
2號虛擬機也是如此:
ovs-vsctl del-br br0
ovs-vsctl del-br br1
ovs-vsctl add-br br0
ovs-vsctl add-br br1
ifconfig ens33 0 up
ifconfig br0 20.0.2.11 netmask 255.255.255.248
route add default gw 20.0.2.9
ovs-vsctl add-port br0 ens33
ifconfig br1 172.171.6.7/24 up
ovs-vsctl add-port br1 gre1 -- set interface gre1 type=gre option:remote_ip=20.0.2.12
最後互ping可發現在設置隧道隧道以前只有兩機的BR0可以互相通信而br1不行,但是創建了gre隧道之後就可以互相通信了:
VM1:
VM2:
結論:
1.如果網橋上接上主機那麼這兩主機就可以互相通信
2.這在連接兩個不同域之間的SDN網絡有很大的作用