實現SDN網路的邏輯隔離

2021-06-26 07:59:37 字數 3511 閱讀 8674

1.

場景:設有一台

pc機,兩台伺服器a、

b與同一交換機直連,伺服器a和

b都提供遠端桌面登入服務。(這裡的

pc機、伺服器、交換機可以選擇物理裝置或者虛擬機器實現)。 2.

目的:通過控制層對網路的控制,實現

pc機可以分別登入伺服器a和

b,但是a

和b之間相互訪問不了(無論是在實際環境還是在**環境實現目的均可)。 3.

針對採用

openflow

2所示,通過對流表的修改與編輯,使得訪問a、

b的流能夠被區分出來,如果是a訪問

b或者b訪問

a的流則自動丟棄,否則正常處理。 4.

報告書要求:

(1)簡要描述網路拓撲,給出拓撲圖,若有前面小題中沒有提及的裝置、軟體等構件,則在此詳細說明。

(2)給出操作步驟。

(3)給出實驗資料(介面截圖、**等都可),證明目的已經實現。

實驗步驟如下:

在編寫具體實驗之前,我覺得這個網路環境要求實現的是邏輯隔離,在傳統網路這個也可以很快的實現,即在兩台交換機上面新增acl訪問控制列表也可以進行實現,不過這個配置需要遠端登入到兩台交換機上面進行配置。通過sdn網路來實現的話,分離了資料層面和控制層面,這樣我們只需要在控制器上面進行相關的配置就可以了。

傳統的交換機根據標準協議來形成fib,這部分的**是封裝在交換機的作業系統中的,交換機的管理者不能對fib的形成進行修改,這樣做的優勢在於保證了交換機的速率和可靠性。但是,管理者不能根據網路的具體業務對交換機的**行為進行專門的定製和設計,這樣既浪費了運營的成本,又影響新業務。

sdn交換機,現在用的比較多的是openflow交換機,分離了控制層面和**層面,fib表可以在本地進行配置,也可以在控制器遠端進行修改。在實際環境中,控制器可以從全網的角度對每乙個交換機的流表通過修改流表的方式進行配置,實現全網新業務的提供,也降低了運營的成本。

下面的幾幅圖能夠更好地闡釋傳統的裝置、sdn裝置以及openflow switch的區別:

具體實現如下:

(1)具體的sdn網路搭建在前面的讀書筆記中已經有了描述,這裡就不再重複,我們使左邊和右邊的機器都不ping通(具體實現見前面);

(2)這時通過ovs來進行新增流表,使台式電腦可以ping通右邊的機器,但是右邊的兩台機器的條目不進行新增,這樣就保證了實驗的要求,如下:

ovs-ofctl add-flow s3 dl_src=00:00:00:00:00:01,dl_dst=00:00:00:00:00:02,actions=normal
ovs-ofctl add-flow s3 dl_src=00:00:00:00:00:01,dl_dst=00:00:00:00:00:03,actions=normal

ovs-ofctl add-flow s4 dl_src=00:00:00:00:00:02,dl_dst=00:00:00:00:00:01,actions=normal
ovs-ofctl add-flow s4 dl_src=00:00:00:00:00:03,dl_dst=00:00:00:00:00:01,actions=normal

ovs-ofctl add-flow s4 dl_src=00:00:00:00:00:03,dl_dst=00:00:00:00:00:02,actions=drop
ovs-ofctl add-flow s4 dl_src=00:00:00:00:00:02,dl_dst=00:00:00:00:00:03,actions=drop

這樣就可以實現左邊可以ping通右邊兩台主機,而右邊兩台主機不能相互ping通。

(3)在主機作為伺服器來執行,只需要開啟相對應的服務即可:(在右邊的兩台主機上面)

在ubuntu環境下開啟ssh服務:

1、首先安裝ssh服務安裝包:

sudo apt-get install openssh-server
2、安裝完後,檢視是否執行ssh服務程序:

ps -ef | grep ssh
3、如果沒有,則重新開啟ssh服務:

sudo /etc/init.d/ssh resart
(4)左邊的主機可以通過ssh address of ip來遠端登入右邊的伺服器了。

最後乙個實驗跟這個一樣,不同的是右邊為web伺服器:

在ubuntu環境下搭建web伺服器:

1、安裝apache2:

apache2的是作為乙個ubuntu的軟體包,因此我們可以直接用下面命令安它:

sudo apt-get install apache2
2、訪問web頁面:

瀏覽器到你應該看到apache2的測試頁:

apache2首頁

其中 apache的預設文件根目錄是在ubuntu上的/var/www目錄 ,配置檔案是/etc/apache2/apache2.conf。配置儲存在的子目錄在/etc/apache2目錄。

3、修改另一台主機的靜態頁面進行區分:

直接安裝php5和apache的php5的模組,如下:

sudo apt-get install php5 libapache2-mod-php5
安裝完需要重啟

/etc/init.d/apache2 restart
4、測試的php5並獲取php5安裝的詳細資訊:

vim /var/www/info.php
<?php 

phpinfo();

?>

現在可以用瀏覽器訪問例如檔案

這樣正好區別兩台不同頁面的web伺服器。

以上兩個實驗就此完成!

資料保護的邏輯隔離

dep 預設配置的目的在於保護您的計算機,並盡量減小對應用程式相容性的影響。但是某些程式也可能無法正確執行,視您的 dep 配置而定。您可以使用本文件中介紹的任務在計算機上配置 dep 曙光渲染計算雲是一種基於網路的渲染服務提供方式,讓使用者以web介面 全自主的完成各種渲染任務。從後台看,渲染雲需...

SDN網路的理解(三)

依舊還是乙個簡單的sdn網路環境 這時我們來解釋mininet預設的拓撲結構中為何兩台主機直接可以ping通?原因如下 雖然mininet中ovs處於secure模式下,無論是否開啟控制器,ovs都是純openflow交換機,這時如果關閉控制器,兩台主機是不能ping通的 並且交換機內沒有流表 如果...

實現安全組內網路隔離

安全組預設的網路連通策略是 同一安全組內的例項之間網路互通,不同安全組的例項之間缺省內網不通。這個策略滿足了絕大多數客戶的需求,但也有少數客戶希望能夠改變安全組網路連通策略,同乙個安全組內的網路是隔離的而不是互通的,這樣可以大大減少安全組的數量進而降低維護和管理安全組的成本。基於這些客戶的訴求,我們...